🧩 Что такое профиль в Zapret 2

О чём заметка

Объясняет с нуля, что такое профиль в Zapret 2, почему пресет — это лишь «коробка», а вся реальная работа по обходу идёт через профили, и из каких полей профиль состоит. Подробные справочники по каждому полю — в соседних заметках: filter, out-range, payload, desync, blob. Как перейти к ручной настройке профилей — гайд на настройку и Как пользоваться Zapret.

Что эта заметка НЕ объясняет (и почему)

Заметка намеренно держится одной темы — что такое профиль и что с ним можно делать. Логику отдельных флагов она в деталях не раскрывает: что именно делает --lua-desync, как устроены --payload, --out-range, фильтры или блобы — у каждого своя атомарная заметка (часть уже создана, часть появится позже). Здесь они упоминаются лишь в той мере, в какой нужно понять профиль; за полным разбором идите по ссылкам рядом по тексту и в разделе «См. также». Это следование принципу атомарности: одна заметка — один вопрос.

Введение: что вообще происходит, когда работает Zapret 2

Чтобы понять, что такое профиль, сначала нужна общая картина. Будет понятно даже без сетевого опыта.

  1. Когда вы открываете сайт, ваш компьютер шлёт в интернет пакеты — маленькие порции данных. Среди первых пакетов есть тот, где открытым текстом видно, на какой сайт вы идёте (в TLS это поле называется SNI — Server Name Indication, имя сервера внутри запроса).
  2. У провайдера стоит DPI (ТСПУ) (Deep Packet Inspection — система глубокого анализа трафика). Она читает этот пакет, видит запрещённое имя (например youtube.com) и рвёт соединение: либо роняет пакет, либо подменяет ответ.
  3. Программа Zapret 2 (её ядро — winws2.exe) перехватывает ваши исходящие пакеты до того, как они уйдут провайдеру, и слегка их «портит» по специальной методике — так, чтобы DPI не смог прочитать запрещённое имя, а настоящий сервер — смог. Эти методики называют стратегиями обхода или «дурением» (desync).

На пальцах

DPI (ТСПУ) — это вахтёр, который читает адрес на каждом конверте и не пропускает письма на «чёрные» адреса. Zapret 2 — хитрый отправитель: он рвёт письмо на части, шлёт их вперемешку или подкладывает пустышку-обманку. Вахтёр не может собрать адрес и пропускает, а почта на том конце складывает части правильно и доставляет. Разные сайты блокируют по-разному, поэтому и приёмы нужны разные — отсюда и появляются профили.

Вся эта настройка — «какой трафик ловить и как именно его портить» — записана в текстовом файле. Этот файл и есть пресет, а отдельные правила внутри него — профили.

TL;DR

  • Пресет — это весь файл стратегии целиком (например Default v1 (game filter)): готовый набор правил сразу на все ресурсы. Это основа, «коробка с настройками».
  • Профиль — один блок внутри пресета, отделённый строкой --new. Он отвечает за одну категорию трафика: YouTube-интерфейс, Discord voice, Telegram, Cloudflare и т.д.
  • Формула профиля: «для какого трафика (фильтр) применить какой обход (desync)».
  • Реальная работа идёт именно через профили. Пресет лишь хранит их по порядку; портит трафик и определяет успех — каждый профиль по отдельности. Поэтому тонкая настройка = настройка профилей (это и называют «прямым запуском»).
  • Порядок профилей важен: движок идёт по ним сверху вниз. В GUI порядок меняет кнопка «Порядок в пресете».
  • В GUI каждая строка вкладки «Профили пресета» — это один профиль; справа показано имя его стратегии (Split Position, hostfakesplit_multi, pass (ничего не делает) и т.д.).

Пресет и профиль — в чём разница

Аналогия с аптечкой

Пресет — это аптечка целиком: готовый набор «лекарств» на все случаи. Профиль — одно лекарство от одной болезни: «для трафика YouTube — вот такое дурение, для Discord — другое». В одной аптечке-пресете лежит несколько десятков таких лекарств-профилей.

Формально:

ПонятиеЧто этоПример
Пресет (preset)Один .txt-файл = общая шапка + набор профилейDefault v1 (game filter)
ПрофильОдин блок внутри пресета, отделённый --newyoutube.com (интерфейс), Telegram, Cloudflare UDP

Пресет в файле выглядит как длинная «простыня», где блоки-профили идут друг за другом и разделяются строкой --new:

( шапка пресета: --lua-init, --blob, --wf-tcp-out … )

--name=Исключения (RU сайты)      ← профиль 1
--filter-tcp=80,443-65535
--ipset=lists/ipset-ru.txt
--lua-desync=pass
--new                             ← разделитель
--name=youtube.com (интерфейс)    ← профиль 2
--filter-tcp=80,443
--hostlist=lists/youtube.txt
--lua-desync=hostfakesplit:...
--new                             ← разделитель
--name=Telegram                   ← профиль 3
...

Почему пресет — это только основа, а настраивать надо профили

Это ключевая мысль. Пресет сам по себе ничего не «решает» — он лишь контейнер, который хранит профили по порядку и общую шапку. Всю фактическую работу делает движок, прогоняя трафик через профили по одному: для каждого перехваченного пакета он ищет первый профиль, чьи фильтры подходят, и применяет его стратегию. Успех или провал обхода конкретного сайта зависит от настроек его профиля, а не от пресета «в целом».

Почему «просто скачать пресет» часто не хватает

В готовом пресете стратегии жёстко прописаны под каждый фильтр и хостлист. Из-за этого типична ситуация: на пресете №1 открывается YouTube, но не грузится Discord; на пресете №2 — наоборот. Причина в том, что у вашего провайдера DPI настроен по-своему, и «средняя» стратегия из чужого пресета попадает не во все профили. Решение — не перебирать пресеты бесконечно, а подобрать стратегию для каждой проблемной категории/профиля отдельно. (Подробнее — callout «Почему пресеты плохи?» в preset.)

Именно этот режим тонкой настройки в Zapret 2 называют «прямым запуском» (по крайней мере он так назывался раньше - сейчас мы пытается от этого названия избавиться. ведь это не какой-то особый режим Запрета и по факту название вводит в заблуждение): вы берёте наиболее удачный из готовых пресетов как отправную точку, а затем правите стратегии у отдельных профилей под свои нужды — и можете создавать собственные категории. Как включить его — Настройки → Прямой запуск (см. Как пользоваться Zapret и guide).

Вывод

Пресет = с чего начать. Профиль = что реально настраивать, когда «почти всё работает, кроме одного-двух сайтов». Учиться менять стратегию у одного профиля полезнее, чем вслепую перебирать десятки готовых пресетов.

Что делать на практике: копать внутрь, к стратегиям

Раз готовый пресет не помог целиком — нужно копать глубже. Пресет — это лишь верхушка айсберга: под ним скрыто множество профилей, а каждый профиль, в свою очередь, состоит из нескольких частей — фильтров (порты, протокол), хостлистов, ипсетов, диапазона пакетов и самой стратегии обхода.

Айсберг

Над водой — название пресета (Default v1), которое все видят и которое перебирают. Под водой — десятки профилей, а внутри каждого ещё несколько «слоёв»: что ловить (фильтр), у каких доменов (хостлист/ипсет), в каких пакетах (--out-range/--payload) и как портить (--lua-desync). Перебор пресетов — это попытки сменить только верхушку, не трогая то, что под водой.

Хорошая новость: почти всё под водой уже настроено за вас. Фильтры, хостлисты и ипсеты для популярных ресурсов (YouTube, Discord, Telegram, Cloudflare и т.д.) разработчики и сообщество уже собрали и поддерживают — лезть в них новичку обычно не нужно. Меняется от провайдера к провайдеру по сути одно: какой метод десинхронизации (стратегия дурения) обманет именно ваш DPI.

Главный практический приём

В большинстве случаев достаточно перебирать не пресеты, а стратегии (--lua-desync) внутри проблемного профиля. Открываете «Прямой запуск», находите профиль нужного сайта и по очереди пробуете разные методы десинхронизации (fake, split, disorder, hostfakesplit и др.), пока ресурс не заработает. Фильтры/хостлисты/ипсеты при этом, как правило, оставляете как есть.

Анатомия одного профиля

Каждый профиль — это несколько строк-флагов до следующего --new. Флаги делятся на две роли: фильтры («какой трафик ловить») и desync («как его портить»). Разберём реальный блок из пресета Default v1 (game filter):

--name=youtube.com (интерфейс)
--filter-tcp=80,443
--hostlist=lists/youtube.txt
--out-range=-d8
--payload=tls_client_hello
--lua-desync=hostfakesplit:host=ozon.ru:tcp_ts=-1000:tcp_md5:repeats=4

Читается так: «профиль youtube.com (интерфейс) ловит TCP-трафик на портах 80 и 443, только к доменам из youtube.txt, только в первых 8 пакетах с данными, только тип TLS ClientHello — и применяет к нему стратегию hostfakesplit».

ПолеПростыми словамиВ примереПодробнее
--nameИмя профиля — только метка в GUI, на трафик не влияетyoutube.com (интерфейс)
--filter-tcp / --filter-udpНа какие порты и транспорт реагировать. Если задан только TCP — UDP в этом профиле игнорируется (и наоборот)TCP 80,443filter
--filter-l7Сузить по протоколу приложения: http, tls, quic, wireguard, discord, stun, mtproto— (не задан)filter
--hostlist / --ipset / --ipset-excludeПо каким доменам (по SNI/Host) или диапазонам IP срабатывать — либо какие исключитьдомены из lists/youtube.txthostlist · ipset
--out-rangeНа каких по счёту исходящих пакетах работать. d — пакеты с данными, n — все пакеты; -d8 = с начала по 8-й пакет с данными-d8out-range
--payloadНа какой тип содержимого реагировать: tls_client_hello, http_req, quic_initial, all… По умолчанию knowntls_client_hellopayload
--lua-desyncСама стратегия обхода (дурение). Можно несколько строк подряд — выполняются по очередиhostfakesplit:...desync

Фильтры складываются по «И» (AND)

Все фильтры профиля действуют одновременно: трафик должен подойти под порт И протокол И хостлист/ipset И диапазон пакетов И тип payload. Не подошёл хоть один — профиль пропускается, движок проверяет следующий. Поэтому слишком узкие фильтры — частая причина «стратегия вроде есть, а не срабатывает».

Профиль-исключение: --lua-desync=pass

pass означает «ничего не делать» — пропустить трафик без вмешательства. Так оформляют исключения. Например, первый профиль пресета — Исключения (RU сайты) с --lua-desync=pass — намеренно не трогает российские сайты, чтобы случайным «дурением» не сломать им соединение. Поскольку он стоит первым, российский трафик отрабатывается им и до «портящих» профилей ниже уже не доходит. Полный разбор исключений — почему глобальной «строчки Исключения» в Zapret 2 нет, чем pass-профиль отличается от exclude-списков и какие с ними подводные камни — в отдельной заметке об исключениях.

Несколько --lua-desync в одном профиле

Стратегии можно складывать стопкой — движок применит их по очереди к подходящему пакету:

--lua-desync=send:repeats=2
--lua-desync=syndata:blob=stun_pat
--lua-desync=tls_multisplit_sni:seqovl=652:seqovl_pattern=tls_google

Такие «комбо» видны во многих профилях примера (Cloudflare, WhatsApp, GitHub, Fandom). Что делает каждая стратегия — в desync.

Порядок профилей важен

Движок идёт по профилям сверху вниз и для каждого пакета берёт первый подходящий. Из этого два практических следствия:

  • Исключения (pass для своих/российских сайтов) ставят в начало, иначе нижний «портящий» профиль перехватит их раньше.
  • Если два профиля ловят пересекающийся трафик (например, оба по порту 443 без узкого хостлиста), сработает тот, что выше. В GUI порядок меняет кнопка «Порядок в пресете».

Шапка пресета (общая часть — не относится к профилю)

Над всеми профилями идёт общая секция, действующая на весь пресет сразу:

# Preset: Default v1 (game filter)   ← метаданные для GUI: имя
# BuiltinVersion: 2.19               ← версия встроенного пресета
# IconColor: #a8c5ff                 ← цвет иконки

--lua-init=@lua/...        ; подключение Lua-библиотек со стратегиями (без них дурение не работает)
--ctrack-disable=0         ; отслеживание соединений (conntrack) включено
--ipcache-lifetime=8400    ; время жизни кэша IP, сек
--wf-tcp-out=80,443,...    ; какой TCP-трафик вообще перехватывать (глобальный фильтр WinDivert)
--wf-udp-out=443-65535
--blob=tls_google:@bin/... ; именованные «заготовки» пакетов (fake ClientHello, QUIC, STUN…)
  • --lua-init загружает библиотеки со стратегиями (fake, multisplit, multidisorder и др.) — без них профильные --lua-desync не на чем строить.
  • --blob объявляет именованные бинарные заготовки (fake_tls, quic_google, stun_pat…), на которые ссылаются десинки профилей через blob=имя (подробнее — blob).
  • --wf-tcp-out / --wf-udp-out — глобальные фильтры WinDivert: какой трафик вообще попадёт в движок. Это «крупное сито» до профилей; не путать с фильтрами внутри профиля.

Где найти профили в GUI и как их читать

Профили живут в левом меню Zapret 2: раздел «Настройки Запрета» → «Профили пресета». Откроется экран «Настройка пресета: …» со списком всех профилей активного пресета:

На вкладке «Профили пресета» профили сгруппированы по категориям (YouTube 4, Discord 6, Мессенджеры 4, Соцсети 5 — число = сколько профилей в группе). Сверху — чипсы-фильтры: Все / TCP / UDP / Discord / Voice / Games, рядом — поиск профиля по имени.

В каждой строке:

  • слева — иконка ресурса и имя профиля (--name), тип (TCP/UDP/Voice) и порты;
  • бейдж Hostlist или IPset — по чему профиль отбирает трафик (--hostlist или --ipset);
  • справа — имя применяемой стратегии: Split Position, alt v9, fake_2_n2, hostfakesplit_multi, MultiDisorder Complex, TLS MultiSplit SNI seqovl 652, pass (ничего не делает);
  • статус Не добавлен (серая точка) — профиль есть в списке, но в активный пресет не включён.

Кнопки на этой вкладке

«Что это такое?» — встроенная подсказка от разработчиков прямо в GUI. «Порядок в пресете» — управляет очерёдностью профилей (а она влияет на то, какой профиль сработает первым для пересекающегося трафика). + — добавить новый профиль.

Профиль, категория, хостлист — кто есть кто

Новичку легко спутать три близких понятия:

  • Хостлист (hostlist) и ipset (ipset) — это просто файлы со списками: доменов и IP-адресов.
  • Категория (см. Создание своей категории) — пользовательский набор адресов конкретного ресурса (игры, сайта), который вы собираете и кладёте в такой файл.
  • Профильсвязывает всё воедино: берёт список (категорию) + фильтр портов + стратегию обхода и говорит движку, что именно делать с этим трафиком.

Разбор частых вопросов: почему «не работает» — это симптом, а не причина

После каждого обновления возвращаются одни и те же запросы: «у меня не работает Запрет», «Запрет перестал работать после обновления», «перепробовал все пресеты — YouTube не заработал», «YouTube не работает 2026», «Discord не работает, Запрет не помогает», «какая стратегия самая рабочая?». Почти все они сформулированы неверно — описывают симптом, а не причину. Понимание устройства профилей объясняет, почему.

Главное: программа не может «перестать работать»

Zapret 2 — это манипулятор трафика: ядро winws2.exe лишь правит ваши исходящие пакеты по записанным в профилях правилам. У такого инструмента нет состояния «сломаться» само по себе — он либо запущен и применяет профили, либо нет. Если сайт перестал открываться, изменилась не программа, а обстановка вокруг неё: чаще всего провайдер обновил DPI (ТСПУ), и прежняя стратегия конкретного профиля стала «видимой». То есть «не работает Запрет» почти всегда значит «устарела стратегия одного-двух профилей под мой DPI», а не «сломалось приложение».

«Перепробовал все пресеты, YouTube/Discord не заработал»

Перебор готовых пресетов целиком — это перебор больших наборов захардкоженных стратегий вслепую. Если ни один не подошёл полностью, это не значит, что «ничего не работает»: скорее всего, для вашего DPI нужна стратегия, которой нет ни в одном готовом профиле. Правильный следующий шаг — не пятидесятый пресет, а «Прямой запуск» и подбор стратегии (--lua-desync) у конкретного проблемного профиля. Почему перебор пресетов — тупиковый путь, подробно разобрано выше в разделе «Почему пресет — это только основа».

«YouTube не работает 2026 / Discord не открывается — это Запрет сломался?»

Нет. Блокировки и системы ТСПУ постоянно меняются, и то, что работало вчера, провайдер мог «научиться» видеть сегодня. Сам набор техник дурения в программе стабилен от версии к версии. Поэтому реакция «переустановить / ждать фикс программы» обычно не нужна — нужна донастройка профиля под новую обстановку (или, если блокировка ужесточилась до уровня IP/троттлинга, уже другой инструмент — VPN/прокси).

«Какая стратегия самая рабочая?»

Универсальной нет. Результат зависит от вашего провайдера, региона, версии ТСПУ, локальных конфликтов (антивирус, другой VPN, DNS). Одна и та же стратегия даёт разный результат даже у соседей по городу. Поэтому «самая рабочая стратегия» — это не чужой рецепт, а та, что вы подобрали под свой профиль. Полный разбор причин «региональной лотереи» — в Что делать, если Запрет не работает.

«У меня не грузится один сайт, а остальное работает»

Это самый показательный случай: программа очевидно работает (остальное-то открывается), «сломан» лишь один профиль. Включите «Прямой запуск», найдите профиль этого сайта (или категорию, в которую он попадает), поменяйте у него стратегию (--lua-desync) или добавьте домен в его хостлист. Менять весь пресет не нужно.

«Можно ли просто скачать чужой пресет, и всё заработает?»

Иногда да, но не гарантированно — DPI у разных провайдеров отличается. Чужой пресет (например с ZapretHub) — хорошая отправная точка, но дальше обычно нужна донастройка отдельных профилей под вашу сеть.

Куда идти дальше

Практический чек-лист действий, когда «не работает» (проверить версию, конфликты с антивирусом/VPN/DNS, тип блокировки, BlockCheck) — в Что делать, если Запрет не работает. Что именно крутить внутри пресета — выше в этой заметке (разделы «Анатомия профиля» и «Прямой запуск»).

Ключевые слова по теме

запрет не работает · zapret не работает 2026 · ютуб не работает 2026 · youtube не открывается запрет · discord не работает запрет · перепробовал все пресеты · какая стратегия самая рабочая для zapret · запрет перестал работать после обновления · zapret youtube discord не помогает · как настроить профиль zapret 2 · прямой запуск zapret.

📚 См. также

  • preset — что такое пресет, его структура и почему «готовый пресет» не всегда панацея
  • Исключения — профиль pass и exclude-списки: почему «строчки Исключения» нет и как исключать сайты правильно
  • filter — все типы фильтров профиля (--filter-tcp/udp/l7/l3, --ipset, --hostlist)
  • out-range — счётчики пакетов (n/d/s/b) для --out-range
  • payload — типы содержимого пакетов для --payload
  • desync — стратегии обхода (--lua-desync): fake, split, disorder и др.
  • blob — именованные заготовки пакетов
  • wf — глобальные фильтры WinDivert (шапка пресета)
  • Что делать, если Запрет не работает — практический чек-лист, когда «не работает» (провайдер, антивирус, DNS, тип блокировки)
  • guide · Как пользоваться Zapret — как включить «Прямой запуск» и настраивать профили
  • Создание своей категории — как собрать адреса ресурса для своего профиля
  • Changelog 21.0.0 — пользовательские профили в settings.json, редактор списков