Zapret Manager
Одна панель для обхода блокировок на роутере OpenWrt — Zapret, Steer, Forkozz, ByeTube, Mixomo, TG WS Proxy, AmneziaWG, DoH, блокировка рекламы и hosts в одном месте.
StressKVN — умный VPN для стабильного доступа в любых условиях
- ✅ Работает даже при жёсткой фильтрации и белых списках
- 🌍 Умная маршрутизация: зарубежные ресурсы идут через VPN, российские — напрямую
- 📶 Подходит для роутеров на OpenWrt: настраивается один раз и работает для всех устройств в сети
- 🧩 Подключается в Zapret Manager
- ▶️ YouTube без рекламы
- ⚡ Высокая скорость и безлимитный трафик
- 🎁 Бесплатный тест на 3 дня
👉 Подробнее: StressKVN на GitHub
Для Windows - используйте: https://github.com/StressOzz/ZapretOzz
|
|
|
📖 Содержание
- О проекте
- Установка
- Два интерфейса: LuCI и Web UI
- Разбор разделов
- Совместимость компонентов
- Как это устроено
- Частые проблемы
- Удаление
- Благодарности
⚡ О проекте
Zapret Manager — это приложение для LuCI и отдельный веб-интерфейс, которые превращают роутер на OpenWrt в «комбайн» обхода блокировок. Вместо десятка разрозненных скриптов, пакетов и конфигов — одна панель, где каждый инструмент ставится, настраивается, проверяется и удаляется в пару кликов.
Панель умеет:
- 🛡️ обходить DPI локально — без внешних серверов: Zapret (nfqws), Zapret2, ByeDPI (ByeTube);
- 🔀 пускать выбранные сервисы через туннель — бесплатный Cloudflare WARP, свой VPN по подписке или свой сервер (Steer, Forkozz, Mixomo);
- ✈️ ускорять Telegram — четыре вида TG WS Proxy;
- 🔐 шифровать DNS для всей сети — DNS over HTTPS;
- 🚫 блокировать рекламу и трекеры на всех устройствах — списки HaGeZi прямо в dnsmasq, без отдельных программ на телефонах и ПК;
- 🧰 обслуживать роутер — системный отчёт, время и часовой пояс, зеркала пакетов, Flow Offloading fix, командная строка в браузере и многое другое.
Всё, что панель скачивает, берётся из официальных источников — GitHub проектов-авторов и репозиториев OpenWrt. Долгие операции идут в фоне на самом роутере: вкладку можно закрыть, а ход работы виден в окне вывода, когда вы вернётесь.
💻 Установка
Подключитесь к роутеру по SSH и выполните:
sh <(wget -qO - https://raw.githubusercontent.com/StressOzz/Zapret-Manager/refs/heads/main/ZapretManager_LuCI.sh)
Установщик:
- Останавливает прошлую версию панели (если в ней шла операция — попросит дождаться её окончания).
- Копирует бэкенд, rpcd-плагин, ACL, пункт меню LuCI и страницы.
- Ставит
curl,unzipиuhttpd-mod-ubus(нужен для Web UI), если их нет. - Поднимает отдельный экземпляр
uhttpdна порту 7788 для Web UI. - Добавляет сторожа в cron и команду
zmsдля консольной версии Zapret Manager.
В конце в консоли будет адрес Web UI, например http://192.168.1.1:7788
Important
для работы некоторых стратегий, в терминале Windows необходимо один раз выполнить:
netsh int tcp set global timestamps=enabledдля пользователей Linux:
sysctl -w net.ipv4.tcp_timestamps=1
Note
Обновление. Панель сама проверяет новую версию и показывает баннер на дашборде. Кнопка «Обновить панель» скачивает установщик, проверяет его целостность (заголовок, номер версии, синтаксис
sh -n) и только потом ставит. Настройки всех компонентов при обновлении сохраняются.
Tip
Консольная версия: команда
zmsзапускает Zapret-Manager.sh прямо в терминале.
Note
Если Вам нужна версия, только для SSH - readme_ssh.md
sh <(wget -qO - 'https://raw.githubusercontent.com/StressOzz/Zapret-Manager/main/Zapret-Manager.sh')
Требования
| Что | Зачем |
|---|---|
| OpenWrt с firewall4 / nftables | на этом построены все правила обхода |
| opkg (24.10 и старше) или apk (25.12 и новее) | панель работает с обоими менеджерами |
| ~15 МБ свободного флеша | для Forkozz + sing-box; расширенный sing-box — ~40 МБ |
| ~60 МБ свободной ОЗУ | для блокировки рекламы: список хранится в памяти dnsmasq |
| aarch64_cortex-a53 | только для Zapret2 |
| OpenWrt 24.10+ | для Forkozz и ByeTube (hev-socks5-tunnel в фидах) |
ip-full |
для ByeTube (fwmark с маской) |
🖥️ Два интерфейса: LuCI и Web UI
LuCI
Пункт меню Службы → Zapret Manager, 14 страниц: Дашборд, Zapret, Zapret2, Steer, Forkozz, Hosts, Блокировка рекламы, DNS over HTTPS, AmneziaWG, Терминал, TG WS Proxy, Mixomo, ByeTube, Система. Работает как обычное приложение LuCI.
Web UI на порту 7788
Самостоятельная панель, которая не требует открывать LuCI:
- 🔑 вход по логину и паролю LuCI (через
session.loginubus), с флажком «Запомнить на этом устройстве»; - 🎨 8 тем оформления: Светлая, Лёгкая, Тёмная, Контур, Бенто, Минимал, Ретро 98, Объём 3D. Выбранная тема сохраняется на роутере (
/www/zm/theme.txt) и подхватывается на любом устройстве; - 📱 адаптивная вёрстка: на телефоне меню выезжает сбоку;
- 🟢 цветные точки у разделов в меню: зелёная — работает, жёлтая — частично, красная — не работает;
- 📊 в боковой панели — модель роутера, версия OpenWrt, температура и нагрузка ЦП, ОЗУ, флеш;
- 🔒 сервер слушает только локальную сеть (
rfc1918_filter), а при истечении сессии панель сама попросит войти снова.
Страницы LuCI и Web UI — один и тот же код: Web UI загружает те же модули и подменяет только «обвязку» LuCI. Что умеет одна, то умеет и другая.
🧩 Разбор разделов
📊 Дашборд
Сводка всего, что стоит на роутере.
- Компоненты — статус каждого инструмента: Zapret, Zapret2, Steer (и через что идут сервисы — WARP, свой WARP или VPN), Forkozz, ByeTube, TG WS Proxy, Mixomo, DoH, AmneziaWG (сколько туннелей работает), домены в hosts, блокировка рекламы, терминал.
- Система — модель, архитектура, платформа, версия OpenWrt, время работы, наличие интернета с задержкой (пинг
ya.ru/vk.ru), шкалы температуры и нагрузки ЦП, ОЗУ, флеша и/tmp— обновляются каждые 5 секунд. - Версии — установленная и последняя версия каждого пакета: Zapret Manager, Zapret, Mihomo, MagiTrickle, hev-socks5-tunnel, TG WS Proxy, sTGWS, ядро steer, Forkozz, sing-box, Zapret2, ByeDPI, AmneziaWG, https-dns-proxy.
- Подсказки-баннеры: «Включён Flow Offloading, а FIX не применён», «Роутер работает по IPv6, а в Zapret IPv6 выключен» — с кнопкой «Применить»; «Желательно перезагрузить роутер» — после удаления компонентов.
🛡️ Zapret
Локальный обход DPI на базе zapret-openwrt. Самый большой раздел — 7 вкладок.
Установка и управление
- Установить и настроить — скачивает последний релиз
zapret-openwrtпод архитектуру роутера (до 5 попыток, проверка архива черезunzip -t), ставит пакеты, загружает список исключений и дополнительные fake-файлы, затем применяет базовую стратегию v7, игровую Gv1 и полезные блоки в hosts. - Обновить до … — появляется, если на GitHub вышла новая версия.
- Запустить / Остановить / Удалить — удаление полное: пакеты,
/opt/zapret, конфиг, init-скрипты, задания cron, таблица nftables. - Если версия на GitHub не определилась, ставится проверенная фиксированная.
Стратегии
- v1 – v10 — десять встроенных стратегий (split2, multisplit, hostfakesplit, fake с разным fooling и паттернами).
- Flowseal — стратегии из zapret-discord-youtube: панель скачивает архив, разбирает
.bat-файлы и переводит их пути и плейсхолдеры (%BIN%,%LISTS%,%GameFilter%) в формат OpenWrt. - При смене стратегии сохраняются YouTube-, Discord- и игровая части, QUIC для YouTube и дополнения.
- Дополнения к стратегии:
- Обход по спискам РКН — основной профиль работает только для сайтов из списка zapret4rocket и вашего списка хостов, а не «всё, кроме исключений». Помогает, если стратегия мешает обычным сайтам.
- Блок
--wssize 1:6— отдельный профиль, уменьшающий окно TCP в начале HTTPS-соединения.
- Редактор текущей стратегии — ручная правка блока
NFQWS_OPTс проверкой (без одинарных кавычек, хотя бы один параметр--…). - «Не изменять стратегию» (
#nochange) — панель больше не трогает стратегию: ни выбор стратегий, ни YouTube/Discord/игры, ни тест, ни переустановка Zapret.
Тест стратегий и автоподбор
Тест идёт в фоне, после него настройки Zapret возвращаются как были.
| Режим | Что делает |
|---|---|
| Текущая стратегия | проверяет то, что стоит сейчас, ничего не меняя: заблокированные сайты и YouTube |
| По домену | все стратегии v и Flowseal на ваших сайтах (до 30 доменов) |
| v1–v10 / Flowseal / v + Flowseal | перебор стратегий по списку заблокированных сайтов |
| YouTube | перебор стратегий Yv на адресах YouTube |
| Свои стратегии | ваш список (/root/custom_test.txt, совместим с консольной версией) — на сайтах или на YouTube |
- Сначала делается контрольный замер без Zapret, затем каждая стратегия.
- Список проверяемых сайтов: госуслуги, налоговая, rutube, торрент-трекеры, Discord, X, Instagram, GitHub и набор из dpi-checkers.
- Результаты: сортировка по числу открывшихся сайтов, цветная шкала (зелёный — всё открылось, жёлтый — лучше, чем без Zapret, красный — не лучше), по клику — какие сайты открылись, а какие нет, кнопка «Применить» у каждой стратегии.
- Автоподбор по расписанию — каждый день в выбранное время (01:00–06:00 или своё) роутер перебирает v / Flowseal / v + Flowseal и сравнивает лучшую с текущей. Новая стратегия ставится только если открывает больше сайтов. YouTube, Discord, игры, QUIC и дополнения сохраняются; при
#nochangeавтоподбор ничего не меняет. Показывается итог последнего запуска.
YouTube
- Стратегии Yv (список скачивается из репозитория Zapret Manager), меняется только YouTube-часть.
- Выключить — убрать YouTube-часть совсем (например, если YouTube идёт через ByeTube или Steer).
- QUIC для YouTube — отдельный блок для UDP 443: браузеры и приложение YouTube часто грузят видео по QUIC.
Игры
- Игровые стратегии Gv1 – Gv4 с нужными диапазонами портов TCP/UDP.
- Xtreme режим — обход на портах 80, 88, 443–65535 (для проверки игр, может мешать другим приложениям).
- Выбор fake-файла (stun, quic_initial разных сайтов, tls_clienthello).
Discord
- Стратегии Dv1 – Dv17 для
discord.media, блок голосаdiscord,stun, выбор fake-файла. - Скрипты custom.d из примеров zapret:
50-stun4all(STUN на всех портах — голос и видео в Discord, Telegram, WhatsApp),50-quic4all,50-discord-media,50-discord. - Финские IP для Discord — 200 записей
finland10000–10199.discord.mediaв hosts, если голос не подключается.
Редактор списков и исключение устройств
- Три списка: исключения (Zapret их не трогает), пользовательские хосты, Google (для YouTube и QUIC). Каждый — со счётчиком записей, кнопкой «Перечитать файл» и переключателем «Не изменять список» (
#nochange). - Список исключений можно восстановить из репозитория и обновлять автоматически каждые 2 / 4 / 6 / 12 часов.
- Исключение устройств — выбранные устройства (по IP из DHCP и ARP или вручную) ходят мимо Zapret.
⚡ Zapret2
Установка и управление Zapret2 из пакетов Routerich: скачивание, установка, стратегия, список исключений, Discord-скрипт; запуск, остановка, полное удаление.
Important
Только для архитектуры aarch64_cortex-a53. Несовместим с основным Zapret — панель не даст поставить оба (кроме экспертного режима).
🛣️ Steer
Выбранные сервисы идут через туннель — бесплатный Cloudflare WARP или ваш VPN. Остальной интернет — напрямую. Маршрутизацию ведёт ядро steer 2.x средствами ядра Linux: nftables, таблицы маршрутизации, домены через fake-IP. Панель пишет для ядра спеку (/etc/steer/spec.json), проверяет её (steer ctl check) и применяет без обрыва соединений — ядро трогает только изменившееся.
Вкладка «Сервисы»
- Сервисы: YouTube, Discord, Instagram, WhatsApp, X, GitHub, Telegram, TikTok, HDRezka, Google Meet, Gemini, Google Play, Roblox, Cloudflare, CloudFront, DigitalOcean, Hetzner, OVH.
- Категории: геоблок, заблокированные сайты, новости, аниме, 18+, хостинги и CDN, «Всё сразу» (Russia inside), сайты РФ из-за рубежа, блокировки Украины.
- Дополнительные списки из каталога splify2-lists (itdoginfo/allow-domains, b4geoip и другие), сгруппированные по источнику. Каталог можно обновить, сменить на свой
lists.jsonили выключить. - Свой список — домены (поддомены включаются сами) и IP/подсети.
- «Скачивать списки через VPN» — если GitHub у провайдера не открывается.
- Проверка — туннель каждого WARP (сервер Cloudflare, город, какая страна видна сайтам) + диагностика самого ядра steer.
- «Куда пойдёт запрос» — введите домен или IP, и ядро покажет: через WARP, через VPN (и через какой узел) или напрямую, с подменным или настоящим адресом.
Вкладка «WARP»
Автоматический режим — три туннеля AmneziaWG в разных колониях Cloudflare, трафик идёт через самый быстрый живой:
- ключи берутся у Cloudflare (ключ создаётся на роутере), при недоступности — у внешнего генератора, через реле или изнутри уже работающего туннеля;
- разведка точек входа: перебор пулов адресов Cloudflare и портов (2408, 500, 1701, 4500, а если они закрыты — ещё 50 запасных);
- отбраковка российских колоний (через них блокировки не снимаются) и точек, где DPI обрывает туннель (трафик пошёл и оборвался);
- если ничего не подходит — перебор масок первого пакета I1 (QUIC, DNS, STUN, SIP, iCloud-DNS);
- для каждого туннеля видно: сервер, город, страну для сайтов, точку входа, время последней связи и трафик.
Свой конфиг — один туннель по вашему конфигу WireGuard / AmneziaWG (zmwarp4). Конфиг хранится отдельно (/etc/zm-warp-own.conf) и переживает даже переустановку Steer. Переключаться между режимами можно в один клик — прежние туннели сохраняются.
Кнопки ремонта: «Перезапустить туннели», «Сменить точки входа», «Новые ключи», а для одного упавшего туннеля — «Переделать» или «Новые ключи» только для него.
Автоподбор мёртвых туннелей — раз в 10 минут проверяет туннели и неработающему (дольше 30 мин / 1 ч / 3 ч) подбирает новую точку входа, с третьей попытки — с новыми ключами, до 4 попыток. Работающие не трогает, без интернета не запускается. История последних подборов видна в карточке.
Автоперезапуск — каждые 2 / 6 / 12 часов или ежедневно в заданный час.
Вкладка «VPN»
- Ссылка на подписку (
https://…) или свои серверы: VLESS, Hysteria2, Trojan, Shadowsocks, VMess, SOCKS, HTTP. Нужные модули ядра (steer-vless,steer-hysteria2,steer-proxy) ставятся сами. - Шапка подписки: название, трафик и квота, срок действия.
- Выбор узла или «Авто» (первый рабочий). Если выбранный узел не ответил — панель сама возвращает прежний выбор, а не оставляет сервисы без туннеля.
- Проверка задержки — TCP-пинг до каждого узла (как «TCP» в Happ), пачками; Hysteria2 проверяется через ядро. Сортировка по пингу.
- Скрыть узлы — вручную или по «маркерам» (флаги стран, слова в названии); новые узлы с этим словом тоже скрываются.
- Свои серверы — редактор ссылок: изменить, удалить, добавить по одной или пачкой.
- Автообновление подписки — каждые 3 / 6 / 12 / 24 часа; если список не изменился и VPN работает — туннель не трогается.
- Сторож VPN — если VPN перестал отвечать, Steer перезапускается; закреплённый мёртвый узел сменяется на автовыбор с уведомлением в панели.
- Переключатель WARP ⇄ VPN — в карточке Steer, выбор узла сохраняется.
Note
Если стоит splify2, ядро steer настроено вручную или занято Podkop/Forkop — Steer не перезаписывает чужие правила и покажет, кто занял ядро.
🍴 Forkozz
Выбранные сервисы идут через ваш сервер, подписку или туннель на базе движка NetShift и sing-box. Всё ставится только с GitHub и из репозитория OpenWrt — без сторонних зеркал (старые зеркала Forkop панель сама убирает из фидов).
Секции
До 9 секций, каждая ведёт свои сервисы через своё подключение: например, YouTube — через сервер в Европе, а ChatGPT — через WARP. Секции проверяются по порядку: если сайт попал в две, сработает левая. Один сервис можно включить только в одной секции — панель подскажет, где он уже выбран.
Карточка каждой секции на главной: состояние, текущий сервер и задержка, подписка, что через неё идёт.
Подключение
- Серверы — ссылки vless, vmess, trojan, ss, socks5, hysteria2; редактор ссылок с распознаванием имени и хоста.
- Подписка — одна или до 10 ссылок, серверы собираются в общий список; интервал обновления.
- Туннель — интерфейс WireGuard / AmneziaWG (например, WARP из Steer).
- Дополнительно: формат подписки (авто / Xray JSON для Happ / sing-box), группы по флагу страны или по началу имени, отбор серверов по словам, User-Agent, отключение проверки сертификата; параметры автовыбора (интервал, допуск, адрес проверки); UDP поверх TCP; свой DNS для туннеля; локальный прокси HTTP/SOCKS5 для программ в сети; «узнавать настоящий IP сайтов».
- Серверы — режим «Авто» или «Вручную», переключение одним кликом, TCP-пинг всех серверов с результатами по мере проверки, сортировка, скрытие серверов, трафик и срок подписки.
- Сторож — если закреплённый вручную сервер перестал отвечать, Forkozz переключается на автовыбор и показывает, какой сервер упал.
Сервисы, исключения, устройства
- Сервисы — тот же каталог, что в Steer, + свои домены, IP-подсети и внешние
.lst-списки. - Исключения — сайты и адреса, которые всегда идут напрямую, мимо всех секций.
- Устройства — «Всё через Forkozz» (ТВ, приставки) и «Мимо Forkozz».
- Обновить списки сейчас — с отчётом в окне вывода: какой набор правил скачан, сколько адресов в файрволе, были ли ошибки.
Настройки
- DNS: протокол DoH / DoT / UDP, до 8 серверов с автопереключением (раз в пару минут проверяет и уходит на следующий, возвращается, когда первый оживёт), кнопка «Подобрать лучшие» (замер всех серверов с роутера), Bootstrap DNS, «DNS через VPN», «Не пускать приложения в обход DNS роутера» (блок публичных DoH), TTL и EDNS Client Subnet.
- Сеть: из каких сетей принимать трафик, через какой интерфейс выходить в интернет, перезапуск при переподключении WAN, IPv6, «не менять DNS роутера».
- Прочее: отключение QUIC для выбранных сервисов, торренты и NTP напрямую, интервал обновления списков.
- sing-box: облегчённый (
sing-box-tiny), обычный или расширенный (sing-box-extended). Расширенный ставится сам, когда среди серверов или в подписке есть XHTTP или VMess. Если новый sing-box не заработал — возвращается прежний. Уровень журнала (по умолчанию выключен — меньше нагрузки на флеш). - Панель sing-box (YACD) — соединения и трафик в реальном времени, при желании — доступ из интернета по ключу.
Проверка и переход со старого Forkop
- Проверка — служба, sing-box, перенаправление DNS, FakeIP, ответ сервера каждой секции, исключения.
- «Куда пойдёт запрос» — повторяет правила sing-box для домена или IP и показывает: через какую секцию, напрямую, исключение или блок.
- Трафик — скорость, всего, число соединений и память sing-box.
- Переход с прежнего движка Forkop — одной кнопкой: подключения, секции, списки, свои домены, исключения, устройства и DNS переносятся автоматически, старый движок удаляется.
▶️ ByeTube
Обход блокировки только доменов YouTube через ByeDPI + hev-socks5-tunnel. Остальной трафик идёт напрямую. dnsmasq-full складывает адреса YouTube в наборы nftables, трафик к ним маркируется и уходит в туннель ytb0.
- Статус — ByeDPI, hev-socks5-tunnel, интерфейс, маркировка, policy routing, DNS, firewall, число IP в наборах.
- Настройки — QUIC: блокировать (рекомендуется) или через прокси; IPv6; порт SOCKS5.
- Стратегия — 6 готовых стратегий или своя строка параметров
ciadpi. - Тест стратегий — каждая стратегия проверяется во временном экземпляре ByeDPI на отдельном порту: основной сервис и трафик клиентов не затрагиваются. Свои списки стратегий и доменов для теста.
- Домены — встроенный список YouTube (вкл/выкл) + свои домены.
- В консоли:
bytetube diag <IP|имя телефона>— разбор, куда реально уходят DNS-запросы и соединения устройства (поможет найти включённый «Частный DNS»).
🏹 TG WS Proxy
Четыре прокси для Telegram:
| Вариант | Порт | Источник |
|---|---|---|
| Go (MTProto) | 1443 | spatiumstas/tg-ws-proxy-go |
| SOCKS5 | 2080 | d0mhate/-tg-ws-proxy-Manager-go |
| Rust (MTProto) | 2443 | valnesfjord/tg-ws-proxy-rs |
| sTGWS | — | xyzmean/brb |
- Готовая ссылка
tg://для каждого запущенного прокси, кнопка «Скопировать» и QR-код для телефона. - Установка последней версии с GitHub; если под архитектуру нет сборки — ставится проверенная.
- Удаление принудительное — даже если менеджер пакетов отказывается.
- Rust-прокси, поставленный пакетом
luci-app-tg-ws-proxy-rs, панель распознаёт и только показывает (порт, ключ и FakeTLS — из его настроек). - sTGWS: перезапуск и подбор нового домена.
- Автоперезапуск для каждого прокси (1–12 ч) и сторож — упавший прокси запускается заново в течение 2 минут.
🧱 Mixomo
Связка Mihomo (прокси-ядро) + hev-socks5-tunnel (мост в туннель) + MagiTrickle (направляет в туннель только выбранные сайты). На основе Mixomo от Internet-Helper.
- Mixomo — установка всех трёх программ под архитектуру роутера, сетевой интерфейс и зона файрвола, запуск/остановка/перезапуск, обновление.
- Веб-панель Mihomo — MetaCubeXD (по умолчанию) или Zashboard, порт 9090.
- Подписка — обновляет ссылку в существующем провайдере или создаёт готовую конфигурацию с отдельной маршрутизацией YouTube.
- Исключение серверов из подписки — вручную или по фразам; панель пишет
exclude-filterи сохраняет ваш собственный фильтр. - Автоперезапуск — каждые 2 / 6 часов или ежедневно в заданный час.
- Конфигурация — редактор
config.yaml; если Mihomo не запустился с новой конфигурацией, изменения откатываются. - MagiTrickle — готовые списки (Internet Helper, ITDog, старый Internet Helper) и встроенное окно управления группами и подписками.
- WARP — генерация WARP.conf (с подбором точки входа) и интеграция в Mihomo как прокси-выход.
📝 Hosts
- Готовые блоки для
/etc/hosts: nalog.ru, ntc.party, Instagram/Facebook, lib.rus.ec, AI-сервисы (ChatGPT, Claude, Gemini, Grok, DeepL, Copilot, ElevenLabs, Windsurf и др.), Twitch, Telegram Web, Spotify (обычный и расширенный), rutor, rutracker, Supercell, GitHub и GitHub Raw, tapeop.dev, финские IP Discord. Отметьте нужные и нажмите «Сохранить и применить». - GeoHide RU / EU / US — полная замена hosts списком GeoHideDNS.
- Восстановить hosts — вернуть чистый файл.
- Редактор всего
/etc/hosts(резервная копия —/etc/hosts.bak). Для очень больших файлов (например, GeoHide) редактор отключается, чтобы не перегружать роутер.
🚫 Блокировка рекламы
Реклама, трекеры и телеметрия отсекаются на уровне DNS — для всех устройств в сети сразу: телефонов, ТВ, приставок, ПК. Списки HaGeZi подключаются прямо к dnsmasq, отдельные приложения на устройствах не нужны.
- Список на выбор: Light, Multi, Pro (по умолчанию), Pro++, Ultimate — от мягкого до самого строгого.
- Дополнительно: TIF mini — защита от фишинга и вредоносных доменов; запрет чужих DoH — устройства не смогут обойти блокировку, уйдя на свой публичный DoH-сервер. DoH-серверы самого роутера (
https-dns-proxy) не блокируются никогда. - Белый список — до 500 доменов, по одному в строке. Сразу заполнен тем, что ломать нельзя: переходы по рекламе в поиске Яндекса, ссылки из писем и приложений Яндекса, рассылки Mail.ru, партнёрские ссылки AliExpress. Лишнее (
http://, путь,*.) панель отрезает сама. - Автообновление раз в сутки в 04:xx (минуту панель выбирает случайно, чтобы не грузить источник одновременно) и кнопка «Обновить сейчас». Свежие копии (младше 12 часов) повторно не качаются.
- Безопасное подключение: список скачивается с GitHub, а при недоступности — через jsDelivr; в нём остаются только домены; перед применением конфиг проверяется
dnsmasq --test. Если после перезапуска dnsmasq не отвечает в течение 30 секунд, прежнее состояние возвращается автоматически. - Память: панель проверяет свободную ОЗУ (нужно не меньше ~60 МБ) и показывает, сколько занимает dnsmasq со списком. Роутеру с малым объёмом памяти подойдёт Light и без защиты от фишинга.
- После перезагрузки папки dnsmasq пустеют — сторож сам собирает список заново из копии на флеше.
- «Выключить» — убирает список из dnsmasq одной кнопкой.
🔐 DNS over HTTPS
Шифрованный DNS для всей сети на базе https-dns-proxy.
- 11 провайдеров: Google, Cloudflare, Quad9, XBOX, Comss, DNS-AI, Яндекс Семейный, Яндекс Безопасный, GeoHide RU / EU / US.
- Bootstrap DNS — как у провайдера или свои адреса (до 6).
- Перехват DNS устройств — «Авто» (все устройства принудительно получают DNS через DoH, даже с вручную прописанным DNS) или «Не перехватывать». Работает вместе со Steer.
- Удаление полное — пакеты, настройки, правила перехвата; dnsmasq возвращается к прежним серверам.
Note
Если стоит Forkozz, DoH не нужен — Forkozz сам шифрует DNS.
🔒 AmneziaWG
WireGuard с маскировкой: провайдеру сложнее заметить и заблокировать туннель.
- Установка — пакеты под точную версию и цель OpenWrt из сборок 2Grey/awg-openwrt (с запасными зеркалами). Если модуль ядра не загрузился, панель подробно объясняет почему: нет файла, модуль собран для другого ядра, не хватает модулей ядра.
- Интерфейсы — список всех туннелей AmneziaWG (в том числе туннелей Steer) с состоянием, адресом, точкой входа, рукопожатием, трафиком и зоной firewall.
- Проверить — внешний IP, сервер Cloudflare, страна, потери и задержка, предупреждение об обрывах DPI.
- Перезапустить, включить/выключить, сменить или подобрать точку входа, новые ключи WARP, показать/изменить конфиг, удалить.
- WARP.conf — сгенерировать (стандартная точка, с подбором, своя точка) или «С проверкой связи»: роутер получает ключи, перебирает точки входа и маски и записывает связку, через которую трафик реально идёт.
- Создать интерфейс — из WARP.conf или своего
.conf, с зоной firewall («доступ из сети») и опцией «весь трафик в туннель».
💻 Терминал
Командная строка роутера прямо в браузере — на базе ttyd, без отдельного SSH-клиента.
- Установка в один клик — пакет
ttydиз репозитория OpenWrt (около 1 МБ); терминал запускается сам и добавляется в автозапуск. - Безопасно по умолчанию: слушает порт 7681 только в домашней сети (
@lan), вход — по логину и паролю роутера (/bin/login). - Встроен в панель — открывается внутри страницы LuCI или Web UI; в Web UI не сбрасывается при переходе в другой раздел. Если панель открыта по https, а терминал работает по http, он откроется в отдельной вкладке.
- Кнопки: «Открыть в новой вкладке», «Перезапустить», «Удалить» (останавливает терминал и убирает
ttydвместе с настройками).
⚙️ Система
- Блокировка QUIC (UDP 80/443 из LAN в WAN), IPv6 в Zapret, Fix для Flow Offloading (правка шаблона firewall4).
- Системная информация — отчёт одним кликом: роутер, сеть, провайдер, связь IPv4/IPv6, лимит GitHub API, Flow Offloading, DoH, Forkozz, Zapret (версия, стратегия, порты), домены в hosts, пакеты, поставленные вручную, и доступность ~40 сайтов. Кнопка «Скопировать отчёт» — удобно для вопросов в сообществе.
- Время на роутере — живые часы, автоопределение часового пояса (пять сервисов геолокации, выбирается пояс большинства) и синхронизация времени по NTP, а если провайдер закрыл NTP — по заголовкам Date крупных сайтов. Нужно для всех расписаний панели.
- Проверка сети — IPv4 и IPv6 до google.com.
- Зеркало OpenWrt — переключение источника пакетов с проверкой доступности и откатом на default при ошибке.
- Удалить Zapret Manager — убирает только панель; всё, что ставилось через неё, остаётся и продолжает работать.
🔗 Совместимость компонентов
Некоторые инструменты перехватывают один и тот же трафик, поэтому панель не даёт поставить их вместе и показывает понятную причину:
| Компонент | Не ставится вместе с |
|---|---|
| Zapret | Zapret2 |
| Zapret2 | Zapret |
| Steer | Forkozz, splify2, чужая настройка ядра steer |
| Forkozz | Steer, Mixomo, DoH, Podkop, PassWall, NextDNS |
| Mixomo | Forkozz, ByeTube |
| ByeTube | Mixomo |
| DoH | Forkozz |
Steer и ByeTube могут работать параллельно — панель напомнит пускать YouTube только через что-то одно.
🔧 Как это устроено
Файлы на роутере
| Путь | Что это |
|---|---|
/opt/zapret-manager-luci/backend.sh |
бэкенд: вся логика панели |
/opt/zapret-manager-luci/netshift.uc |
ucode-модуль Forkozz |
/opt/zapret-manager-luci/state/ |
состояние панели (тема, кэши версий, автоподбор и т.д.) |
/opt/zapret-manager-luci/state/adblock/ |
настройки, белый список и скачанные списки блокировки рекламы |
zm-adblock.conf в папке настроек dnsmasq |
собранный список блокировки (живёт в ОЗУ, после перезагрузки восстанавливается сторожем) |
/usr/libexec/rpcd/zapret-manager |
rpcd-плагин — объект zapret-manager в ubus |
/usr/share/rpcd/acl.d/luci-app-zapret-manager.json |
права доступа |
/usr/share/luci/menu.d/luci-app-zapret-manager.json |
пункт меню LuCI |
/www/luci-static/resources/view/zapret-manager/ |
страницы LuCI |
/www/zm/, /www/zm-webui.html |
Web UI |
/tmp/zapret-manager-luci/ |
журналы и pid фоновых операций |
/etc/zm-steer/, /etc/zm-awg/ |
данные Steer и AmneziaWG |
Фоновые операции
Установка, удаление, тесты и другие долгие действия запускаются как фоновые задания с журналом. Панель опрашивает статус и показывает вывод в «терминале» с подсветкой шагов (✓, ✗, →). Если операция не отвечает дольше 2 минут, внизу появляется кнопка «Остановить все операции» — она завершает всё дерево процессов и откатывает незаконченное (например, возвращает прежнюю версию Forkozz).
Шаги с сетью и менеджером пакетов ограничены по времени, а если DNS роутера не отвечает, на время операции подставляются 1.1.1.1 и 9.9.9.9 — потом прежний DNS возвращается.
Сторож (cron, раз в 2 минуты)
backend.sh zm_watch:
- поднимает rpcd, если он упал или завис (иначе пропадает вход в LuCI), и перезапускает его, если он держит старый список методов панели;
- возвращает DNS роутера, если операция прервалась на полпути;
- перезапускает Forkozz, если он включён, но не работает (с нарастающей паузой), чинит мёртвые серверы и переключает DNS;
- проверяет VPN Steer и чинит его;
- поднимает упавшие TG WS Proxy;
- возвращает список блокировки рекламы в dnsmasq после перезагрузки (или скачивает заново, если копии нет);
- переводит ядро steer 1.x на 2.x.
Принцип «#nochange» и большие тексты
- Строка
#nochangeв стратегии или списке запрещает панели менять их — ни при установке, ни при обновлении, ни в тестах. Переключатели «Не изменять» ставят и снимают её сами. - uhttpd принимает в
/ubusне больше 64 КБ за запрос, поэтому большие тексты (hosts, списки, конфиги) отправляются частями и собираются на роутере. - После обновления панель сама сбрасывает кэш браузера (сверка
build.txt), чтобы не работать со старыми файлами.
❓ Частые проблемы
Страница пишет «Object not found» / «метод не найден»
rpcd ещё не подхватил плагин. Подождите минуту или выполните:
/etc/init.d/rpcd restart
Сторож делает это сам в течение 2 минут.
Web UI не открывается на порту 7788
Нужен пакет uhttpd-mod-ubus (установщик ставит его сам). Проверьте:
uci show uhttpd.zmweb
/etc/init.d/uhttpd restart
Web UI доступен только из локальной сети.
Через Steer / Forkozz сайт всё равно идёт напрямую
- Проверьте его в «Куда пойдёт запрос».
- Отключите на устройстве «Частный DNS» (Android) и «Безопасный DNS» в браузере — они идут мимо роутера.
- Очистите DNS-кэш или перезапустите браузер — устройство могло запомнить старый адрес.
Модуль AmneziaWG не загружается
Готовые модули собраны под официальные прошивки OpenWrt. На сторонних сборках ядро может отличаться — нужна официальная прошивка той же версии. Причину панель пишет в журнале установки.
После включения блокировки рекламы перестал открываться сайт или ссылка
- Добавьте его домен в белый список на странице «Блокировка рекламы» и примените.
- Если сайты не открываются совсем — нажмите «Выключить» и проверьте, пропала ли проблема: чаще причина в интернете или DNS, а не в списке.
- На роутере с малым объёмом ОЗУ выберите список полегче (Light) или отключите защиту от фишинга — при нехватке памяти панель сама откажется ставить тяжёлый список.
Терминал не открывается во встроенном окне
Панель открыта по https, а ttyd работает по http — браузер не разрешает встроить его. Нажмите «Открыть в новой вкладке» (адрес вида http://192.168.1.1:7681). Терминал доступен только из локальной сети.
🗑️ Удаление
- Только панель — «Система → Удалить Zapret Manager». Компоненты останутся и продолжат работать.
- Блокировка рекламы — кнопка «Выключить»: список убирается из dnsmasq.
- Терминал — кнопка «Удалить»: останавливает
ttydи удаляет пакет с настройками. - Компоненты — кнопкой «Удалить» на странице каждого из них. Удаление полное: пакеты, настройки, правила файрвола и маршрутизации, задания cron. После удаления панель проверяет интернет и DNS роутера и при необходимости сама перезапускает сеть.
🤝 Благодарности
Zapret Manager собирает в одном месте работу этих проектов и их авторов:
| Проект | Автор |
|---|---|
| zapret, zapret2 | bol-van |
| zapret-openwrt | remittor |
| Zapret2 (пакеты) | routerich |
| Стратегии Flowseal | Flowseal |
| ByeDPI-OpenWrt | DPITrickster |
| mihomo, metacubexd, meta-rules-dat | MetaCubeX |
| zashboard | Zephyruso |
| hev-socks5-tunnel | heiher |
| MagiTrickle | MagiTrickle |
| sTGWS, Steer, каталог списков | xyzmean |
| steer (ядро) и релизы | splify2 |
| tg-ws-proxy-go (MTProto) | spatiumstas |
| tg-ws-proxy-go (SOCKS5) | d0mhate |
| tg-ws-proxy-rs (Rust) | valnesfjord |
| Mixomo, GeoHideDNS | Internet-Helper |
| allow-domains | itdoginfo |
| zapret4rocket (список РКН) | IndeecFOX |
| NetShift (основа Forkozz) | yandexru45 |
| sing-box | SagerNet |
| sing-box-extended | shtorm-7 |
| ios_rule_script | blackmatrix7 |
| ad-filter (список рекламы для Forkozz) | zxc-rv |
| sing-box-supercell-ruleset | ushan0v |
| b4geoip | DanielLavrushin |
| b4geoip-forkop | Greeg0ry |
| domain-list-community | v2fly |
| dpi-checkers | hyperion-cs |
| awg-openwrt (сборки) | 2Grey |
| dns-blocklists (списки рекламы) | hagezi |
| ttyd (терминал) | tsl0922 |
| warpscout (разведка WARP) | vernette |
| base-relay (реле регистрации WARP) | nellimonix |
И всем пользователям, кто помогает, тестирует и поддерживает проект ❤️
💬 Сообщество
Telegram — Zapret Manager · StressKVN — обход белых списков
Made with ❤️ by StressOzz for the OpenWrt community