Commit Graph
43 Commits
Author SHA1 Message Date
xyzmean 291003b76f Web UI: полоска активного пункта меню не прилипает к краю экрана
Стояла на left: -14px — ровно на ширину отступа боковой панели, то есть вплотную к краю окна,
и со скруглением только справа выглядела обрезанной. Теперь в зазоре, скруглена целиком.
2026-09-23 22:23:06 +03:00
xyzmean 042f272838 steer: вкладка на три туннеля — у каждого своя карточка и своя проверка, разведка отбрасывает точки без HTTPS
Страница steer была рассчитана на один туннель: одна точка входа, один сервер, одна
«последняя связь», а «Проверить» смотрело только первый туннель. Теперь:

- steer_status отдаёт tunnels[] — у каждого туннеля точка, колония из последней разведки,
  свежесть рукопожатия и трафик; карточка «Туннели WARP» показывает их по одному, в шапке —
  «работает N из 3» и колонии живых. Один туннель — прежний вид.
- «Проверить» проверяет каждый туннель: HTTPS-трассировка с warp=on — ок; не прошла, но
  CF-RAY по HTTP отвечает — «соединение есть, но HTTPS через туннель не проходит» (другая
  поломка и другое действие); иначе — трафик не идёт. Упал один из трёх при живых остальных —
  замечание, а не поломка: steer переключится сам.
- Кнопки названы во множественном числе: «Перезапустить туннели», «Сменить точки входа».
- Разведка требует HTTPS через туннель: на части сетей через туннель проходят только мелкие
  пакеты и порт 80, и точка, годная по рукопожатию, потерям и CF-RAY, сайтов на устройствах
  не открывала. Такие точки — в последний запас.
2026-09-23 22:09:12 +03:00
xyzmean 507060762c Автообход: ролик в files/AutoBypass с каталогом videos.txt, запасная версия tgws 0.2.8
Код 1.38 ищет ролики в files/AutoBypass и их список в videos.txt — ролик переехал туда из
files/RedButton, каталог заведён. Запасной источник в форке смотрит туда же.
Запасная версия tgws (если GitLab не ответил) — 0.2.8: в ней починены картинки Telegram (ДЦ203).
2026-09-23 22:02:34 +03:00
xyzmean 70c200e9de Автообход 1.38: подбор zapret в изоляции, три WARP в разных колониях, списки splify2-lists, ИИ-сервисы через свой DoH
Поверх интерфейса 1.38 — то, чего ему не хватало в бэкенде:

- Подбор стратегий zapret больше не перебирает их на всей сети. Кандидаты и цели те же,
  менеджерские, но каждая стратегия мерится своим nfqws на очереди 8397, куда попадает
  только трафик проверки (порты 20000-20999); сеть до конца подбора живёт на прежней
  настройке, победитель уходит один раз, в конце. Устройство — как у тестера splify2.
- Страница steer держит три туннеля WARP (zmwarp, zmwarp2, zmwarp3) со своими
  регистрациями. Точка выбирается методом warpscout, как в brb: настоящее рукопожатие на
  живом интерфейсе, потери и круг, колония изнутри туннеля по CF-RAY; колонии разводятся,
  российские — в запас, при нехватке — та же колония через другой адрес. В спеке один выход
  со всеми живыми туннелями и prefer: latency. Все интерфейсы заводятся одним reload до
  разведки — иначе netifd перезапускал соседние туннели посреди неё. Кнопки перезапуска,
  смены точки и новых ключей действуют на все три; статус показывает колонии живых.
- Списки для туннеля — наборы .srs каталога splify2-lists (itdoginfo) с тегом из lists.json,
  разложенные steer srs-read; качаются напрямую или через уже поднятый туннель, при неудаче —
  списки пакета. Сужение Discord (udp и порты голоса) — отдельным каналом схемы 2.
- ИИ-сервисы открывает DNS, а не туннель: в WARP они больше не идут. Резолвер выбирается из
  пула geo (brb плюс dns.yo1nk.app) настоящим запросом к chatgpt.com через его DoH и
  работает своим экземпляром https-dns-proxy (zm-geodns) только для доменов списка
  dns.malw.link; остальной DNS и /etc/config/https-dns-proxy не меняются. Сторож раз в
  30 минут подбирает заново, если сервисы перестали открываться. На странице — «через DoH»,
  какой DNS выбран, «Подобрать DNS заново» и «Выключить».
- Проверка «DoH перехватывает DNS» смотрела на любой процесс https-dns-proxy и принимала
  zm-geodns за перехват; теперь — на службу пакета, и выключенную службу не поднимает.

Проверено на OpenWrt 25.12.5 в QEMU с чистого образа: steer поставил три туннеля,
автообход открыл закрытые по адресам Instagram и WhatsApp через WARP (клиент за LAN — 200),
ИИ-сервисы — через DoH, страницы автообхода и steer в Web UI без ошибок.
2026-09-23 21:54:27 +03:00
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