Rename README (2) (1).md to readme.md
This commit is contained in:
1 parent
f94564744f
commit
da62275090
1 file changed
@@ -0,0 +1,641 @@
|
||||
<div align="center">
|
||||
|
||||
# ⚡ Zapret Manager
|
||||
|
||||
**Одна панель для обхода блокировок на роутере OpenWrt — Zapret, Steer, Forkozz, ByeTube, Mixomo, TG WS Proxy, AmneziaWG, DoH и hosts в одном месте.**
|
||||
|
||||
[](https://github.com/StressOzz/Zapret-Manager/stargazers)
|
||||
[](https://t.me/stressozz_manager)
|
||||
[](http://stresskvn.lol/)
|
||||
[](https://github.com/StressOzz/Zapret-Manager)
|
||||
</div>
|
||||
|
||||
---
|
||||
|
||||
### StressKVN — умный VPN для стабильного доступа в любых условиях
|
||||
|
||||
- ✅ Работает даже при жёсткой фильтрации и белых списках
|
||||
- 🌍 Умная маршрутизация: зарубежные ресурсы идут через VPN, российские — напрямую
|
||||
- 📶 Подходит для роутеров на **OpenWrt**: настраивается один раз и работает для всех устройств в сети
|
||||
- 🧩 Подключается в **Zapret Manager**
|
||||
- ▶️ YouTube без рекламы
|
||||
- ⚡ Высокая скорость и безлимитный трафик
|
||||
- 🎁 Бесплатный тест на 3 дня
|
||||
|
||||
👉 Подробнее: **[StressKVN на GitHub](https://github.com/StressOzz/StressKVN)**
|
||||
|
||||
---
|
||||
|
||||
|
||||
### Для Windows - используйте: **https://github.com/StressOzz/ZapretOzz**
|
||||
|
||||
---
|
||||
|
||||
<table>
|
||||
<tr>
|
||||
<td>
|
||||
<a href="https://github.com/StressOzz#-поддержать-проект">
|
||||
<img width="280" height="130" src="https://github.com/user-attachments/assets/2999757b-fbf3-4149-bf6c-48bf3e241529">
|
||||
</a>
|
||||
</td>
|
||||
<td>
|
||||
<a href="https://github.com/StressOzz/StressKVN">
|
||||
<img width="280" height="130" alt="image" src="https://github.com/user-attachments/assets/519a126e-bd39-4f46-8a09-3f0d6e1dd8af">
|
||||
</a>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
---
|
||||
|
||||
## 📖 Содержание
|
||||
|
||||
- [О проекте](#-о-проекте)
|
||||
- [Установка](#-установка)
|
||||
- [Два интерфейса: 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);
|
||||
- ✈️ **ускорять Telegram** — четыре вида TG WS Proxy;
|
||||
- 🔐 **шифровать DNS** для всей сети — DNS over HTTPS;
|
||||
- 🧰 **обслуживать роутер** — системный отчёт, время и часовой пояс, зеркала пакетов, Flow Offloading fix и многое другое.
|
||||
|
||||
Всё, что панель скачивает, берётся из официальных источников — GitHub проектов-авторов и репозиториев OpenWrt. Долгие операции идут в фоне на самом роутере: вкладку можно закрыть, а ход работы виден в окне вывода, когда вы вернётесь.
|
||||
|
||||
---
|
||||
|
||||
## 💻 Установка
|
||||
|
||||
Подключитесь к роутеру по SSH и выполните:
|
||||
|
||||
```sh
|
||||
sh <(wget -O - https://raw.githubusercontent.com/StressOzz/Zapret-Manager/refs/heads/main/ZapretManager_LuCI.sh)
|
||||
```
|
||||
|
||||
Установщик:
|
||||
|
||||
1. Останавливает прошлую версию панели (если в ней шла операция — попросит дождаться её окончания).
|
||||
2. Копирует бэкенд, rpcd-плагин, ACL, пункт меню LuCI и страницы.
|
||||
3. Ставит `curl`, `unzip` и `uhttpd-mod-ubus` (нужен для Web UI), если их нет.
|
||||
4. Поднимает отдельный экземпляр `uhttpd` на порту **7788** для Web UI.
|
||||
5. Добавляет сторожа в cron и команду `zms` для консольной версии Zapret Manager.
|
||||
|
||||
В конце в консоли будет адрес Web UI, например `http://192.168.1.1:7788`.
|
||||
|
||||
> [!NOTE]
|
||||
> **Обновление.** Панель сама проверяет новую версию и показывает баннер на дашборде. Кнопка «Обновить панель» скачивает установщик, проверяет его целостность (заголовок, номер версии, синтаксис `sh -n`) и только потом ставит. Настройки всех компонентов при обновлении сохраняются.
|
||||
|
||||
> [!TIP]
|
||||
> Консольная версия: команда **`zms`** запускает [Zapret-Manager.sh](https://github.com/StressOzz/Zapret-Manager) прямо в терминале.
|
||||
|
||||
### Требования
|
||||
|
||||
| Что | Зачем |
|
||||
|---|---|
|
||||
| OpenWrt с **firewall4 / nftables** | на этом построены все правила обхода |
|
||||
| **opkg** (24.10 и старше) или **apk** (25.12 и новее) | панель работает с обоими менеджерами |
|
||||
| ~15 МБ свободного флеша | для Forkozz + sing-box; расширенный sing-box — ~40 МБ |
|
||||
| **aarch64_cortex-a53** | только для Zapret2 |
|
||||
| OpenWrt **24.10+** | для Forkozz и ByeTube (`hev-socks5-tunnel` в фидах) |
|
||||
| `ip-full` | для ByeTube (fwmark с маской) |
|
||||
|
||||
---
|
||||
|
||||
## 🖥️ Два интерфейса: LuCI и Web UI
|
||||
|
||||
### LuCI
|
||||
|
||||
Пункт меню **Службы → Zapret Manager**, 12 страниц. Работает как обычное приложение 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 выключен» — с кнопкой «Применить»; «Желательно перезагрузить роутер» — после удаления компонентов.
|
||||
|
||||
---
|
||||
|
||||
### 🛡️ Zapret
|
||||
|
||||
Локальный обход DPI на базе [zapret-openwrt](https://github.com/remittor/zapret-openwrt). Самый большой раздел — 7 вкладок.
|
||||
|
||||
<details>
|
||||
<summary><b>Установка и управление</b></summary>
|
||||
|
||||
- **Установить и настроить** — скачивает последний релиз `zapret-openwrt` под архитектуру роутера (до 5 попыток, проверка архива через `unzip -t`), ставит пакеты, загружает список исключений и дополнительные fake-файлы, затем применяет базовую стратегию **v7**, игровую **Gv1** и полезные блоки в hosts.
|
||||
- **Обновить до …** — появляется, если на GitHub вышла новая версия.
|
||||
- **Запустить / Остановить / Удалить** — удаление полное: пакеты, `/opt/zapret`, конфиг, init-скрипты, задания cron, таблица nftables.
|
||||
- Если версия на GitHub не определилась, ставится проверенная фиксированная.
|
||||
|
||||
</details>
|
||||
|
||||
<details>
|
||||
<summary><b>Стратегии</b></summary>
|
||||
|
||||
- **v1 – v10** — десять встроенных стратегий (split2, multisplit, hostfakesplit, fake с разным fooling и паттернами).
|
||||
- **Flowseal** — стратегии из [zapret-discord-youtube](https://github.com/Flowseal/zapret-discord-youtube): панель скачивает архив, разбирает `.bat`-файлы и переводит их пути и плейсхолдеры (`%BIN%`, `%LISTS%`, `%GameFilter%`) в формат OpenWrt.
|
||||
- При смене стратегии **сохраняются** YouTube-, Discord- и игровая части, QUIC для YouTube и дополнения.
|
||||
- **Дополнения к стратегии:**
|
||||
- **Обход по спискам РКН** — основной профиль работает только для сайтов из списка [zapret4rocket](https://github.com/IndeecFOX/zapret4rocket) и вашего списка хостов, а не «всё, кроме исключений». Помогает, если стратегия мешает обычным сайтам.
|
||||
- **Блок `--wssize 1:6`** — отдельный профиль, уменьшающий окно TCP в начале HTTPS-соединения.
|
||||
- **Редактор текущей стратегии** — ручная правка блока `NFQWS_OPT` с проверкой (без одинарных кавычек, хотя бы один параметр `--…`).
|
||||
- **«Не изменять стратегию» (`#nochange`)** — панель больше не трогает стратегию: ни выбор стратегий, ни YouTube/Discord/игры, ни тест, ни переустановка Zapret.
|
||||
|
||||
</details>
|
||||
|
||||
<details>
|
||||
<summary><b>Тест стратегий и автоподбор</b></summary>
|
||||
|
||||
Тест идёт в фоне, после него настройки 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](https://github.com/hyperion-cs/dpi-checkers).
|
||||
- Результаты: сортировка по числу открывшихся сайтов, цветная шкала (зелёный — всё открылось, жёлтый — лучше, чем без Zapret, красный — не лучше), по клику — какие сайты открылись, а какие нет, кнопка **«Применить»** у каждой стратегии.
|
||||
- **Автоподбор по расписанию** — каждый день в выбранное время (01:00–06:00 или своё) роутер перебирает v / Flowseal / v + Flowseal и сравнивает лучшую с текущей. Новая стратегия ставится **только если открывает больше сайтов**. YouTube, Discord, игры, QUIC и дополнения сохраняются; при `#nochange` автоподбор ничего не меняет. Показывается итог последнего запуска.
|
||||
|
||||
</details>
|
||||
|
||||
<details>
|
||||
<summary><b>YouTube</b></summary>
|
||||
|
||||
- Стратегии **Yv** (список скачивается из репозитория Zapret Manager), меняется только YouTube-часть.
|
||||
- **Выключить** — убрать YouTube-часть совсем (например, если YouTube идёт через ByeTube или Steer).
|
||||
- **QUIC для YouTube** — отдельный блок для UDP 443: браузеры и приложение YouTube часто грузят видео по QUIC.
|
||||
|
||||
</details>
|
||||
|
||||
<details>
|
||||
<summary><b>Игры</b></summary>
|
||||
|
||||
- Игровые стратегии **Gv1 – Gv4** с нужными диапазонами портов TCP/UDP.
|
||||
- **Xtreme режим** — обход на портах 80, 88, 443–65535 (для проверки игр, может мешать другим приложениям).
|
||||
- Выбор **fake-файла** (stun, quic_initial разных сайтов, tls_clienthello).
|
||||
|
||||
</details>
|
||||
|
||||
<details>
|
||||
<summary><b>Discord</b></summary>
|
||||
|
||||
- Стратегии **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, если голос не подключается.
|
||||
|
||||
</details>
|
||||
|
||||
<details>
|
||||
<summary><b>Редактор списков и исключение устройств</b></summary>
|
||||
|
||||
- Три списка: **исключения** (Zapret их не трогает), **пользовательские хосты**, **Google** (для YouTube и QUIC). Каждый — со счётчиком записей, кнопкой «Перечитать файл» и переключателем «Не изменять список» (`#nochange`).
|
||||
- Список исключений можно **восстановить из репозитория** и **обновлять автоматически** каждые 2 / 4 / 6 / 12 часов.
|
||||
- **Исключение устройств** — выбранные устройства (по IP из DHCP и ARP или вручную) ходят мимо Zapret.
|
||||
|
||||
</details>
|
||||
|
||||
---
|
||||
|
||||
### ⚡ Zapret2
|
||||
|
||||
Установка и управление [Zapret2](https://github.com/bol-van/zapret2) из пакетов Routerich: скачивание, установка, стратегия, список исключений, Discord-скрипт; запуск, остановка, полное удаление.
|
||||
|
||||
> [!IMPORTANT]
|
||||
> Только для архитектуры **aarch64_cortex-a53**. Несовместим с основным Zapret — панель не даст поставить оба (кроме экспертного режима).
|
||||
|
||||
---
|
||||
|
||||
### 🛣️ Steer
|
||||
|
||||
Выбранные сервисы идут через туннель — бесплатный **Cloudflare WARP** или **ваш VPN**. Остальной интернет — напрямую. Маршрутизацию ведёт ядро [steer 2.x](https://github.com/splify2/steer) средствами ядра Linux: nftables, таблицы маршрутизации, домены через fake-IP. Панель пишет для ядра спеку (`/etc/steer/spec.json`), проверяет её (`steer ctl check`) и применяет без обрыва соединений — ядро трогает только изменившееся.
|
||||
|
||||
<details>
|
||||
<summary><b>Вкладка «Сервисы»</b></summary>
|
||||
|
||||
- **Сервисы**: 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 (и через какой узел) или напрямую, с подменным или настоящим адресом.
|
||||
|
||||
</details>
|
||||
|
||||
<details>
|
||||
<summary><b>Вкладка «WARP»</b></summary>
|
||||
|
||||
**Автоматический режим** — три туннеля 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 часов или ежедневно в заданный час.
|
||||
|
||||
</details>
|
||||
|
||||
<details>
|
||||
<summary><b>Вкладка «VPN»</b></summary>
|
||||
|
||||
- Ссылка на **подписку** (`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, выбор узла сохраняется.
|
||||
|
||||
</details>
|
||||
|
||||
> [!NOTE]
|
||||
> Если стоит **splify2**, ядро steer настроено вручную или занято Podkop/Forkop — Steer не перезаписывает чужие правила и покажет, кто занял ядро.
|
||||
|
||||
---
|
||||
|
||||
### 🍴 Forkozz
|
||||
|
||||
Выбранные сервисы идут через ваш сервер, подписку или туннель на базе движка [NetShift](https://github.com/yandexru45/netshift) и [sing-box](https://github.com/SagerNet/sing-box). Всё ставится только с GitHub и из репозитория OpenWrt — без сторонних зеркал (старые зеркала Forkop панель сама убирает из фидов).
|
||||
|
||||
<details>
|
||||
<summary><b>Секции</b></summary>
|
||||
|
||||
До **9 секций**, каждая ведёт свои сервисы через своё подключение: например, YouTube — через сервер в Европе, а ChatGPT — через WARP. Секции проверяются по порядку: если сайт попал в две, сработает левая. Один сервис можно включить только в одной секции — панель подскажет, где он уже выбран.
|
||||
|
||||
Карточка каждой секции на главной: состояние, текущий сервер и задержка, подписка, что через неё идёт.
|
||||
|
||||
</details>
|
||||
|
||||
<details>
|
||||
<summary><b>Подключение</b></summary>
|
||||
|
||||
- **Серверы** — ссылки 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 переключается на автовыбор и показывает, какой сервер упал.
|
||||
|
||||
</details>
|
||||
|
||||
<details>
|
||||
<summary><b>Сервисы, исключения, устройства</b></summary>
|
||||
|
||||
- **Сервисы** — тот же каталог, что в Steer, + свои домены, IP-подсети и внешние `.lst`-списки.
|
||||
- **Исключения** — сайты и адреса, которые всегда идут напрямую, мимо всех секций.
|
||||
- **Устройства** — «Всё через Forkozz» (ТВ, приставки) и «Мимо Forkozz».
|
||||
- **Обновить списки сейчас** — с отчётом в окне вывода: какой набор правил скачан, сколько адресов в файрволе, были ли ошибки.
|
||||
|
||||
</details>
|
||||
|
||||
<details>
|
||||
<summary><b>Настройки</b></summary>
|
||||
|
||||
- **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](https://github.com/shtorm-7/sing-box-extended)). Расширенный ставится **сам**, когда среди серверов или в подписке есть XHTTP или VMess. Если новый sing-box не заработал — возвращается прежний. Уровень журнала (по умолчанию выключен — меньше нагрузки на флеш).
|
||||
- **Панель sing-box (YACD)** — соединения и трафик в реальном времени, при желании — доступ из интернета по ключу.
|
||||
|
||||
</details>
|
||||
|
||||
<details>
|
||||
<summary><b>Проверка и переход со старого Forkop</b></summary>
|
||||
|
||||
- **Проверка** — служба, sing-box, перенаправление DNS, FakeIP, ответ сервера каждой секции, исключения.
|
||||
- **«Куда пойдёт запрос»** — повторяет правила sing-box для домена или IP и показывает: через какую секцию, напрямую, исключение или блок.
|
||||
- **Трафик** — скорость, всего, число соединений и память sing-box.
|
||||
- **Переход с прежнего движка Forkop** — одной кнопкой: подключения, секции, списки, свои домены, исключения, устройства и DNS переносятся автоматически, старый движок удаляется.
|
||||
|
||||
</details>
|
||||
|
||||
---
|
||||
|
||||
### ▶️ ByeTube
|
||||
|
||||
Обход блокировки **только доменов YouTube** через [ByeDPI](https://github.com/DPITrickster/ByeDPI-OpenWrt) + `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](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-код** для телефона.
|
||||
- Установка последней версии с GitHub; если под архитектуру нет сборки — ставится проверенная.
|
||||
- Удаление принудительное — даже если менеджер пакетов отказывается.
|
||||
- Rust-прокси, поставленный пакетом `luci-app-tg-ws-proxy-rs`, панель распознаёт и только показывает (порт, ключ и FakeTLS — из его настроек).
|
||||
- sTGWS: перезапуск и **подбор нового домена**.
|
||||
- **Автоперезапуск** для каждого прокси (1–12 ч) и **сторож** — упавший прокси запускается заново в течение 2 минут.
|
||||
|
||||
---
|
||||
|
||||
### 🧱 Mixomo
|
||||
|
||||
Связка **Mihomo** (прокси-ядро) + **hev-socks5-tunnel** (мост в туннель) + **MagiTrickle** (направляет в туннель только выбранные сайты). На основе [Mixomo от Internet-Helper](https://github.com/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
|
||||
|
||||
- **16 готовых блоков** для `/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 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](https://github.com/2Grey/awg-openwrt) (с запасными зеркалами). Если модуль ядра не загрузился, панель подробно объясняет почему: нет файла, модуль собран для другого ядра, не хватает модулей ядра.
|
||||
- **Интерфейсы** — список всех туннелей AmneziaWG (в том числе туннелей Steer) с состоянием, адресом, точкой входа, рукопожатием, трафиком и зоной firewall.
|
||||
- **Проверить** — внешний IP, сервер Cloudflare, страна, потери и задержка, предупреждение об обрывах DPI.
|
||||
- Перезапустить, включить/выключить, сменить или **подобрать** точку входа, **новые ключи WARP**, показать/изменить конфиг, удалить.
|
||||
- **WARP.conf** — сгенерировать (стандартная точка, с подбором, своя точка) или **«С проверкой связи»**: роутер получает ключи, перебирает точки входа и маски и записывает связку, через которую трафик реально идёт.
|
||||
- **Создать интерфейс** — из WARP.conf или своего `.conf`, с зоной firewall («доступ из сети») и опцией «весь трафик в туннель».
|
||||
|
||||
---
|
||||
|
||||
### ⚙️ Система
|
||||
|
||||
- **Блокировка 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 только через что-то одно.
|
||||
|
||||
---
|
||||
|
||||
## 🔧 Как это устроено
|
||||
|
||||
<details>
|
||||
<summary><b>Файлы на роутере</b></summary>
|
||||
|
||||
| Путь | Что это |
|
||||
|---|---|
|
||||
| `/opt/zapret-manager-luci/backend.sh` | бэкенд: вся логика панели |
|
||||
| `/opt/zapret-manager-luci/netshift.uc` | ucode-модуль Forkozz |
|
||||
| `/opt/zapret-manager-luci/state/` | состояние панели (тема, кэши версий, автоподбор и т.д.) |
|
||||
| `/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 |
|
||||
|
||||
</details>
|
||||
|
||||
<details>
|
||||
<summary><b>Фоновые операции</b></summary>
|
||||
|
||||
Установка, удаление, тесты и другие долгие действия запускаются как фоновые задания с журналом. Панель опрашивает статус и показывает вывод в «терминале» с подсветкой шагов (`✓`, `✗`, `→`). Если операция не отвечает дольше 2 минут, внизу появляется кнопка **«Остановить все операции»** — она завершает всё дерево процессов и откатывает незаконченное (например, возвращает прежнюю версию Forkozz).
|
||||
|
||||
Шаги с сетью и менеджером пакетов ограничены по времени, а если DNS роутера не отвечает, на время операции подставляются 1.1.1.1 и 9.9.9.9 — потом прежний DNS возвращается.
|
||||
|
||||
</details>
|
||||
|
||||
<details>
|
||||
<summary><b>Сторож (cron, раз в 2 минуты)</b></summary>
|
||||
|
||||
`backend.sh zm_watch`:
|
||||
|
||||
- поднимает **rpcd**, если он упал или завис (иначе пропадает вход в LuCI), и перезапускает его, если он держит старый список методов панели;
|
||||
- возвращает DNS роутера, если операция прервалась на полпути;
|
||||
- перезапускает **Forkozz**, если он включён, но не работает (с нарастающей паузой), чинит мёртвые серверы и переключает DNS;
|
||||
- проверяет **VPN Steer** и чинит его;
|
||||
- поднимает упавшие **TG WS Proxy**;
|
||||
- переводит ядро steer 1.x на 2.x.
|
||||
|
||||
</details>
|
||||
|
||||
<details>
|
||||
<summary><b>Принцип «#nochange» и большие тексты</b></summary>
|
||||
|
||||
- Строка `#nochange` в стратегии или списке запрещает панели менять их — ни при установке, ни при обновлении, ни в тестах. Переключатели «Не изменять» ставят и снимают её сами.
|
||||
- uhttpd принимает в `/ubus` не больше 64 КБ за запрос, поэтому большие тексты (hosts, списки, конфиги) отправляются частями и собираются на роутере.
|
||||
- После обновления панель сама сбрасывает кэш браузера (сверка `build.txt`), чтобы не работать со старыми файлами.
|
||||
|
||||
</details>
|
||||
|
||||
---
|
||||
|
||||
## ❓ Частые проблемы
|
||||
|
||||
<details>
|
||||
<summary><b>Страница пишет «Object not found» / «метод не найден»</b></summary>
|
||||
|
||||
rpcd ещё не подхватил плагин. Подождите минуту или выполните:
|
||||
|
||||
```sh
|
||||
/etc/init.d/rpcd restart
|
||||
```
|
||||
|
||||
Сторож делает это сам в течение 2 минут.
|
||||
|
||||
</details>
|
||||
|
||||
<details>
|
||||
<summary><b>Web UI не открывается на порту 7788</b></summary>
|
||||
|
||||
Нужен пакет `uhttpd-mod-ubus` (установщик ставит его сам). Проверьте:
|
||||
|
||||
```sh
|
||||
uci show uhttpd.zmweb
|
||||
/etc/init.d/uhttpd restart
|
||||
```
|
||||
|
||||
Web UI доступен только из локальной сети.
|
||||
|
||||
</details>
|
||||
|
||||
<details>
|
||||
<summary><b>Через Steer / Forkozz сайт всё равно идёт напрямую</b></summary>
|
||||
|
||||
1. Проверьте его в «Куда пойдёт запрос».
|
||||
2. Отключите на устройстве «Частный DNS» (Android) и «Безопасный DNS» в браузере — они идут мимо роутера.
|
||||
3. Очистите DNS-кэш или перезапустите браузер — устройство могло запомнить старый адрес.
|
||||
|
||||
</details>
|
||||
|
||||
<details>
|
||||
<summary><b>Модуль AmneziaWG не загружается</b></summary>
|
||||
|
||||
Готовые модули собраны под официальные прошивки OpenWrt. На сторонних сборках ядро может отличаться — нужна официальная прошивка той же версии. Причину панель пишет в журнале установки.
|
||||
|
||||
</details>
|
||||
|
||||
---
|
||||
|
||||
## 🗑️ Удаление
|
||||
|
||||
- **Только панель** — «Система → Удалить Zapret Manager». Компоненты останутся и продолжат работать.
|
||||
- **Компоненты** — кнопкой «Удалить» на странице каждого из них. Удаление полное: пакеты, настройки, правила файрвола и маршрутизации, задания 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) |
|
||||
| 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) |
|
||||
| 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) |
|
||||
| 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) |
|
||||
| warpscout (разведка WARP) | [vernette](https://github.com/vernette/warpscout) |
|
||||
| base-relay (реле регистрации WARP) | [nellimonix](https://github.com/nellimonix/base-relay) |
|
||||
|
||||
И **всем пользователям**, кто помогает, тестирует и поддерживает проект ❤️
|
||||
|
||||
---
|
||||
|
||||
<div align="center">
|
||||
|
||||
### 💬 Сообщество
|
||||
|
||||
[**Telegram — Zapret Manager**](https://t.me/stressozz_manager) · [**StressKVN — обход белых списков**](http://stresskvn.lol/)
|
||||
|
||||
Made with ❤️ by **[StressOzz](https://github.com/StressOzz)** for the OpenWrt community
|
||||
|
||||
</div>
|
||||
Reference in new issue
Block a user