Commit Graph
1 Commits
Author SHA1 Message Date
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