Commit Graph
394 Commits
Author SHA1 Message Date
StressOzz 1f0e5b377c Update zapret-hosts-user-exclude.txt 2026-10-02 06:50:40 +05:00
StressOzz ae55da627d v1.95
https://github.com/StressOzz/Zapret-Manager/issues/1062#issuecomment-5936953417
2026-10-01 22:36:02 +05:00
StressOzz 6f8d262d5b Update zapret-hosts-user-exclude.txt 2026-09-30 21:42:55 +05:00
StressOzz 131d03fc2e Update zapret-hosts-user-exclude.txt 2026-09-29 19:34:32 +05:00
StressOzz a33c0e1e9f Update zapret-hosts-user-exclude.txt 2026-09-29 18:30:02 +05:00
StressOzz 876b78a68a Update version from 1.68 to 1.69 2026-09-27 02:11:19 +05:00
StressOzz 9e17239a2c Merge pull request #1099 from Cheetah2022/main
Add Aniimo domains to user exclusion list
2026-09-27 01:24:21 +05:00
Cheetah2022 08093b3ac5 Add Aniimo domains to user exclusion list
Adds new domains related to Aniimo (guardease.com, kingsgroupgames.com, funplus.com) to the exclusion list in `zapret-hosts-user-exclude.txt`.
2026-09-26 23:18:26 +03:00
StressOzz 5ab77abcf9 v1.68
список изменений в ТГ канале
2026-09-26 23:48:16 +05:00
StressOzz d5833086b1 Update version to 1.65 2026-09-26 11:28:54 +05:00
StressOzz 691d2095de 1.64 2026-09-26 11:11:25 +05:00
StressOzz 0a60df09a3 v1.61 2026-09-26 09:11:08 +05:00
StressOzz 2e390c3ba8 v1.60 2026-09-26 08:43:14 +05:00
StressOzz 56b2fc8240 Update version to 1.56 and modify configurations 2026-09-26 07:38:43 +05:00
StressOzz 95e4fc5d3d v1.54
https://github.com/StressOzz/Zapret-Manager/issues/1062#issuecomment-5842272411
2026-09-26 07:22:53 +05:00
StressOzz 714d18f5eb v1.54
https://github.com/StressOzz/Zapret-Manager/issues/1062#issuecomment-5842272411
2026-09-26 07:12:42 +05:00
StressOzz 6b9379672d fix 2026-09-26 06:24:12 +05:00
StressOzz f683b9bd3f bug fix
https://github.com/StressOzz/Zapret-Manager/issues/1062#issuecomment-5838761511
2026-09-26 03:33:15 +05:00
StressOzz 98243b13a4 Add installation recommendation for Zapret Manager
Added recommendation for installing Zapret Manager WEB + LuCI with usage instructions.
2026-09-26 03:06:52 +05:00
StressOzz 35bddaa674 v9.90
https://github.com/StressOzz/Zapret-Manager/issues/1097#issue-5589063969
2026-09-26 03:05:41 +05:00
StressOzz de5b522804 v1.45
https://github.com/StressOzz/Zapret-Manager/issues/1062#issuecomment-5838761511
2026-09-26 01:03:04 +05:00
StressOzz b1fdf041ab Update readme.md 2026-09-25 07:04:01 +05:00
StressOzz 0258bf8682 Merge pull request #1090 from xyzmean/main
Автообход и Steer в веб-интерфейсе
2026-09-24 21:11:23 +05:00
StressOzz 8da658c673 косметика 2026-09-24 18:26:04 +05:00
StressOzz 26e295073e фикс в выборе автоподбора 2026-09-24 17:54:44 +05:00
StressOzz dd67c083dc косметика 2026-09-24 17:42:28 +05:00
xyzmean 0955c170ff Steer 1.5.8 и tgws 0.3.1; движок, поставленный автообходом, обновляется сам
- Версия движка Steer — 1.5.8: таблица правил заменяется одним действием, при упавших
  туннелях трафик каналов идёт через zapret. Запасная версия tgws — 0.3.1.
- Установленный движок раньше не обновлялся никогда: при «уже установлен» установка
  выходила сразу. Теперь движок, который поставил Zapret Manager, обновляется до его
  версии — при установке Steer и в начале автообхода. Чужой движок (splify2) не трогается.
  Работающий Steer после обновления перезапускается, а не выключается.
2026-09-24 03:52:59 +03:00
xyzmean 529f44e071 docs/autobypass: сторож DNS для ИИ-сервисов, удаление панели, что считается открытой целью 2026-09-24 03:07:05 +03:00
xyzmean ef6264b418 Автообход: сторож DNS своей задачей и не замолкает, уборка при удалении панели, честный замер стратегий
Сторож DNS для ИИ-сервисов шёл задачей redbtn: затирал журнал последнего автообхода и выглядел
на странице идущим автообходом. Теперь у него своя задача redbtn_geo; автообход и кнопка
«Подобрать DNS заново» ждут его, «Выключить» просит повторить. После неудачного подбора резолвер
снимался, и сторож молчал навсегда при живой строке cron — теперь пробует снова раз в два часа,
а если пакет удалён или zm-geodns выключен в автозапуске, снимает свою строку сам. Подбор
резолвера — не больше RB_PARALLEL проб разом.

Удаление панели зовёт redbtn_panel_gone: служба zm-geodns, её файл dnsmasq и строка cron
снимаются. Steer, туннели и warp.lst моста остаются — они переживают удаление панели намеренно.

Замер стратегий: цели внешнего набора без схемы идут по https://, а не по HTTP на 80-й; 451 и
000 — отказ, как в _rb_check_one; файл исключений качается, только если его нет или он пуст.

Мёртвое: запись «pkg tgws» в owned, geoblock.lst в установщике, состояние off и ветка для
снятых в Steer сервисов, до которой подбор не доходил.
2026-09-24 03:07:05 +03:00
xyzmean 839c7a3499 docs/autobypass: запасной порт WARP и порядок туннелей — лучший первым 2026-09-24 02:54:40 +03:00
xyzmean 069d93f463 steer: туннели в warp.up лучшим первым, запасной порт при привязке точки, без мёртвых функций
warp.up писался в порядке номеров туннелей, хотя комментарий обещал «лучший первым», а порядок
читают все, кому нужен один туннель: _st_warp_first, мост Telegram (warp.lst — первый живой) и
движок (devices в spec решают ничьи в пределах допуска prefer: latency). Разведка теперь отдаёт
ключ качества (разряд запаса, потери, круг), и _st_warp_order ставит туннели по нему. Если ни
один туннель не разведан заново, порядок прежний: перестановка по дрожанию пинга меняла бы spec
и перезапускала движок на каждом «Применить».

Второй найденный порт из warp.ports стал запасным: не дала точка рукопожатия при окончательной
привязке — тот же адрес пробуется на нём, прежде чем туннель сдаётся.

_st_warp_handshake, _st_warp_hs_epoch и _st_warp_colo нигде не вызывались — убраны.
2026-09-24 02:54:40 +03:00
xyzmean 404ba5f7db docs/autobypass: разведка останавливается на трёх точках вне колоний соседей, а не на трёх колониях 2026-09-24 02:43:45 +03:00
xyzmean 49c4d4bf25 docs/autobypass: веб-сокет — лишний слой TLS, поток MTProto мост не перешифровывает 2026-09-24 02:42:46 +03:00
xyzmean 215a2c436a docs/autobypass: у Telegram прямой путь через WARP дешевле веб-сокета через Cloudflare 2026-09-24 02:24:02 +03:00
xyzmean 356c3785fd docs/autobypass: путь моста через WARP выпущен в tgws 0.3.0 2026-09-24 02:19:57 +03:00
xyzmean c8b2d60cfb Запасная версия tgws — 0.3.0: мост сам ходит через WARP по списку туннелей 2026-09-24 02:19:33 +03:00
xyzmean 3f5aed3ffa Автообход: при равном итоге остаётся применённая стратегия, документ «Как работает автообход»
- Фоновое сравнение при равном итоге переключало на стратегию, которая шла в списке первой:
  на тестовом роутере v4 и v7 сошлись на 137, подбор ставил v7, видел, что сервисов
  открывается меньше, и возвращал v4. Теперь при равенстве применённая остаётся.
- Российская колония: выход у неё внутри страны, за теми же ТСПУ, — через неё не
  снимается ни геоблок, ни остальные блокировки. Так и сказано в журнале.
- docs/autobypass.md — как устроен автообход: порядок подбора, перебор стратегий и счёт,
  сравнение близких, выбор колоний WARP, списки, ИИ-сервисы, мост Telegram, ограничения.
2026-09-24 01:44:48 +03:00
xyzmean 9d2114806e Автообход: туннели для моста Telegram, кнопка включает выключенное руками, замер без часовых ожиданий
- Список туннелей WARP для stgws (/etc/stgws/warp.lst, без российских колоний) пишется
  после подъёма туннелей и стирается при выключении и удалении Steer.
- Туннели проверяются в конце любого подбора, если стоит Steer, даже когда сервисам WARP
  не понадобился: мосту они нужны всегда, а российский туннель так разводится заново.
- Нажатая кнопка снимает ручные выключения: выключенный Steer и сервисы, снятые на его
  странице, снова участвуют в подборе.
- Дополнительный замер: --fail-early и пять секунд на запрос — срок curl считался на
  каждый из десяти запросов, и стратегия, рвущая соединения, мерилась по часу.
- pkill в busybox OpenWrt нет — процессы ищутся через ps; установщик снимает фоновое
  сравнение всем деревом процессов, иначе его цикл продолжал запускать curl.
2026-09-24 01:27:49 +03:00
xyzmean 6538d93d2e Автообход: близкие ±10 % сравниваются замером dpi-detector, итог — сумма счетов
- В фоновое сравнение идут стратегии не ниже 90 % от основного счёта лучшей; первыми —
  открывшие больше адресов неоткрывшихся сервисов, всего до шести. Итоговый счёт =
  основной + дополнительный, побеждает больший.
- Дополнительный замер — как в dpi-detector (core/tcp16_scanner.py): по одному
  соединению десять запросов HEAD с X-Pad по 4 КБ, SNI из списка или example.com, узел
  засчитывается, если соединение пережило все десять. Прежнее «скачать 64 КБ с голого
  адреса» у всех стратегий давало одинаковые 3 из 37. Узлы — весь список, 110.
- Живой туннель WARP в российской колонии разводится заново: Cloudflare со временем
  стал отвечать на прежний адрес из DME, а туннель держался, потому что жив.
- Задача считается живой, только пока в её журнале нет __DONE__: номер завершившегося
  подбора достался проверке гео-DNS из cron, и установщик отказывался ставиться.
- Установщик под set -e молча обрывался на kill уже завершившегося фонового сравнения.
2026-09-24 00:39:01 +03:00
xyzmean e22b573785 Автообход: полный подбор идёт всегда, стратегии снова запускаются, равные сравниваются в фоне
- Полный подбор после быстрого не проверял ни одной стратегии: перебор шёл только когда
  что-то не открывалось, а после быстрого открывалось всё. Теперь полный идёт всегда.
- Бэкенд из rpcd работал с umask 077, и списки zapret, которые он переписывал, получали
  права 600: nfqws после сброса прав их не читал, и каждая стратегия «не запустилась», а
  общий обход после перезапуска молча терял списки. umask 022, права чинятся при
  перезапуске zapret и перед подбором.
- Счёт стратегий — общий («открылось N из 54»); при равном выше та, что открыла больше
  адресов неоткрывшихся сервисов.
- Равные лучшие сравниваются уже после подбора, в фоне, по узлам CDN из списка
  dpi-detector (Runnin4ik): обход к этому моменту работает, на странице — «Лучшая
  стратегия определится позже». Стратегия меняется, только если другая набрала строго
  больше и сервисов открывается не меньше.
- На роутерах меньше 256 МБ пробы идут по четыре, а не по восемь.
- Запасная версия tgws — 0.2.9.
2026-09-23 23:45:48 +03:00
xyzmean 61bff13932 Web UI: без полоски у кнопки StressKVN, Steer с заглавной
Градиент кнопки повторялся под прозрачной рамкой, и слева виднелся его
противоположный конец. Фон теперь начинается от края рамки и не повторяется.
Название движка в текстах интерфейса — Steer.
2026-09-23 22:46:38 +03:00
xyzmean 7c6410d587 steer: живые туннели не пересканируются на каждом «Применить», автообход не поднимает их дважды
Живой туннель считался негодным, если его колония совпала с соседней, и на каждом
применении правил его заново сканировали и переподключали — хотя такую колонию и выбрала
разведка, когда другой не нашлось. Автообход вдобавок звал подъём туннелей второй раз через
_st_apply, сразу после своего. Развести туннели по колониям заново — «Сменить точки входа».
2026-09-23 22:41:25 +03:00
xyzmean 41d4b93eba Автообход и steer: разбор кода на баги
Автообход:
- «Стоп» оставлял флаг остановки страницы steer, и следующий подбор сразу гасил все туннели
  WARP — теперь проход снимает все три флага.
- Имена из чужого hosts-файла (dns.malw.link) шли в конфиг dnsmasq без проверки: `#`, `*`,
  `\r` от CRLF уводили весь DNS в георезолвер или ломали dnsmasq. Фильтр имён хостов —
  при скачивании и ещё раз в init zm-geodns.
- trap по INT/TERM теперь с выходом; пробы ждут свои процессы, а не всех детей (рядом живёт
  nfqws стратегии); остатки прошлого подбора (nfqws на очереди 8397) убираются в начале;
  не встали правила изоляции — подбор честно отказывает.
- DNS для ИИ-сервисов: резолвер, не открывший их, выключается; пропал резолвер — снимается
  и файл dnsmasq; порт 5359 вне серии https-dns-proxy человека; restart не перезапускает
  dnsmasq дважды; «Выключить» не удаляет https-dns-proxy, если им пользуется страница DoH;
  сторож и кнопка идут задачей и сторож ставится и с кнопки.
- Стоп посреди перепроверок возвращает прежнюю стратегию; стратегия для YouTube
  сравнивается с контролем; имена стратегий Flowseal в журнале целиком.

steer:
- Лучшая точка ставилась без нового рукопожатия — туннель оставался на последнем
  опробованном адресе; теперь сессия сбрасывается.
- «Стоп» гасил живые туннели и не прерывал задачу — теперь ничего не пишется и не гасится.
- После перезапуска туннелей спека пересобирается (новые туннели попадают в devices).
- Перебор портов слышит «стоп» и ограничен тремя адресами; кэш портов сбрасывается при
  подборе заново; при splify2 удаление не трогает его движок и спеку; выключенный steer не
  поднимается «Исправить DNS»; после «Стопа» туннели не встают при перезагрузке (auto=0);
  сбой одного набора .srs не лишает списков соседний сервис; списки свежие на каждое
  «Применить»; имена в спеке экранируются; id сервисов проверяются.

Интерфейс: «работает» не показывается при мёртвом туннеле; «Через WARP» считает сервисы,
а не каналы; после «Выключить» автопроверка не рисует поломку; при splify2 карточки и
кнопки скрыты; выбор не теряется при ошибке; перезагрузка страницы показывает текущую
операцию; звук не выключается навсегда без нажатия; подсказка «установите steer» не
показывается, когда steer стоит; .catch у запросов.
2026-09-23 22:39:21 +03:00
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 93b13a9ea0 Синк с апстримом StressOzz/Zapret-Manager 2026-09-23 22:02:07 +03:00
StressOzz 66806f04ec Add message to show Telegram contact in menu 2026-09-24 00:00:57 +05:00
xyzmean 0adc67708f Синк с апстримом StressOzz/Zapret-Manager 2026-09-23 21:54:27 +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