Files
op-packages/homeproxy-hiddify/wiki/Zapret-ru.md
T

13 KiB
Raw Blame History

🇬🇧 English | 🇷🇺 Русский

Zapret

Zapret 2 — второй, пакетный обход DPI, встроенный в Re:HomeProxy. Он снимает троттлинг и разблокирует сайты без какой-либо VPN-подписки, рассинхронизируя рукопожатие выбранных потоков прямо на сетевом уровне. Re:HomeProxy включает движок bol-van/zapret2 (nfqws2) и управляет им за вас.

Он дополняет ByeDPI: цель та же, уровень разный. См. ByeDPI или Zapret ниже.


Что это — и чем оно не является

Zapret запускает пакетный обработчик nfqws2. Выбранный трафик помечается в межсетевом экране и передаётся в NFQUEUE, где nfqws2 переписывает первые несколько пакетов каждого соединения (фейковые пакеты, разбиение, переупорядочивание, трюки с TCP-MD5/seq, манипуляции с TLS-record), чтобы система DPI провайдера больше не распознавала трафик — а значит, не могла его замедлять или блокировать.

Снимает троттлинг сайтов под DPI Типичный случай — YouTube, Discord и подобные сервисы, замедленные или заблокированные DPI.
Без подписки и сервера Локальный пакетный трюк — не нужен VPN-узел, аккаунт или удалённый сервер.
Работает на обоих ядрах Реализован как помеченный direct-outbound; одинаково работает на hiddify-core и sing-box-extended.
Обрабатывает TCP и UDP/QUIC В отличие от ByeDPI, путь через NFQUEUE рассинхронизирует и UDP-потоки (используется для голоса Discord).
Не шифрует и не скрывает трафик Провайдер по-прежнему видит, какие сайты вы посещаете; Zapret меняет только то, как выглядят первые пакеты. Это не VPN.
Не открывает сайты, заблокированные по IP Если сайт блокируется по IP/DNS (а не просто троттлится), достучаться до него может только настоящий прокси/VPN-узел.

Как это работает

Zapret подключён как цель маршрутизации, а не как SOCKS-узел:

  1. Генератор конфига добавляет direct-outbound с именем zapret-out, помеченный routing_mark (метка по умолчанию 110).
  2. Когда правило маршрутизации выбирает zapret-out, ядро выпускает поток напрямую, но с этой меткой.
  3. Цепочка nft (homeproxy_zapret_queue) ловит помеченные пакеты и отправляет первые 1–12 пакетов каждого TCP/UDP-соединения в NFQUEUE.
  4. nfqws2 читает очередь и рассинхронизирует рукопожатие, после чего соединение продолжается как обычно.

Поскольку это помеченный direct-outbound (а не туннель), при выключенном Zapret zapret-out автоматически откатывается к обычному direct-out, так что генерируемый конфиг всегда остаётся валидным. Правила-исключения для метки Zapret и для собственных переинжектированных пакетов nfqws2 (DESYNC_MARK) добавляются в межсетевой экран автоматически — править nft вручную не нужно.


Включение Zapret

  1. Откройте Сервисы → Re:HomeProxy → Настройки узлов и вкладку Zapret.
  2. Если nfqws2 ещё не установлен, нажмите Установить — Re:HomeProxy скачает подходящий пакет zapret2-openwrt для вашей архитектуры.
  3. Отметьте Включить, выберите пресет стратегии (см. ниже) и нажмите Сохранить и применить.

Этого достаточно. Аргументы --qnum / --user / --fwmark / --lua-init добавляются автоматически — вы редактируете только саму стратегию рассинхронизации.


Стратегии и пресеты

«Стратегия» — это набор опций nfqws2, применяемых к каждому потоку, направленному в Zapret. Списков хостов нет — правила маршрутизации уже решают, что сюда отправлять, поэтому стратегия определяет только то, как это рассинхронизировать. Как и с ByeDPI, универсально лучшей стратегии не существует — что работает, зависит от DPI вашего провайдера.

Выбор Пресет стратегии заполняет поле стратегии за вас и сгруппирован на два набора:

Группа Что это
Рекомендуемые Небольшой подобранный набор с понятными названиями (например, Default (fake + multidisorder), Multisplit, Fake only). Начните отсюда.
Полный пул тестирования Более крупный пул с техническими названиями, используемый полным тестером.

Пресеты поставляются только для чтения в /etc/homeproxy/zapret_candidates.json и основаны на bol-van/zapret2 (nfqws2/blockcheck2), часть адаптирована из flowseal/zapret-discord-youtube (MIT). Можно оставить пресет в режиме custom и ввести свою строку опций в поле Стратегия рассинхронизации.


Тестер стратегий

Поскольку нужная стратегия зависит от провайдера, на вкладке Zapret есть тестер, который не трогает ваш живой трафик — он поднимает временную NFQUEUE, ограниченную четырьмя тестовыми сайтами, и проверяет, завершается ли каждое TLS-рукопожатие:

  • Проверить текущую стратегию — запускает то, что в поле стратегии, против YouTube, Telegram, Discord и Speedtest.net, показывая каждый сайт как ✓ / ✗ со временем рукопожатия и счётчиком ok/total.
  • Полная проверка стратегий — перебирает весь пул пресетов и сообщает, какие кандидаты проходят, чтобы применить лучший.

Выберите стратегию, проходящую все четыре сайта. Если подходит несколько — предпочтите вариант из группы Рекомендуемые.


Голос Discord (по желанию)

Включение Zapret voice направляет UDP-диапазоны голосовых серверов Discord (и UDP-порты звонков/голоса) в zapret-out до обычных правил прокси/звонков, так что голос Discord рассинхронизируется через Zapret, а не проксируется. Диапазоны UDP-портов взяты из flowseal/zapret-discord-youtube. Опция учитывается только при включённом Zapret.


Маршрутизация трафика через Zapret

После включения Zapret становится доступной целью маршрутизации. Типичная схема повторяет ByeDPI:

  • Вместе с VPN-узлом (рекомендуется): в режиме proxy_banned_ru откройте RU Proxy Rules и задайте цель конкретного списка как Zapret — например, направьте YouTube и Discord через Zapret (без расхода трафика VPN), а всё остальное — через VPN.
  • По сервисам: поскольку Zapret выбирается в каждом правиле, его можно свободно смешивать с прокси и ByeDPI по разным спискам.

ByeDPI или Zapret

Оба обходят DPI без VPN; работают на разных уровнях, поэтому выбор зависит от вашего провайдера.

ByeDPI Zapret 2
Уровень Локальный SOCKS-прокси (ciadpi) Пакетный обработчик NFQUEUE в ядре (nfqws2)
Отображается как Выбирается в правилах маршрутизации («ByeDPI») Выбирается в правилах маршрутизации («Zapret»)
TCP
UDP / QUIC Переносится, но не рассинхронизируется рассинхронизируется (используется для голоса Discord)
DNS Принудительно резолвится напрямую в обход ByeDPI (через него рассинхрон ломает DoH/DoT) Не в пути DNS — Zapret трогает только потоки, направленные на него
Когда пробовать Троттлинг YouTube, простой обход по сайтам Если ByeDPI не справляется с вашим DPI или нужен рассинхрон UDP/голоса

Ничто не мешает установить оба и прогнать тестер на каждом — оставьте тот, что даёт «всё зелёное» в вашей сети.


Устранение неполадок

Симптом Вероятная причина / решение
Сайт по-прежнему медленно грузится или не открывается Стратегия не подходит вашему провайдеру — запустите Полную проверку стратегий и примените проходящую.
Тестер показывает, что всё падает Возможно, nfqws2 не установлен/не запущен — проверьте вкладку Zapret и страницу Диагностики (она показывает статус установки / запуска / очереди).
Голос Discord по-прежнему рвётся Включите Zapret voice и протестируйте заново.
Сайт недоступен, а не просто медленный Возможно, он заблокирован по IP, а не троттлится — Zapret тут не поможет; направьте его через прокси/VPN-узел.

См. также: ByeDPI · Управление ядром · Поддерживаемые протоколы · Устранение неполадок