todo/Zapret2/profile.md
loop-uh 0ad0bcc8dd
Some checks failed
Published content check / validate (push) Failing after 5s
seo+зеркало: [!mirror]-плашка со ссылкой на вики и description во frontmatter всех заметок
Каждая публикуемая заметка получила callout-шапку со ссылкой на свою страницу
wiki.zapret.moe (на самой вики она вырезается транформером RemoveMirrorCallout,
видна только на зеркале Obsidian Publish и в Forgejo) и SEO-поле description —
1–2 предложения для meta description обоих сайтов.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-08-26 22:05:57 +03:00

34 KiB
Raw Permalink Blame History

date tags aliases description
2026-06-16
zapret
zapret2
gui
preset
profile
troubleshooting
Профиль
Профиль пресета
Профиль Zapret 2
Что такое профиль
Профили пресета
Мультипрофиль
Запрет не работает
Перепробовал все пресеты
YouTube не работает 2026
Какая стратегия самая рабочая
Что такое профиль в Zapret 2: чем отличается от пресета, из каких фильтров и стратегий состоит, порядок профилей и почему «не работает» — симптом.

[!mirror] Резервное зеркало Актуальная версия этой страницы — на основной вики: wiki.zapret.moe/Zapret2/profile

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

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

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

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

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

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

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

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

TL;DR

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

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

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

Формально:

Понятие Что это Пример
Пресет (preset) Один .txt-файл = общая шапка + набор профилей Default v1 (game filter)
Профиль Один блок внутри пресета, отделённый --new youtube.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
...

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

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

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

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

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

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

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

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

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

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

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

Каждый профиль — это несколько строк-флагов до следующего --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,443 filter
--filter-l7 Сузить по протоколу приложения: http, tls, quic, wireguard, discord, stun, mtproto — (не задан) filter
--hostlist / --ipset / --ipset-exclude По каким доменам (по SNI/Host) или диапазонам IP срабатывать — либо какие исключить домены из lists/youtube.txt hostlist · ipset
--out-range На каких по счёту исходящих пакетах работать. d — пакеты с данными, n — все пакеты; -d8 = с начала по 8-й пакет с данными -d8 out-range
--payload На какой тип содержимого реагировать: tls_client_hello, http_req, quic_initial, all… По умолчанию known tls_client_hello payload
--lua-desync Сама стратегия обхода (дурение). Можно несколько строк подряд — выполняются по очереди hostfakesplit:... desync

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

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

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

Несколько --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.

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

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

  • exclusions (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 — глобальные фильтры wf: какой трафик вообще попадёт в движок. Это «крупное сито» до профилей; не путать с фильтрами внутри профиля.

Где найти профили в 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 (ничего не делает);
  • статус Не добавлен (серая точка) — профиль есть в списке, но в активный пресет не включён.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

📚 См. также

  • preset — что такое пресет, его структура и почему «готовый пресет» не всегда панацея
  • exclusions — профиль 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 (шапка пресета)
  • zapret_not_working — практический чек-лист, когда «не работает» (провайдер, антивирус, DNS, тип блокировки)
  • guide · Как пользоваться Zapret — как включить «Прямой запуск» и настраивать профили
  • Создание своей категории — как собрать адреса ресурса для своего профиля
  • changelog-21.0.0-dev-june-2026 — пользовательские профили в settings.json, редактор списков