# Zapret Manager **Одна панель для обхода блокировок на роутере OpenWrt — Zapret, Steer, Forkozz, ByeTube, Mixomo, TG WS Proxy, AmneziaWG, DoH, блокировка рекламы и hosts в одном месте.** [![Stars](https://img.shields.io/github/stars/StressOzz/Zapret-Manager?style=for-the-badge&color=38BDF8)](https://github.com/StressOzz/Zapret-Manager/stargazers) [![Telegram](https://img.shields.io/badge/Telegram-сообщество-2CA5E0?style=for-the-badge&logo=telegram&logoColor=white)](https://t.me/stressozz_manager) [![StressKVN](https://img.shields.io/badge/StressKVN-обход_белых_списков-3C3489?style=for-the-badge)](http://stresskvn.lol/) [![Views](https://gitviews.com/repo/StressOzz/Zapret-Manager.svg?style=for-the-badge&label=Views&label-color=%23555&color=%2310B981&base=559060)](https://github.com/StressOzz/Zapret-Manager)
--- ### StressKVN — умный VPN для стабильного доступа в любых условиях - ✅ Работает даже при жёсткой фильтрации и белых списках - 🌍 Умная маршрутизация: зарубежные ресурсы идут через VPN, российские — напрямую - 📶 Подходит для роутеров на **OpenWrt**: настраивается один раз и работает для всех устройств в сети - 🧩 Подключается в **Zapret Manager** - ▶️ YouTube без рекламы - ⚡ Высокая скорость и безлимитный трафик - 🎁 Бесплатный тест на 3 дня 👉 Подробнее: **[StressKVN на GitHub](https://github.com/StressOzz/StressKVN)** --- ### Для Windows - используйте: **https://github.com/StressOzz/ZapretOzz** ---
image
--- ## 📖 Содержание - [О проекте](#-о-проекте) - [Установка](#-установка) - [Два интерфейса: LuCI и Web UI](#️-два-интерфейса-luci-и-web-ui) - [Разбор разделов](#-разбор-разделов) - [Дашборд](#-дашборд) - [Zapret](#️-zapret) - [Zapret2](#-zapret2) - [Steer](#️-steer) - [Forkozz](#-forkozz) - [ByeTube](#️-byetube) - [TG WS Proxy](#-tg-ws-proxy) - [Mixomo](#-mixomo) - [Hosts](#-hosts) - [Блокировка рекламы](#-блокировка-рекламы) - [DNS over HTTPS](#-dns-over-https) - [AmneziaWG](#-amneziawg) - [Терминал](#-терминал) - [Система](#️-система) - [Какой инструмент выбрать](#-какой-инструмент-выбрать) - [Совместимость компонентов](#-совместимость-компонентов) - [Как это устроено](#-как-это-устроено) - [Частые проблемы](#-частые-проблемы) - [Удаление](#️-удаление) - [Благодарности](#-благодарности) > **Как читать разделы.** У каждого пункта есть короткое пояснение: **что делает** и *зачем это нужно*. --- ## ⚡ О проекте **Zapret Manager** — это приложение для LuCI и отдельный веб-интерфейс, которые превращают роутер на OpenWrt в «комбайн» обхода блокировок. Вместо десятка разрозненных скриптов, пакетов и конфигов — одна панель, где каждый инструмент ставится, настраивается, проверяется и удаляется в пару кликов. Панель умеет: - 🛡️ **обходить DPI локально** — без внешних серверов: Zapret (nfqws), Zapret2, ByeDPI (ByeTube). *Зачем:* бесплатно и без подписок, скорость не страдает — трафик не уходит на чужой сервер. - 🔀 **пускать выбранные сервисы через туннель** — бесплатный Cloudflare WARP, свой VPN по подписке или свой сервер (Steer, Forkozz, Mixomo). *Зачем:* помогает там, где DPI-обход бессилен — например, когда сайт закрыт по IP или недоступен из вашей страны. - ✈️ **ускорять Telegram** — четыре вида TG WS Proxy. *Зачем:* Telegram работает стабильно без VPN на всём устройстве. - 🔐 **шифровать DNS** для всей сети — DNS over HTTPS. *Зачем:* провайдер не видит и не подменяет DNS-запросы. - 🚫 **блокировать рекламу и трекеры** на всех устройствах — списки HaGeZi прямо в dnsmasq. *Зачем:* не нужны отдельные программы на телефонах и ПК, защита работает для всей сети сразу. - 🧰 **обслуживать роутер** — системный отчёт, время и часовой пояс, зеркала пакетов, Flow Offloading fix, командная строка в браузере и многое другое. *Зачем:* всё нужное для настройки и диагностики — в одном месте. Всё, что панель скачивает, берётся из официальных источников — GitHub проектов-авторов и репозиториев OpenWrt. Долгие операции идут в фоне на самом роутере: вкладку можно закрыть, а ход работы виден в окне вывода, когда вы вернётесь. --- ## 💻 Установка Подключитесь к роутеру по SSH и выполните: ```sh sh <(wget -qO - https://raw.githubusercontent.com/StressOzz/Zapret-Manager/refs/heads/main/ZapretManager_LuCI.sh) ``` *Зачем SSH:* установщик копирует файлы в систему роутера и настраивает службы — из браузера этого не сделать. ### Что делает установщик | Шаг | Что происходит | Зачем | |---|---|---| | 1. Остановка старой версии | Если панель уже стояла, она останавливается. Если в ней идёт операция, установщик просит дождаться конца. | Чтобы не заменить файлы посреди установки или удаления компонента и не сломать его. | | 2. Копирование файлов | Ставятся бэкенд, rpcd-плагин, права доступа (ACL), пункт меню LuCI и страницы. | Бэкенд выполняет всю работу. rpcd-плагин и ACL дают браузеру безопасный доступ к бэкенду. Меню и страницы — это интерфейс. | | 3. Пакеты `curl`, `unzip`, `uhttpd-mod-ubus` | Докачиваются, если их нет. | `curl` скачивает файлы, `unzip` проверяет архивы. `uhttpd-mod-ubus` нужен веб-серверу для связи с панелью — без него Web UI не заработает. | | 4. Web UI на порту **7788** | Поднимается отдельный экземпляр `uhttpd`. | Web UI работает независимо от LuCI и не мешает ему. | | 5. Сторож и команда `zms` | В cron добавляется сторож (раз в 2 минуты), в систему — команда `zms`. | Сторож сам чинит упавшее: rpcd, Forkozz, прокси, список рекламы после перезагрузки. `zms` запускает консольную версию. | В конце в консоли будет адрес Web UI, например `http://192.168.1.1:7788` > [!IMPORTANT] > Для работы некоторых стратегий на **компьютере** нужно один раз включить TCP timestamps. Такие стратегии используют метки времени в TCP-пакетах, и если на устройстве они выключены, стратегия не сработает. > > Windows (в терминале): > ``` > netsh int tcp set global timestamps=enabled > ``` > > Linux: > ``` > sysctl -w net.ipv4.tcp_timestamps=1 > ``` > [!NOTE] > **Обновление.** Панель сама проверяет новую версию и показывает баннер на дашборде. Кнопка «Обновить панель» скачивает установщик, проверяет его целостность (заголовок, номер версии, синтаксис `sh -n`) и только потом ставит — так битая загрузка не сломает панель. Настройки всех компонентов при обновлении сохраняются. > [!TIP] > Консольная версия: команда **`zms`** запускает [Zapret-Manager.sh](https://github.com/StressOzz/Zapret-Manager) прямо в терминале — удобно, когда браузер не нужен. > [!NOTE] > Если Вам нужна версия, только для **SSH** - [**readme_ssh.md**](https://github.com/StressOzz/Zapret-Manager/blob/main/readme_ssh.md) > ``` > sh <(wget -qO - 'https://raw.githubusercontent.com/StressOzz/Zapret-Manager/main/Zapret-Manager.sh') > ``` ### Требования | Что | Зачем | |---|---| | OpenWrt с **firewall4 / nftables** | Все правила обхода написаны под nftables. | | **opkg** (24.10 и старше) или **apk** (25.12 и новее) | Панель работает с обоими менеджерами пакетов — подходят обе ветки OpenWrt. | | ~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) с маской, которой нет в урезанном `ip`. | --- ## 🖥️ Два интерфейса: 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.login` ubus), с флажком «Запомнить на этом устройстве». *Зачем:* отдельные пароли не нужны, а посторонний без пароля роутера внутрь не попадёт. - 🎨 **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 выключен» — иначе IPv6-трафик пойдёт мимо обхода; - «Желательно перезагрузить роутер» — после удаления компонентов, чтобы очистить остатки правил. --- ### 🛡️ Zapret Локальный обход DPI на базе [zapret-openwrt](https://github.com/remittor/zapret-openwrt). *Зачем:* ничего не меняет в маршрутах — просто «подправляет» пакеты так, что DPI провайдера не распознаёт заблокированный сайт. Самый большой раздел — 7 вкладок.
Установка и управление - **Установить и настроить** — скачивает последний релиз `zapret-openwrt` под архитектуру роутера (до 5 попыток, проверка архива через `unzip -t`), ставит пакеты, загружает список исключений и дополнительные fake-файлы, затем применяет базовую стратегию **v7**, игровую **Gv1** и полезные блоки в hosts. *Зачем:* после одного клика всё работает «из коробки»; повторы и проверка архива — чтобы обрыв загрузки не оставил сломанную установку. - **Обновить до …** — появляется, если на GitHub вышла новая версия. *Зачем:* обновление в один клик, без ручной переустановки. - **Запустить / Остановить / Удалить** — удаление полное: пакеты, `/opt/zapret`, конфиг, init-скрипты, задания cron, таблица nftables. *Зачем:* не остаётся мусора, который мог бы помешать другим компонентам. - Если версия на GitHub не определилась, ставится проверенная фиксированная. *Зачем:* установка не срывается из-за недоступного GitHub.
Стратегии *Стратегия* — набор приёмов, которыми Zapret обманывает DPI. У разных провайдеров работают разные, поэтому их несколько. - **v1 – v10** — десять встроенных стратегий (split2, multisplit, hostfakesplit, fake с разным fooling и паттернами). *Зачем:* если одна не помогает у вашего провайдера, можно попробовать другую. - **Flowseal** — стратегии из [zapret-discord-youtube](https://github.com/Flowseal/zapret-discord-youtube): панель скачивает архив, разбирает `.bat`-файлы и переводит их пути и плейсхолдеры (`%BIN%`, `%LISTS%`, `%GameFilter%`) в формат OpenWrt. *Зачем:* готовые рабочие стратегии для Windows используются на роутере без ручной переделки. - При смене стратегии **сохраняются** YouTube-, Discord- и игровая части, QUIC для YouTube и дополнения. *Зачем:* выбрав новую основную стратегию, не нужно заново настраивать остальное. - **Дополнения к стратегии:** - **Обход по спискам РКН** — основной профиль работает только для сайтов из списка [zapret4rocket](https://github.com/IndeecFOX/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**, затем каждая стратегия. *Зачем:* чтобы оценить пользу честно — «лучше, чем без Zapret». - Список проверяемых сайтов: госуслуги, налоговая, rutube, торрент-трекеры, Discord, X, Instagram, GitHub и набор из [dpi-checkers](https://github.com/hyperion-cs/dpi-checkers). - Результаты: сортировка по числу открывшихся сайтов, цветная шкала (зелёный — всё открылось, жёлтый — лучше, чем без Zapret, красный — не лучше), по клику — какие сайты открылись, а какие нет, кнопка **«Применить»** у каждой стратегии. - **Автоподбор по расписанию** — каждый день в выбранное время (01:00–06:00 или своё) роутер перебирает v / Flowseal / v + Flowseal и сравнивает лучшую с текущей. Новая стратегия ставится **только если открывает больше сайтов**. YouTube, Discord, игры, QUIC и дополнения сохраняются; при `#nochange` автоподбор ничего не меняет. Показывается итог последнего запуска. *Зачем:* провайдеры меняют фильтры — автоподбор сам подстраивается, а ночное время выбрано, чтобы не мешать вам.
YouTube - Стратегии **Yv** (список скачивается из репозитория Zapret Manager), меняется только YouTube-часть. *Зачем:* 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). *Зачем:* fake-файл — «приманка» для DPI, разным провайдерам подходят разные.
Discord - Стратегии **Dv1 – Dv17** для `discord.media`, блок голоса `discord,stun`, выбор fake-файла. *Зачем:* текст и голос в Discord идут разными путями и блокируются по-разному. - **Скрипты 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. *Зачем:* если какое-то устройство (например, ТВ или рабочий ПК) с Zapret работает плохо.
--- ### ⚡ Zapret2 Установка и управление [Zapret2](https://github.com/bol-van/zapret2) из пакетов Routerich: скачивание, установка, стратегия, список исключений, Discord-скрипт; запуск, остановка, полное удаление. *Зачем:* новое поколение Zapret с другим движком — пробовать, если обычный Zapret не помогает. > [!IMPORTANT] > Только для архитектуры **aarch64_cortex-a53**. Несовместим с основным Zapret — панель не даст поставить оба (кроме экспертного режима): оба перехватывают один и тот же трафик. --- ### 🛣️ Steer Выбранные сервисы идут через туннель — бесплатный **Cloudflare WARP** или **ваш VPN**. Остальной интернет — напрямую. *Зачем:* нужен, когда сайт блокируется так, что DPI-обход не помогает, но гонять через VPN весь интернет не хочется. Маршрутизацию ведёт ядро [steer 2.x](https://github.com/splify2/steer) средствами ядра 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](https://github.com/xyzmean/splify2-lists) (itdoginfo/allow-domains, b4geoip и другие), сгруппированные по источнику. Каталог можно обновить, сменить на свой `lists.json` или выключить. *Зачем:* списки обновляются сообществом, и их не надо вести вручную. - **Свой список** — домены (поддомены включаются сами) и IP/подсети. *Зачем:* для сайтов, которых нет в готовых списках. - **«Скачивать списки через VPN»** — *зачем:* если GitHub у провайдера не открывается и списки иначе не скачать. - **Проверка** — туннель каждого WARP (сервер Cloudflare, город, какая страна видна сайтам) + диагностика самого ядра steer. *Зачем:* убедиться, что туннель живой и «страна» подходит. - **«Куда пойдёт запрос»** — введите домен или IP, и ядро покажет: через WARP, через VPN (и через какой узел) или напрямую, с подменным или настоящим адресом. *Зачем:* главный инструмент диагностики — сразу видно, почему сайт идёт не туда.
Вкладка «WARP» **Автоматический режим** — три туннеля AmneziaWG в **разных колониях** Cloudflare, трафик идёт через самый быстрый живой. *Зачем:* если один туннель упадёт, остальные подхватят — без вашего участия. - ключи берутся у Cloudflare (ключ создаётся на роутере), при недоступности — у внешнего генератора, через реле или изнутри уже работающего туннеля. *Зачем:* получить ключи даже при блокировке Cloudflare; - **разведка точек входа**: перебор пулов адресов Cloudflare и портов (2408, 500, 1701, 4500, а если они закрыты — ещё 50 запасных). *Зачем:* у разных провайдеров открыты разные порты; - отбраковка **российских колоний** (через них блокировки не снимаются) и точек, где **DPI обрывает туннель** (трафик пошёл и оборвался). *Зачем:* такой туннель выглядит рабочим, но реально не помогает; - если ничего не подходит — перебор **масок первого пакета I1** (QUIC, DNS, STUN, SIP, iCloud-DNS). *Зачем:* маскировка начала соединения под обычный трафик помогает пройти DPI; - для каждого туннеля видно: сервер, город, страну для сайтов, точку входа, время последней связи и трафик. **Свой конфиг** — один туннель по вашему конфигу WireGuard / AmneziaWG (`zmwarp4`). Конфиг хранится отдельно (`/etc/zm-warp-own.conf`) и переживает даже переустановку Steer. Переключаться между режимами можно в один клик — прежние туннели сохраняются. *Зачем:* если у вас есть собственный сервер или платный WARP. **Кнопки ремонта:** «Перезапустить туннели», «Сменить точки входа», «Новые ключи», а для одного упавшего туннеля — «Переделать» или «Новые ключи» только для него. *Зачем:* чинить точечно, не трогая рабочие туннели. **Автоподбор мёртвых туннелей** — раз в 10 минут проверяет туннели и неработающему (дольше 30 мин / 1 ч / 3 ч) подбирает новую точку входа, с третьей попытки — с новыми ключами, до 4 попыток. Работающие не трогает, без интернета не запускается. История последних подборов видна в карточке. *Зачем:* чтобы туннели чинились сами, а пауза перед подбором не давала реагировать на мелкие сбои. **Автоперезапуск** — каждые 2 / 6 / 12 часов или ежедневно в заданный час. *Зачем:* профилактика зависших туннелей.
Вкладка «VPN» *Для тех, у кого есть свой VPN: через него пойдут только выбранные сервисы.* - Ссылка на **подписку** (`https://…`) или **свои серверы**: VLESS, Hysteria2, Trojan, Shadowsocks, VMess, SOCKS, HTTP. Нужные модули ядра (`steer-vless`, `steer-hysteria2`, `steer-proxy`) ставятся сами. *Зачем:* подходит почти любой VPN-сервис, ничего докачивать вручную не нужно. - Шапка подписки: название, трафик и квота, срок действия. *Зачем:* видно, когда закончится подписка. - **Выбор узла** или **«Авто»** (первый рабочий). Если выбранный узел не ответил — панель **сама возвращает прежний выбор**, а не оставляет сервисы без туннеля. - **Проверка задержки** — TCP-пинг до каждого узла (как «TCP» в Happ), пачками; Hysteria2 проверяется через ядро. Сортировка по пингу. *Зачем:* выбрать самый быстрый узел. - **Скрыть узлы** — вручную или по «маркерам» (флаги стран, слова в названии); новые узлы с этим словом тоже скрываются. *Зачем:* убрать лишнее из длинного списка. - **Свои серверы** — редактор ссылок: изменить, удалить, добавить по одной или пачкой. - **Автообновление подписки** — каждые 3 / 6 / 12 / 24 часа; если список не изменился и VPN работает — туннель не трогается. *Зачем:* новые серверы подтягиваются сами, без лишних обрывов. - **Сторож VPN** — если VPN перестал отвечать, Steer перезапускается; закреплённый мёртвый узел сменяется на автовыбор с уведомлением в панели. *Зачем:* сервисы не остаются без связи. - Переключатель **WARP ⇄ VPN** — в карточке Steer, выбор узла сохраняется. *Зачем:* быстро сменить способ обхода.
> [!NOTE] > Если стоит **splify2**, ядро steer настроено вручную или занято Podkop/Forkop — Steer не перезаписывает чужие правила и покажет, кто занял ядро. *Зачем:* чтобы не сломать настройки, сделанные вручную. --- ### 🍴 Forkozz Выбранные сервисы идут через ваш сервер, подписку или туннель на базе движка [NetShift](https://github.com/yandexru45/netshift) и [sing-box](https://github.com/SagerNet/sing-box). Всё ставится только с GitHub и из репозитория OpenWrt — без сторонних зеркал (старые зеркала Forkop панель сама убирает из фидов). *Зачем:* самый гибкий вариант: разные сервисы можно вести через разные серверы.
Секции До **9 секций**, каждая ведёт свои сервисы через своё подключение: например, YouTube — через сервер в Европе, а ChatGPT — через WARP. Секции проверяются по порядку: если сайт попал в две, сработает левая. Один сервис можно включить только в одной секции — панель подскажет, где он уже выбран. *Зачем:* для каждого сервиса можно выбрать лучший путь, а чёткий порядок исключает путаницу. Карточка каждой секции на главной: состояние, текущий сервер и задержка, подписка, что через неё идёт.
Подключение *Здесь указывается, куда именно будет идти трафик секции.* - **Серверы** — ссылки vless, vmess, trojan, ss, socks5, hysteria2; редактор ссылок с распознаванием имени и хоста. - **Подписка** — одна или до 10 ссылок, серверы собираются в общий список; интервал обновления. *Зачем:* можно объединить несколько VPN-сервисов. - **Туннель** — интерфейс WireGuard / AmneziaWG (например, WARP из Steer). - **Дополнительно:** - формат подписки (авто / Xray JSON для Happ / sing-box) — под разные сервисы подписок; - группы по флагу страны или по началу имени, отбор серверов по словам — для порядка в длинном списке; - User-Agent, отключение проверки сертификата — для капризных подписок; - параметры автовыбора (интервал, допуск, адрес проверки); - UDP поверх TCP; свой DNS для туннеля; - **локальный прокси HTTP/SOCKS5** — для программ в сети, которые умеют работать только через прокси; - «узнавать настоящий IP сайтов». - **Серверы** — режим «Авто» или «Вручную», переключение одним кликом, TCP-пинг всех серверов с результатами по мере проверки, сортировка, скрытие серверов, трафик и срок подписки. - **Сторож** — если закреплённый вручную сервер перестал отвечать, Forkozz переключается на автовыбор и показывает, какой сервер упал. *Зачем:* связь не пропадёт, и вы узнаете о проблеме.
Сервисы, исключения, устройства - **Сервисы** — тот же каталог, что в Steer, + свои домены, IP-подсети и внешние `.lst`-списки. *Зачем:* что идёт через секцию, решаете вы. - **Исключения** — сайты и адреса, которые всегда идут напрямую, мимо всех секций. *Зачем:* банки и госсервисы часто не работают через VPN. - **Устройства** — «Всё через Forkozz» (ТВ, приставки) и «Мимо Forkozz». *Зачем:* устройствам, где нельзя поставить VPN, можно обеспечить обход; а тем, кому он мешает, — отключить. - **Обновить списки сейчас** — с отчётом в окне вывода: какой набор правил скачан, сколько адресов в файрволе, были ли ошибки. *Зачем:* не ждать автообновления, если что-то изменилось.
Настройки - **DNS**: протокол DoH / DoT / UDP, до **8 серверов с автопереключением** (раз в пару минут проверяет и уходит на следующий, возвращается, когда первый оживёт), кнопка «Подобрать лучшие» (замер всех серверов с роутера), Bootstrap DNS, «DNS через VPN», «Не пускать приложения в обход DNS роутера» (блок публичных DoH), TTL и EDNS Client Subnet. *Зачем:* стабильный и защищённый DNS — основа работы любой маршрутизации по доменам. - **Сеть**: из каких сетей принимать трафик, через какой интерфейс выходить в интернет, перезапуск при переподключении WAN, IPv6, «не менять DNS роутера». *Зачем:* подстройка под вашу схему сети. - **Прочее**: отключение QUIC для выбранных сервисов, торренты и NTP напрямую, интервал обновления списков. *Зачем:* торренты через VPN тратят трафик подписки, а QUIC часто обходит маршрутизацию. - **sing-box**: облегчённый (`sing-box-tiny`), обычный или **расширенный** ([sing-box-extended](https://github.com/shtorm-7/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](https://github.com/DPITrickster/ByeDPI-OpenWrt) + `hev-socks5-tunnel`. Остальной трафик идёт напрямую. *Зачем:* если нужен только YouTube — самый лёгкий вариант без серверов и подписок. Как работает: dnsmasq-full складывает адреса YouTube в наборы nftables, трафик к ним маркируется и уходит в туннель `ytb0`. - **Статус** — ByeDPI, hev-socks5-tunnel, интерфейс, маркировка, policy routing, DNS, firewall, число IP в наборах. *Зачем:* видно, на каком звене цепочки сбой. - **Настройки** — QUIC: блокировать (рекомендуется) или через прокси; IPv6; порт SOCKS5. *Зачем:* блокировка QUIC заставляет YouTube перейти на TCP, который обходится надёжнее. - **Стратегия** — 6 готовых стратегий или своя строка параметров `ciadpi`. *Зачем:* как и в Zapret, у разных провайдеров работают разные. - **Тест стратегий** — каждая стратегия проверяется во **временном** экземпляре ByeDPI на отдельном порту: основной сервис и трафик клиентов не затрагиваются. Свои списки стратегий и доменов для теста. *Зачем:* можно искать лучшую стратегию, не ломая YouTube у домашних. - **Домены** — встроенный список YouTube (вкл/выкл) + свои домены. *Зачем:* можно добавить другие сайты. - В консоли: `bytetube diag ` — разбор, куда реально уходят DNS-запросы и соединения устройства. *Зачем:* помогает найти включённый «Частный DNS», из-за которого обход не работает. --- ### 🏹 TG WS Proxy Четыре прокси для Telegram. *Зачем:* Telegram начинает работать без VPN, в том числе на устройствах, где VPN не поставить. | Вариант | Порт | Источник | |---|---|---| | **Go (MTProto)** | 1443 | [spatiumstas/tg-ws-proxy-go](https://github.com/spatiumstas/tg-ws-proxy-go) | | **SOCKS5** | 2080 | [d0mhate/-tg-ws-proxy-Manager-go](https://github.com/d0mhate/-tg-ws-proxy-Manager-go) | | **Rust (MTProto)** | 2443 | [valnesfjord/tg-ws-proxy-rs](https://github.com/valnesfjord/tg-ws-proxy-rs) | | **sTGWS** | — | [xyzmean/brb](https://gitlab.com/xyzmean/brb) | - Готовая **ссылка `tg://`** для каждого запущенного прокси, кнопка «Скопировать» и **QR-код** для телефона. *Зачем:* прокси подключается в Telegram в одно касание. - Установка последней версии с GitHub; если под архитектуру нет сборки — ставится проверенная. - Удаление принудительное — даже если менеджер пакетов отказывается. *Зачем:* чтобы не остаться с неудаляемым пакетом. - Rust-прокси, поставленный пакетом `luci-app-tg-ws-proxy-rs`, панель распознаёт и только показывает (порт, ключ и FakeTLS — из его настроек). *Зачем:* чтобы не конфликтовать с уже настроенным. - sTGWS: перезапуск и **подбор нового домена**. *Зачем:* если текущий домен перестал работать. - **Автоперезапуск** для каждого прокси (1–12 ч) и **сторож** — упавший прокси запускается заново в течение 2 минут. *Зачем:* Telegram не остаётся без прокси. --- ### 🧱 Mixomo Связка **Mihomo** (прокси-ядро) + **hev-socks5-tunnel** (мост в туннель) + **MagiTrickle** (направляет в туннель только выбранные сайты). На основе [Mixomo от Internet-Helper](https://github.com/Internet-Helper). *Зачем:* готовое решение «VPN по подписке только для нужных сайтов», где настройка максимально упрощена. - **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` вручную сопоставляет домены с IP-адресами. *Зачем:* для сайтов, которые блокируются на уровне DNS, подмена адреса часто достаточна — без прокси и туннелей. - **Готовые блоки** для `/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](https://github.com/Internet-Helper/GeoHideDNS). *Зачем:* большой готовый список для обхода гео-ограничений. - **Восстановить hosts** — вернуть чистый файл. *Зачем:* если что-то пошло не так. - **Редактор** всего `/etc/hosts` (резервная копия — `/etc/hosts.bak`). Для очень больших файлов (например, GeoHide) редактор отключается, чтобы не перегружать роутер. --- ### 🚫 Блокировка рекламы Реклама, трекеры и телеметрия отсекаются на уровне DNS — для **всех устройств в сети** сразу: телефонов, ТВ, приставок, ПК. Списки [HaGeZi](https://github.com/hagezi/dns-blocklists) подключаются прямо к `dnsmasq`, отдельные приложения на устройствах не нужны. *Как работает:* DNS роутера не отвечает на запросы к рекламным доменам, поэтому реклама не загружается. - **Список на выбор**: 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 секунд, **прежнее состояние возвращается автоматически**. *Зачем:* плохой список не оставит сеть без DNS. - **Память**: панель проверяет свободную ОЗУ (нужно не меньше ~60 МБ) и показывает, сколько занимает dnsmasq со списком. Роутеру с малым объёмом памяти подойдёт Light и без защиты от фишинга. *Зачем:* список хранится в памяти, и при её нехватке роутер начнёт тормозить. - После перезагрузки папки dnsmasq пустеют — **сторож** сам собирает список заново из копии на флеше. *Зачем:* блокировка не пропадает после перезагрузки. - **«Выключить»** — убирает список из dnsmasq одной кнопкой. *Зачем:* быстро проверить, не блокировка ли виновата в проблеме. --- ### 🔐 DNS over HTTPS Шифрованный DNS для всей сети на базе `https-dns-proxy`. *Зачем:* провайдер не видит, какие сайты вы открываете, и не может подменить ответы DNS — а подмена DNS как раз частый способ блокировки. - **11 провайдеров**: Google, Cloudflare, Quad9, XBOX, Comss, DNS-AI, Яндекс Семейный, Яндекс Безопасный, GeoHide RU / EU / US. *Зачем:* можно выбрать быстрый, фильтрующий или обходящий гео-ограничения. - **Bootstrap DNS** — как у провайдера или свои адреса (до 6). *Зачем:* чтобы роутер мог найти адрес самого DoH-сервера. - **Перехват DNS устройств** — «Авто» (все устройства принудительно получают DNS через DoH, даже с вручную прописанным DNS) или «Не перехватывать». Работает вместе со Steer. *Зачем:* защита работает для всех, даже если на устройстве прописан свой DNS. - Удаление полное — пакеты, настройки, правила перехвата; dnsmasq возвращается к прежним серверам. > [!NOTE] > Если стоит Forkozz, DoH не нужен — Forkozz сам шифрует DNS. --- ### 🔒 AmneziaWG WireGuard с маскировкой: провайдеру сложнее заметить и заблокировать туннель. *Зачем:* обычный WireGuard легко опознаётся и блокируется, AmneziaWG — гораздо хуже. - **Установка** — пакеты под точную версию и цель OpenWrt из сборок [2Grey/awg-openwrt](https://github.com/2Grey/awg-openwrt) (с запасными зеркалами). Если модуль ядра не загрузился, панель подробно объясняет почему: нет файла, модуль собран для другого ядра, не хватает модулей ядра. *Зачем:* модуль ядра должен точно совпадать с ядром роутера. - **Интерфейсы** — список всех туннелей AmneziaWG (в том числе туннелей Steer) с состоянием, адресом, точкой входа, рукопожатием, трафиком и зоной firewall. - **Проверить** — внешний IP, сервер Cloudflare, страна, потери и задержка, предупреждение об обрывах DPI. *Зачем:* убедиться, что туннель реально работает. - Перезапустить, включить/выключить, сменить или **подобрать** точку входа, **новые ключи WARP**, показать/изменить конфиг, удалить. - **WARP.conf** — сгенерировать (стандартная точка, с подбором, своя точка) или **«С проверкой связи»**: роутер получает ключи, перебирает точки входа и маски и записывает связку, через которую трафик реально идёт. *Зачем:* вариант «с проверкой» сам находит рабочую комбинацию. - **Создать интерфейс** — из WARP.conf или своего `.conf`, с зоной firewall («доступ из сети») и опцией «весь трафик в туннель». *Зачем:* зона нужна, чтобы устройства сети могли пользоваться туннелем. --- ### 💻 Терминал Командная строка роутера прямо в браузере — на базе [ttyd](https://github.com/tsl0922/ttyd), без отдельного SSH-клиента. *Зачем:* удобно, когда нет под рукой SSH-клиента, например с телефона. - **Установка в один клик** — пакет `ttyd` из репозитория OpenWrt (около 1 МБ); терминал запускается сам и добавляется в автозапуск. - **Безопасно по умолчанию**: слушает порт **7681** только в домашней сети (`@lan`), вход — по логину и паролю роутера (`/bin/login`). *Зачем:* терминал — полный доступ к роутеру, поэтому он закрыт от интернета и защищён паролем. - **Встроен в панель** — открывается внутри страницы LuCI или Web UI; в Web UI не сбрасывается при переходе в другой раздел. Если панель открыта по https, а терминал работает по http, он откроется в отдельной вкладке. - **Кнопки**: «Открыть в новой вкладке», «Перезапустить», «Удалить» (останавливает терминал и убирает `ttyd` вместе с настройками). --- ### ⚙️ Система - **Блокировка QUIC** (UDP 80/443 из LAN в WAN). *Зачем:* браузеры переходят на QUIC и могут обойти многие способы обхода; блокировка заставляет их вернуться на TCP. - **IPv6 в Zapret**. *Зачем:* если у вас есть IPv6, без этого его трафик пойдёт мимо обхода. - **Fix для Flow Offloading** (правка шаблона firewall4). *Зачем:* Flow Offloading ускоряет маршрутизацию, но пропускает пакеты мимо обработки Zapret, и обход перестаёт работать. - **Системная информация** — отчёт одним кликом: роутер, сеть, провайдер, связь IPv4/IPv6, лимит GitHub API, Flow Offloading, DoH, Forkozz, Zapret (версия, стратегия, порты), домены в hosts, пакеты, поставленные вручную, и доступность ~40 сайтов. Кнопка «Скопировать отчёт» — удобно для вопросов в сообществе. *Зачем:* вместо десятка вопросов «что у вас стоит?» достаточно одного отчёта. - **Время на роутере** — живые часы, **автоопределение часового пояса** (пять сервисов геолокации, выбирается пояс большинства) и синхронизация времени по NTP, а если провайдер закрыл NTP — по заголовкам Date крупных сайтов. *Зачем:* нужно для всех расписаний панели (автоподбор, обновления), а также для HTTPS и работы VPN-протоколов. - **Проверка сети** — IPv4 и IPv6 до google.com. *Зачем:* быстро понять, виноват интернет или настройки. - **Зеркало OpenWrt** — переключение источника пакетов с проверкой доступности и откатом на default при ошибке. *Зачем:* если стандартный репозиторий недоступен, пакеты не скачиваются. - **Удалить Zapret Manager** — убирает только панель; всё, что ставилось через неё, остаётся и продолжает работать. --- ## 🧭 Какой инструмент выбрать | Задача | Подойдёт | Почему | |---|---|---| | Просто работают YouTube, Discord и заблокированные сайты, без VPN | **Zapret** | Бесплатно, без внешних серверов, трафик не замедляется. | | Zapret не справляется | **Zapret2** | Другой движок (только aarch64_cortex-a53). | | Нужен только YouTube | **ByeTube** | Самый лёгкий вариант, остальной трафик не затрагивается. | | Сайты закрыты «наглухо», DPI-обход не помогает | **Steer** | Только нужные сервисы идут через WARP или ваш VPN. | | Несколько серверов, разные сервисы через разные пути | **Forkozz** | До 9 секций с независимыми подключениями. | | Подписка + выбор сайтов через веб-интерфейс | **Mixomo** | Готовая связка Mihomo + MagiTrickle. | | Telegram | **TG WS Proxy** | Прокси без VPN на всём устройстве. | | Реклама и трекеры | **Блокировка рекламы** | Один раз на роутере — для всех устройств. | | Защита DNS от подмены провайдером | **DNS over HTTPS** | Шифрованный DNS для всей сети. | --- ## 🔗 Совместимость компонентов Некоторые инструменты перехватывают один и тот же трафик, поэтому панель не даёт поставить их вместе и показывает понятную причину. *Зачем:* два инструмента на одном трафике мешают друг другу, и обход перестаёт работать у обоих. | Компонент | Не ставится вместе с | |---|---| | **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 возвращается. *Зачем:* установка не зависнет навсегда из-за сломанного 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 ещё не подхватил плагин панели. Подождите минуту или выполните: ```sh /etc/init.d/rpcd restart ``` Сторож делает это сам в течение 2 минут.
Web UI не открывается на порту 7788 *Почему:* не запущен отдельный `uhttpd` или не хватает пакета `uhttpd-mod-ubus` (установщик ставит его сам). Проверьте: ```sh uci show uhttpd.zmweb /etc/init.d/uhttpd restart ``` Web UI доступен только из локальной сети.
Через Steer / Forkozz сайт всё равно идёт напрямую *Почему:* устройство обходит DNS роутера, а маршрутизация идёт по доменам — без DNS роутера она не срабатывает. 1. Проверьте его в «Куда пойдёт запрос». 2. Отключите на устройстве «Частный DNS» (Android) и «Безопасный DNS» в браузере — они идут мимо роутера. 3. Очистите DNS-кэш или перезапустите браузер — устройство могло запомнить старый адрес.
Модуль AmneziaWG не загружается *Почему:* готовые модули собраны под официальные прошивки OpenWrt. На сторонних сборках ядро может отличаться — нужна официальная прошивка той же версии. Причину панель пишет в журнале установки.
После включения блокировки рекламы перестал открываться сайт или ссылка *Почему:* домен попал в список блокировки. 1. Добавьте его домен в **белый список** на странице «Блокировка рекламы» и примените. 2. Если сайты не открываются совсем — нажмите **«Выключить»** и проверьте, пропала ли проблема: чаще причина в интернете или DNS, а не в списке. 3. На роутере с малым объёмом ОЗУ выберите список полегче (Light) или отключите защиту от фишинга — при нехватке памяти панель сама откажется ставить тяжёлый список.
Терминал не открывается во встроенном окне *Почему:* панель открыта по https, а `ttyd` работает по http — браузер не разрешает встроить небезопасное содержимое в защищённую страницу. Нажмите **«Открыть в новой вкладке»** (адрес вида `http://192.168.1.1:7681`). Терминал доступен только из локальной сети.
--- ## 🗑️ Удаление - **Только панель** — «Система → Удалить Zapret Manager». Компоненты останутся и продолжат работать. - **Блокировка рекламы** — кнопка «Выключить»: список убирается из dnsmasq. - **Терминал** — кнопка «Удалить»: останавливает `ttyd` и удаляет пакет с настройками. - **Компоненты** — кнопкой «Удалить» на странице каждого из них. Удаление полное: пакеты, настройки, правила файрвола и маршрутизации, задания cron. После удаления панель проверяет интернет и DNS роутера и при необходимости сама перезапускает сеть. *Зачем:* чтобы остатки правил не нарушили работу сети. --- ## 🤝 Благодарности Zapret Manager собирает в одном месте работу этих проектов и их авторов: | Проект | Автор | |---|---| | zapret, zapret2 | [bol-van](https://github.com/bol-van) | | zapret-openwrt | [remittor](https://github.com/remittor/zapret-openwrt) | | Zapret2 (пакеты) | [routerich](https://github.com/routerich) | | Стратегии Flowseal | [Flowseal](https://github.com/Flowseal/zapret-discord-youtube) | | ByeDPI-OpenWrt | [DPITrickster](https://github.com/DPITrickster/ByeDPI-OpenWrt) | | mihomo, metacubexd, meta-rules-dat | [MetaCubeX](https://github.com/MetaCubeX) | | zashboard | [Zephyruso](https://github.com/Zephyruso/zashboard) | | hev-socks5-tunnel | [heiher](https://github.com/heiher/hev-socks5-tunnel) | | MagiTrickle | [MagiTrickle](https://github.com/MagiTrickle/MagiTrickle) | | sTGWS, Steer, каталог списков | [xyzmean](https://github.com/xyzmean) | | steer (ядро) и релизы | [splify2](https://github.com/splify2/steer) | | tg-ws-proxy-go (MTProto) | [spatiumstas](https://github.com/spatiumstas/tg-ws-proxy-go) | | tg-ws-proxy-go (SOCKS5) | [d0mhate](https://github.com/d0mhate/-tg-ws-proxy-Manager-go) | | tg-ws-proxy-rs (Rust) | [valnesfjord](https://github.com/valnesfjord/tg-ws-proxy-rs) | | Mixomo, GeoHideDNS | [Internet-Helper](https://github.com/Internet-Helper) | | allow-domains | [itdoginfo](https://github.com/itdoginfo) | | zapret4rocket (список РКН) | [IndeecFOX](https://github.com/IndeecFOX/zapret4rocket) | | NetShift (основа Forkozz) | [yandexru45](https://github.com/yandexru45/netshift) | | sing-box | [SagerNet](https://github.com/SagerNet/sing-box) | | sing-box-extended | [shtorm-7](https://github.com/shtorm-7/sing-box-extended) | | ios_rule_script | [blackmatrix7](https://github.com/blackmatrix7/ios_rule_script) | | ad-filter (список рекламы для Forkozz) | [zxc-rv](https://github.com/zxc-rv/ad-filter) | | sing-box-supercell-ruleset | [ushan0v](https://github.com/ushan0v/sing-box-supercell-ruleset) | | b4geoip | [DanielLavrushin](https://github.com/DanielLavrushin/b4geoip) | | b4geoip-forkop | [Greeg0ry](https://github.com/Greeg0ry/b4geoip-forkop) | | domain-list-community | [v2fly](https://github.com/v2fly/domain-list-community) | | dpi-checkers | [hyperion-cs](https://github.com/hyperion-cs/dpi-checkers) | | awg-openwrt (сборки) | [2Grey](https://github.com/2Grey/awg-openwrt) | | dns-blocklists (списки рекламы) | [hagezi](https://github.com/hagezi/dns-blocklists) | | ttyd (терминал) | [tsl0922](https://github.com/tsl0922/ttyd) | | warpscout (разведка WARP) | [vernette](https://github.com/vernette/warpscout) | | base-relay (реле регистрации WARP) | [nellimonix](https://github.com/nellimonix/base-relay) | И **всем пользователям**, кто помогает, тестирует и поддерживает проект ❤️ ---
### 💬 Сообщество [**Telegram — Zapret Manager**](https://t.me/stressozz_manager) · [**StressKVN — обход белых списков**](http://stresskvn.lol/) Made with ❤️ by **[StressOzz](https://github.com/StressOzz)** for the OpenWrt community