# 🧩 Что такое профиль в [[Zapret2|Zapret 2]]
> [!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|Zapret 2]]
Чтобы понять, что такое профиль, сначала нужна общая картина. Будет понятно даже без сетевого опыта.
1. Когда вы открываете сайт, ваш компьютер шлёт в интернет **пакеты** — маленькие порции данных. Среди первых пакетов есть тот, где открытым текстом видно, **на какой сайт** вы идёте (в TLS это поле называется **SNI** — Server Name Indication, имя сервера внутри запроса).
2. У провайдера стоит **DPI (ТСПУ)** (Deep Packet Inspection — система глубокого анализа трафика). Она читает этот пакет, видит запрещённое имя (например `youtube.com`) и **рвёт соединение**: либо роняет пакет, либо подменяет ответ.
3. Программа **[[Zapret2|Zapret 2]]** (её ядро — `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|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,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 сайты)` с `--lua-desync=pass` — намеренно не трогает российские сайты, чтобы случайным «дурением» не сломать им соединение. Поскольку он стоит **первым**, российский трафик отрабатывается им и до «портящих» профилей ниже уже не доходит.
### Несколько `--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` — глобальные фильтры [[wf|WinDivert]]: какой трафик вообще попадёт в движок. Это «крупное сито» **до** профилей; не путать с фильтрами внутри профиля.
## Где найти профили в GUI и как их читать
Профили живут в левом меню Zapret 2: раздел **«Настройки Запрета» → «Профили пресета»**. Откроется экран «Настройка пресета: …» со списком всех профилей активного пресета:
![[profili-preseta-gui.png]]
На вкладке **«Профили пресета»** профили сгруппированы по категориям (`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]] — что такое пресет, его структура и почему «готовый пресет» не всегда панацея
- [[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|Changelog 21.0.0]] — пользовательские профили в `settings.json`, редактор списков
<iframe
src="https://youtubediscord.github.io/todo?u=https%3A%2F%2Fpublish.obsidian.md%2Fzapret%2Fsandbox&t=sandbox&i=sandbox"
title="Комментарии"
style="width:100%;min-height:560px;border:0"
loading="lazy">
</iframe>