13 KiB
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-узел:
- Генератор конфига добавляет direct-outbound с именем
zapret-out, помеченныйrouting_mark(метка по умолчанию110). - Когда правило маршрутизации выбирает
zapret-out, ядро выпускает поток напрямую, но с этой меткой. - Цепочка nft (
homeproxy_zapret_queue) ловит помеченные пакеты и отправляет первые 1–12 пакетов каждого TCP/UDP-соединения в NFQUEUE. nfqws2читает очередь и рассинхронизирует рукопожатие, после чего соединение продолжается как обычно.
Поскольку это помеченный direct-outbound (а не туннель), при выключенном Zapret zapret-out автоматически откатывается к обычному direct-out, так что генерируемый конфиг всегда остаётся валидным. Правила-исключения для метки Zapret и для собственных переинжектированных пакетов nfqws2 (DESYNC_MARK) добавляются в межсетевой экран автоматически — править nft вручную не нужно.
Включение Zapret
- Откройте Сервисы → Re:HomeProxy → Настройки узлов и вкладку Zapret.
- Если
nfqws2ещё не установлен, нажмите Установить — Re:HomeProxy скачает подходящий пакет zapret2-openwrt для вашей архитектуры. - Отметьте Включить, выберите пресет стратегии (см. ниже) и нажмите Сохранить и применить.
Этого достаточно. Аргументы --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 · Управление ядром · Поддерживаемые протоколы · Устранение неполадок