Commit Graph
89 Commits
Author SHA1 Message Date
StressOzz 4cd5ef8882 Zapret Manager для LuCI 1.38: автообход и страница steer в веб-интерфейсе 2026-09-23 21:31:43 +03:00
xyzmean 7e54f073a9 Красная кнопка: ИИ-сервисы через свой DoH только для их доменов, списки из splify2-lists
- ИИ-сервисы больше не идут в подбор zapret и WARP: геоблок снимает только резолвер.
  Резолвер выбирается из пула geo BigRedButton плюс dns.yo1nk.app: каждому шлётся
  настоящий запрос к chatgpt.com через его DoH (curl --doh-url), и берётся самый быстрый
  из тех, чей прокси ответил без отказа. Он работает своим экземпляром https-dns-proxy
  (служба zm-geodns, 127.0.0.1:5055), а dnsmasq отдаёт ему только домены из списка
  dns.malw.link (файл hosts его репозитория, 17 тысяч имён после сворачивания поддоменов).
  Остальной DNS роутера и настройка /etc/config/https-dns-proxy не меняются. Раз в 30 минут
  сторож проверяет, открываются ли сервисы, и при отказе подбирает резолвер заново.
- Если пакет https-dns-proxy ставит кнопка, его служба выключается, только когда настройки
  до установки не было: иначе dnsmasq оставался бы на мёртвых портах.
- Пробы остальных сервисов разрешают имена своим DoH (Cloudflare, Google, Яндекс — первый
  ответивший), а не системным DNS: тот может отдавать подмену провайдера или fakeip
  вышестоящего роутера.
- Списки для туннеля — наборы .srs каталога splify2-lists (itdoginfo: youtube, discord,
  meta, twitter) с тегом из lists.json, разложенные `steer srs-read`; качаются напрямую или
  через уже поднятый туннель, при неудаче — списки из пакета. Сужение Discord (udp и порты
  голоса) — отдельным каналом схемы 2; общий набор двух сервисов попадает в спеку один раз.
- Движок, поставленный кнопкой, включается только вместе с правилами: с пустой спекой он
  всё равно заворачивает DNS сети на свой резолвер, и на тестовом роутере запросы клиентов
  к роутеру по IPv6 уходили в тайм-аут.
- После установки пакетов бэкенд проверяет, что объект zapret-manager есть в ubus:
  post-install luci-proto-amneziawg перезагружает rpcd, и страница получала «Object not
  found». Страница, потеряв роутер, ждёт его и продолжает следить за подбором.
- Журнал: каждый сервис сразу после проверки, стратегии тестера, подбор для YouTube,
  точки WARP.
2026-09-23 19:41:13 +03:00
xyzmean e20d5f75c4 Красная кнопка: плеер своим блоком, остановка без задержек, переустановка не рвёт подбор
- Плеер вынесен в отдельный блок «А пока подбираем…» на всю ширину страницы, журнал —
  своим блоком под ним.
- Остановка срабатывает между сервисами, а неполный победитель остановленного тестера не
  применяется. Раньше после «Остановить» подбор успевал применить стратегию и перепроверить
  сервисы.
- Установщик отказывает, пока идёт подбор: он стирает каталог задач, и вместе с ним
  пропадали журнал и флаг остановки — подбор продолжался невидимым и не останавливался.
2026-09-23 18:58:28 +03:00
xyzmean c4b71d2be8 Красная кнопка: ролик по новому имени репозитория Zapret-Manager-Exp
Старые адреса держались на переадресации GitHub, которая пропадёт, если под прежним
именем появится новый репозиторий.
2026-09-23 18:50:13 +03:00
xyzmean 1730e16a6c Красная кнопка: ролик над журналом на время подбора и журнал без долгих пауз
- Пока идёт подбор, над журналом играет ролик; после окончания плеер убирается и ничего
  не качает. Звук выключается отдельной кнопкой рядом с плеером, выбор запоминается.
  Если браузер не даёт играть со звуком, ролик идёт без звука.
- Журнал пишет по ходу: каждый сервис сразу после проверки, каждую стратегию тестера и
  сколько она открыла, подбор для YouTube (раньше шёл молча, минутами), каждую
  пробуемую точку WARP. На стенде самая длинная пауза без новых строк — 15 секунд.
- Снятие настроек помечается своей фазой, и открытая в это время страница не включает
  ролик.
2026-09-23 18:49:29 +03:00
xyzmean 670bd12cd1 Красная кнопка в веб-пакете: автоподбор обхода по сервисам
Новый раздел «Красная кнопка» в LuCI и в Web UI на порту 7788. Роутер сам проверяет
восемь сервисов (YouTube, Discord, Instagram, WhatsApp, X, GitHub, ИИ-сервисы, Telegram)
и берёт каждому самый дешёвый работающий способ: напрямую, через Zapret, через WARP или,
для Telegram, через веб-сокет. Каталог сервисов и идея — из BigRedButton
(gitlab.com/xyzmean/brb), логика переписана:

- Стратегию zapret подбирает тестер менеджера (do_test_run), а применяют его же функции
  strategy_set_v / strategy_set_flowseal / strategy_set_youtube. Своего перебора nfqws,
  как в brb, нет. Если стратегия открыла меньше сервисов, чем было, прежняя настройка
  возвращается.
- То, что zapret не открыл, уходит в туннель AmneziaWG к WARP через движок steer 1.5.7
  (спека с выходом kind=interface). Точка входа выбирается по рукопожатию и данным через
  туннель; российские колонии берутся только в запас. Туннелю заводится зона firewall
  с NAT и mtu_fix, без которой устройства сети через туннель не ходили.
- Telegram проверяется настоящим запросом MTProto (req_pq_multi) к пяти дата-центрам;
  при молчании ставится микропакет tgws.
- DNS роутера кнопка не трогает. Если DNS over HTTPS перехватывает порт 53 у резолвера
  движка, это показывается на странице, а исправляется только по нажатию.
- Чужая спека steer и splify2 не перезаписываются. Всё, что поставлено и изменено,
  записывается в /etc/zm-redbtn/owned; «Снять настройки» снимает ровно это.
- Тест стратегий на странице Zapret не запускается, пока идёт подбор кнопки.

Проверено на OpenWrt 25.12.5 x86_64 в QEMU: быстрый подбор около шести минут; сервис,
закрытый по адресам, открылся через WARP у клиента за LAN (fakeip, счётчики канала и
трафик туннеля растут); снятие убирает интерфейс, зону, steer, tgws и AmneziaWG.
2026-09-23 18:14:44 +03:00
StressOzz fd63e67988 add WEB UI 2026-09-23 19:11:00 +05:00
StressOzz 19b69b1c01 Update version to 1.33 2026-09-23 07:08:29 +05:00
StressOzz 90519d9254 v1.32 2026-09-23 03:57:01 +05:00
StressOzz 2bde020bf4 Update version to 1.31 and modify uninstall logic 2026-09-22 23:53:01 +05:00
StressOzz e166e933cb v1.30 2026-09-22 22:24:36 +05:00
StressOzz 097d3f6724 Update ZapretManager_LuCI.sh 2026-09-22 18:51:43 +05:00
StressOzz 7f58319a35 Update ZapretManager_LuCI.sh 2026-09-20 16:00:28 +05:00
StressOzz a1baa3664b Update version to 1.27 and modify exclusions 2026-09-20 15:44:16 +05:00
StressOzz 7b10fd3339 Update ZapretManager_LuCI.sh 2026-09-20 15:37:55 +05:00
StressOzz dc70c466b3 Update version to 1.25 and modify update messages 2026-09-20 05:11:19 +05:00
StressOzz 592463ad92 Update ZapretManager_LuCI.sh 2026-09-20 01:48:50 +05:00
StressOzz 4c488e069f Updated to 1.23 2026-09-20 01:42:59 +05:00
StressOzz ff5781cd26 Update ZapretManager_LuCI.sh 2026-09-20 00:57:16 +05:00
StressOzz a1621b6cd1 Downgrade version from 1.17 to 1.14 2026-09-19 19:17:50 +05:00
StressOzz 7e55cefb4c Update version to 1.17 in ZapretManager_LuCI.sh 2026-09-19 18:50:16 +05:00
StressOzz 2e38c88da0 Update ZapretManager_LuCI.sh 2026-09-19 18:39:21 +05:00
StressOzz 5b51c8d9b4 Update version to 1.14 and change default UI panel 2026-09-19 18:22:35 +05:00
StressOzz bf457eeb8a v1.13 2026-09-19 18:20:26 +05:00
StressOzz c9d0669b84 Update ZapretManager_LuCI.sh 2026-09-18 20:41:16 +05:00
StressOzz c0a87e6387 Update ZapretManager_LuCI.sh 2026-09-18 20:36:23 +05:00
StressOzz d40d212ebc Update ZapretManager_LuCI.sh 2026-09-18 20:13:50 +05:00
StressOzz 570c2a9aef Update ZapretManager_LuCI.sh 2026-09-18 18:24:02 +05:00
StressOzz c1e60816ea Update ZapretManager_LuCI.sh 2026-09-18 18:23:19 +05:00
StressOzz ca2951a997 Update ZapretManager_LuCI.sh 2026-09-16 19:44:39 +05:00
StressOzz c5dd32c1f9 add sTGWS 2026-09-16 19:43:51 +05:00
StressOzz 229b70a796 fix Исключения устройств 2026-09-14 20:36:15 +05:00
StressOzz af33d81f0e Update titles and hints in ZapretManager_LuCI.sh 2026-09-13 22:01:28 +05:00
StressOzz 74b0045a3f Fix typos and improve comments in ZapretManager_LuCI.sh 2026-09-13 20:14:16 +05:00
StressOzz d8468bd153 Fix spelling in script header and update echo message 2026-09-13 20:08:21 +05:00
StressOzz 318ba77ef3 Update script comments and paths for Zapret Manager 2026-09-13 19:23:10 +05:00
StressOzz ae3d8e34f5 Update script comments and improve output messages 2026-09-13 17:33:22 +05:00
StressOzz 5a305bbd68 Update print statement from 'Hello' to 'Goodbye' 2026-09-13 16:43:20 +05:00
StressOzz 7c3d817277 Create ZapretManager_LuCI.sh 2026-09-13 03:18:48 +05:00