zapret-kvn/xray_fluent/application
Repository files (latest commit first)
Filename Latest commit message Latest commit date
loop-uh f9971d5a1f
Some checks failed
Windows project source guards / test (push) Failing after 31s
Zapret: модуль и страница переписаны — проще, понятнее, строже
Движок разложен на части с одной задачей каждая:
- endpoint: вид сервера (TCP / QUIC / WireGuard), хосты, порты, DNS;
- strategies: каталоги winws2 и правило для выбранного сервера;
- presets: файлы пресетов;
- command: сборка командной строки winws2 (чистая функция);
- manager: процесс winws2 с одним входом apply(план) и ревизиями —
  готовность только по started процесса нужной ревизии, таймаут 5 с.
Склейка с подключением (~450 строк в контроллере, два наслоенных
механизма «UDP-защиты» и «профиля сервера», кэш и прогрев DNS) заменена
шлюзом application/server_bypass.py. Сохранены: DNS только в воркере,
остановка туннеля перед сменой правила (кроме восстановления Hysteria),
забор перед стартом ядра, fail-closed при потере winws2 (теперь и по
таймауту перезапуска), маскировка IP сервера в логах до старта ядра;
адреса серверов пула изучаются в фоне после подключения.

Поведение:
- у QUIC и WireGuard теперь свои стратегии; ключ zapret_target совместим,
  старые сборки после отката читают udp_* как раньше;
- в каталогах вернулись 82 составные стратегии с ветками --payload
  (валидатор принимал только --lua-desync и молча их выбрасывал);
- смена пресета под защищённой сессией идёт через переход: туннель
  останавливается, winws2 перезапускается, VPN подключается снова;
- пропавший файл выбранного пресета — откат к Default, а не отказ;
- правка работающего пресета перезапускает его; переименование больше
  не оставляет копию, занятое имя отклоняется;
- настройки Zapret не откатываются при сохранении страницы «Настройки».

Интерфейс: карточка состояния (работает/нет, пресет, одна кнопка,
автозапуск), выбранный VPN-сервер с живым правилом, три строки видов
серверов с подстраницей стратегии, пресеты — отдельной подстраницей.
Объяснение — в окне «Как это б#&^ь работает?» с иллюстрацией.
2026-09-28 20:53:25 +03:00
..
__init__.py Prepare v0.4.78: server list rework, faster switching, subscriptions 2026-08-11 22:10:53 +03:00
async_steps.py Приёмка без зависаний: сайдкары Hysteria/AWG и защищённый Zapret-путь 2026-09-26 13:32:51 +03:00
auto_switch_service.py Авто-переключение только при отказе сервера, без триггера по скорости 2026-09-26 13:04:31 +03:00
config.py фикс открытого прокси 2026-04-07 20:49:48 +03:00
config_documents.py Prepare v0.4.78: server list rework, faster switching, subscriptions 2026-08-11 22:10:53 +03:00
config_profiles.py Update config_profiles.py 2026-04-07 21:11:24 +03:00
connection_service.py Zapret: модуль и страница переписаны — проще, понятнее, строже 2026-09-28 20:53:25 +03:00
controller.py Zapret: модуль и страница переписаны — проще, понятнее, строже 2026-09-28 20:53:25 +03:00
node_runtime_service.py fix: preserve interactive server table and bound DNS fallback readiness 2026-09-06 02:07:48 +03:00
node_service.py Умная проверка: ручной выбор сервера фиксирует его на 30 минут 2026-09-26 15:33:31 +03:00
nodes.py фикс открытого прокси 2026-04-07 20:49:48 +03:00
outbound_pool_service.py feat: use official Amnezia transport and organize runtime modules 2026-09-06 00:14:08 +03:00
port_allocator.py sing-box extended 2026-07-11 21:01:15 +03:00
profile_service.py Маршрутизация: структурный редактор sing-box по схеме ядра 2026-09-26 20:30:17 +03:00
protocol_core.py feat: use official Amnezia transport and organize runtime modules 2026-09-06 00:14:08 +03:00
rotation_service.py feat: use official Amnezia transport and organize runtime modules 2026-09-06 00:14:08 +03:00
route_check.py Простое правило: регистр программ, слово без точки, защитные правила, «Применить» 2026-09-27 13:14:18 +03:00
runtime.py Переходы подключения целиком шагами через координатор, без зависаний GUI 2026-09-26 13:27:04 +03:00
runtime_introspection.py wireguard 2026-07-11 23:17:09 +03:00
runtime_security.py feat: use official Amnezia transport and organize runtime modules 2026-09-06 00:14:08 +03:00
runtime_services.py Zapret: модуль и страница переписаны — проще, понятнее, строже 2026-09-28 20:53:25 +03:00
server_bypass.py Zapret: модуль и страница переписаны — проще, понятнее, строже 2026-09-28 20:53:25 +03:00
session_state.py feat: use official Amnezia transport and organize runtime modules 2026-09-06 00:14:08 +03:00
signature_service.py Переходы подключения целиком шагами через координатор, без зависаний GUI 2026-09-26 13:27:04 +03:00
singbox_config_recovery.py Automatically recover wrapped sing-box configs 2026-07-25 18:34:27 +03:00
singbox_editor_check.py Маршрутизация: структурный редактор sing-box по схеме ядра 2026-09-26 20:30:17 +03:00
smart_switch_service.py Умная проверка: ручной выбор сервера фиксирует его на 30 минут 2026-09-26 15:33:31 +03:00
startup_service.py Zapret: модуль и страница переписаны — проще, понятнее, строже 2026-09-28 20:53:25 +03:00
subscription_service.py feat: use official Amnezia transport and organize runtime modules 2026-09-06 00:14:08 +03:00
template_sync.py Маршрутизация: структурный редактор sing-box по схеме ядра 2026-09-26 20:30:17 +03:00
transition_engine.py fix: unify transport transitions and restore direct Russian services 2026-09-06 01:10:35 +03:00
update_service.py Обновление ядра Xray: остановка подключения через координатор 2026-09-26 13:48:15 +03:00
worker_service.py Авто-переключение: умная проверка низкой скорости 2026-09-26 15:23:54 +03:00
xray_runtime_service.py feat: use official Amnezia transport and organize runtime modules 2026-09-06 00:14:08 +03:00