loop-uh
f9971d5a1f
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
..
data
release: prepare v0.4.82
2026-08-12 01:27:02 +03:00
fixtures
feat: unify Hysteria runtime recovery contract
2026-09-01 00:36:39 +03:00
step_fakes.py
Менеджеры ядер на шаговой модели: без блокировок и processEvents в GUI
2026-09-26 13:25:55 +03:00
test_amnezia_golden.py
feat: use official Amnezia transport and organize runtime modules
2026-09-06 00:14:08 +03:00
test_amnezia_health.py
fix: resolve AWG uplink via GetBestInterfaceEx and stop false HTTPS warnings
2026-09-14 13:13:16 +03:00
test_amnezia_ownership.py
Переходы подключения целиком шагами через координатор, без зависаний GUI
2026-09-26 13:27:04 +03:00
test_amnezia_uplink.py
fix: resolve AWG uplink via WinAPI and unify the sidecar relay seam
2026-09-14 11:54:30 +03:00
test_app_accent_theme.py
feat: use official Amnezia transport and organize runtime modules
2026-09-06 00:14:08 +03:00
test_app_accent_widgets.py
Zapret: модуль и страница переписаны — проще, понятнее, строже
2026-09-28 20:53:25 +03:00
test_app_adaptive_buttons.py
Кнопки: подпись уходит в подсказку, когда ряду не хватает места
2026-09-26 18:25:16 +03:00
test_app_auto_update.py
Автообновление: битый архив не качается каждые полчаса, порядок подключения сохранён
2026-09-27 16:27:47 +03:00
test_app_connection_orb.py
Панель: текст слева, сцена справа, подключение — только кнопкой питания
2026-09-26 21:51:54 +03:00
test_app_dashboard_layout.py
Панель: плитки VPN/Прокси показывают выбор, пока идёт переход
2026-09-26 19:13:57 +03:00
test_app_dashboard_motion.py
Панель: текст слева, сцена справа, подключение — только кнопкой питания
2026-09-26 21:51:54 +03:00
test_app_detail_pages.py
Подписки: переключатель автообновления не показывает непринятый выбор
2026-09-26 19:15:56 +03:00
test_app_elided_label.py
Маршрутизация: подпись активной копии в одну строку с многоточием
2026-09-26 20:55:59 +03:00
test_app_fluent_dialog.py
feat: add subscriptions and core-native hot switching
2026-08-12 00:57:49 +03:00
test_app_gui_stall_watchdog.py
Диагностика: измеритель зависаний GUI-потока
2026-09-26 12:30:40 +03:00
test_app_icon.py
Update application icon ( #75 )
2026-07-15 20:43:44 +03:00
test_app_modern_ui.py
Таблица серверов: одна плоская модель и лёгкая отрисовка
2026-09-26 13:18:28 +03:00
test_app_navigation_layout.py
Меню: основные пункты в прокручиваемой области панели
2026-09-26 21:28:11 +03:00
test_app_nodes_interaction.py
Таблица серверов: одна плоская модель и лёгкая отрисовка
2026-09-26 13:18:28 +03:00
test_app_nodes_page_view.py
Таблица серверов: одна плоская модель и лёгкая отрисовка
2026-09-26 13:18:28 +03:00
test_app_runtime_errors_throttle.py
CPU/память: журнал ошибок ядер и учёт соединений больше не растут без предела
2026-09-26 16:34:01 +03:00
test_app_scrollable_page.py
Маршрутизация: структурный редактор sing-box по схеме ядра
2026-09-26 20:30:17 +03:00
test_app_settings_nodes_view.py
feat: use official Amnezia transport and organize runtime modules
2026-09-06 00:14:08 +03:00
test_app_singbox_routing_art.py
Маршрутизация: значки, живые иллюстрации и анимации
2026-09-26 20:53:39 +03:00
test_app_singbox_routing_page.py
Zapret: модуль и страница переписаны — проще, понятнее, строже
2026-09-28 20:53:25 +03:00
test_app_startup_subscription_settings.py
feat: use official Amnezia transport and organize runtime modules
2026-09-06 00:14:08 +03:00
test_app_switch_slider.py
Панель: сфера подключения, плитки трафика, русские переключатели
2026-09-26 13:18:28 +03:00
test_app_system_proxy_signal.py
Системный прокси: переключатель показывает выбор, а не старое состояние
2026-09-26 18:56:54 +03:00
test_app_theme_repaint.py
Таблица серверов: одна плоская модель и лёгкая отрисовка
2026-09-26 13:18:28 +03:00
test_app_theme_tokens.py
Тема: позитивные статусы в цвете акцента
2026-09-26 15:16:04 +03:00
test_app_transition_gui_stalls.py
Zapret: модуль и страница переписаны — проще, понятнее, строже
2026-09-28 20:53:25 +03:00
test_app_update_check.py
feat: use official Amnezia transport and organize runtime modules
2026-09-06 00:14:08 +03:00
test_app_update_script.py
feat: use official Amnezia transport and organize runtime modules
2026-09-06 00:14:08 +03:00
test_app_updater_urls.py
feat: use official Amnezia transport and organize runtime modules
2026-09-06 00:14:08 +03:00
test_app_zapret_manual_start.py
Zapret: модуль и страница переписаны — проще, понятнее, строже
2026-09-28 20:53:25 +03:00
test_app_zapret_target_ui.py
Zapret: модуль и страница переписаны — проще, понятнее, строже
2026-09-28 20:53:25 +03:00
test_async_steps.py
Prepare v0.4.78: server list rework, faster switching, subscriptions
2026-08-11 22:10:53 +03:00
test_auto_switch_dead_link.py
Авто-переключение только при отказе сервера, без триггера по скорости
2026-09-26 13:04:31 +03:00
test_awg3_conf_import.py
feat: use official Amnezia transport and organize runtime modules
2026-09-06 00:14:08 +03:00
test_background_workers.py
Zapret: модуль и страница переписаны — проще, понятнее, строже
2026-09-28 20:53:25 +03:00
test_build_download_cache.py
build: reuse verified routing archives across dev and stable
2026-09-05 18:47:50 +03:00
test_championat_direct_templates.py
Синхронизировать клиентские маршруты с политикой VPnBot
2026-08-12 20:23:51 +03:00
test_core_hot_switch.py
Zapret: модуль и страница переписаны — проще, понятнее, строже
2026-09-28 20:53:25 +03:00
test_core_release_freeze.py
Заморозка ядра фиксирует и Hysteria; Go для Amnezia 1.26.8
2026-09-27 14:13:44 +03:00
test_core_resolver.py
Ядра: Hysteria обновляется вместе с остальными, пин app/v2.12.3
2026-09-27 13:41:32 +03:00
test_core_update_transition.py
Обновление ядра Xray: остановка подключения через координатор
2026-09-26 13:48:15 +03:00
test_country_flags_assets.py
feat: use official Amnezia transport and organize runtime modules
2026-09-06 00:14:08 +03:00
test_destination_scope.py
Отказ сервера по адресу назначения не рвёт рабочий туннель; проверка без DoH
2026-09-25 15:48:26 +03:00
test_diagnostic_runtime_snapshot.py
Логи и экспорт диагностики без адресов серверов
2026-09-26 23:09:17 +03:00
test_dns_cache_countries.py
fix: unify transport transitions and restore direct Russian services
2026-09-06 01:10:35 +03:00
test_dns_readiness_fallback.py
Менеджеры ядер на шаговой модели: без блокировок и processEvents в GUI
2026-09-26 13:25:55 +03:00
test_engine_process_stop.py
Менеджеры ядер на шаговой модели: без блокировок и processEvents в GUI
2026-09-26 13:25:55 +03:00
test_file_manager.py
fix: unify transport transitions and restore direct Russian services
2026-09-06 01:10:35 +03:00
test_geoip_build.py
feat: use official Amnezia transport and organize runtime modules
2026-09-06 00:14:08 +03:00
test_happ_crypt.py
feat: use official Amnezia transport and organize runtime modules
2026-09-06 00:14:08 +03:00
test_hot_switch_hardening.py
Zapret: модуль и страница переписаны — проще, понятнее, строже
2026-09-28 20:53:25 +03:00
test_http_utils.py
feat: use official Amnezia transport and organize runtime modules
2026-09-06 00:14:08 +03:00
test_hysteria_authenticated_readiness.py
Менеджеры ядер на шаговой модели: без блокировок и processEvents в GUI
2026-09-26 13:25:55 +03:00
test_hysteria_live_readiness.py
test: drop stale Hysteria live-readiness warning assertion
2026-09-14 13:38:51 +03:00
test_hysteria_runtime_contract.py
feat: use official Amnezia transport and organize runtime modules
2026-09-06 00:14:08 +03:00
test_hysteria_startup_regressions.py
Менеджеры ядер на шаговой модели: без блокировок и processEvents в GUI
2026-09-26 13:25:55 +03:00
test_log_server_redaction.py
Логи и экспорт диагностики без адресов серверов
2026-09-26 23:09:17 +03:00
test_main_window_static.py
Prepare v0.4.79: unified theming, responsive layout, real flags
2026-08-11 23:21:28 +03:00
test_native_routing_templates.py
fix: resolve tunnel names on the node instead of DoH through the proxy
2026-09-06 17:28:33 +03:00
test_native_template_core_validation.py
fix: unify transport transitions and restore direct Russian services
2026-09-06 01:10:35 +03:00
test_node_lookup.py
feat: use official Amnezia transport and organize runtime modules
2026-09-06 00:14:08 +03:00
test_nodes_table_model.py
Тема: позитивные статусы в цвете акцента
2026-09-26 15:16:04 +03:00
test_nodes_table_model_filters.py
Таблица серверов: одна плоская модель и лёгкая отрисовка
2026-09-26 13:18:28 +03:00
test_pending_state.py
Системный прокси: переключатель показывает выбор, а не старое состояние
2026-09-26 18:56:54 +03:00
test_port_allocator.py
sing-box extended
2026-07-11 21:01:15 +03:00
test_process_traffic_collector_bounded.py
Статистика процессов в TUN: проксируемый трафик больше не «напрямую»
2026-09-26 23:09:17 +03:00
test_proxy_engine_settings.py
feat: use official Amnezia transport and organize runtime modules
2026-09-06 00:14:08 +03:00
test_proxy_manager_state.py
Переходы подключения целиком шагами через координатор, без зависаний GUI
2026-09-26 13:27:04 +03:00
test_proxy_readiness.py
feat: use official Amnezia transport and organize runtime modules
2026-09-06 00:14:08 +03:00
test_raw_config_cache.py
Prepare v0.4.78: server list rework, faster switching, subscriptions
2026-08-11 22:10:53 +03:00
test_release_windows_automation.py
release: отмена неопубликованного релиза --abandon
2026-09-26 21:28:11 +03:00
test_rotation.py
feat: use official Amnezia transport and organize runtime modules
2026-09-06 00:14:08 +03:00
test_rotation_transitions.py
feat: use official Amnezia transport and organize runtime modules
2026-09-06 00:14:08 +03:00
test_runtime_error_journal_bounded.py
CPU/память: журнал ошибок ядер и учёт соединений больше не растут без предела
2026-09-26 16:34:01 +03:00
test_runtime_errors.py
CPU/память: журнал ошибок ядер и учёт соединений больше не растут без предела
2026-09-26 16:34:01 +03:00
test_runtime_logging.py
Логи и экспорт диагностики без адресов серверов
2026-09-26 23:09:17 +03:00
test_runtime_services_metrics.py
Авто-переключение: умная проверка низкой скорости
2026-09-26 15:23:54 +03:00
test_runtime_stop_regressions.py
Переходы подключения целиком шагами через координатор, без зависаний GUI
2026-09-26 13:27:04 +03:00
test_sidecar_readiness.py
fix: resolve AWG uplink via WinAPI and unify the sidecar relay seam
2026-09-14 11:54:30 +03:00
test_sing_udp_patch.py
test: keep ZIP traversal fixture unsafe on Windows
2026-09-06 00:27:10 +03:00
test_singbox_config_check.py
Менеджеры ядер на шаговой модели: без блокировок и processEvents в GUI
2026-09-26 13:25:55 +03:00
test_singbox_config_recovery.py
Automatically recover wrapped sing-box configs
2026-07-25 18:34:27 +03:00
test_singbox_core_updater.py
Update the sing-box core and let the button apply a subscription
2026-08-20 20:35:51 +03:00
test_singbox_default_domain_resolver.py
fix: always set route.default_domain_resolver for sing-box 1.14+
2026-09-14 18:20:07 +03:00
test_singbox_document.py
Маршрутизация: структурный редактор sing-box по схеме ядра
2026-09-26 20:30:17 +03:00
test_singbox_document_validation.py
Clarify invalid sing-box JSON root errors
2026-07-25 18:17:10 +03:00
test_singbox_editor_check.py
Маршрутизация: структурный редактор sing-box по схеме ядра
2026-09-26 20:30:17 +03:00
test_singbox_process_lookup_patch.py
Тесты: фикстуры патча ядра и панели не зависят от окружения Windows
2026-09-26 17:35:13 +03:00
test_singbox_protocols.py
feat: use official Amnezia transport and organize runtime modules
2026-09-06 00:14:08 +03:00
test_singbox_proxy_runtime.py
Тест самолечения порта Clash API не требует свободного порта
2026-09-26 22:29:28 +03:00
test_singbox_schema_snapshot.py
Маршрутизация: структурный редактор sing-box по схеме ядра
2026-09-26 20:30:17 +03:00
test_singbox_simple_rule_and_route_check.py
Правила: «2ip.ru, 2ip.io» в одной строке — два домена, значения по виду ядра
2026-09-27 15:32:20 +03:00
test_singbox_template_dns_contract.py
fix: resolve tunnel names on the node instead of DoH through the proxy
2026-09-06 17:28:33 +03:00
test_smart_switch.py
Умная проверка: ручной выбор сервера фиксирует его на 30 минут
2026-09-26 15:33:31 +03:00
test_source_layout.py
feat: use official Amnezia transport and organize runtime modules
2026-09-06 00:14:08 +03:00
test_speed_test_tun_bypass.py
Тест скорости в TUN меряет кандидата мимо туннеля
2026-09-26 15:56:11 +03:00
test_state_storage_key_cache.py
Сохранение состояния и истории трафика без блокировки GUI
2026-09-26 12:30:40 +03:00
test_subscription_fetch_fallback.py
Подписка: прямой ответ сервера финален, VPN-фолбэк только при отсутствии ответа
2026-09-15 14:14:59 +03:00
test_subscription_limits.py
Подписка: разворачивать страницы-запускалки клиентов и не импортировать заглушки HWID
2026-09-24 23:27:19 +03:00
test_subscriptions.py
Подписка: ответ-заглушку провайдера показывать как ошибку, а не импортировать
2026-09-25 00:12:11 +03:00
test_template_sync.py
Маршрутизация: структурный редактор sing-box по схеме ядра
2026-09-26 20:30:17 +03:00
test_traffic_history_persistence.py
Сохранение состояния и истории трафика без блокировки GUI
2026-09-26 12:30:40 +03:00
test_transition_responsiveness.py
Make server switching responsive
2026-08-05 00:06:32 +03:00
test_ui_theme_static.py
feat: use official Amnezia transport and organize runtime modules
2026-09-06 00:14:08 +03:00
test_update_notification.py
Окно переносится на другой монитор, обновление не выводит окно поверх всего
2026-09-27 23:01:11 +03:00
test_win_netinfo.py
Менеджеры ядер на шаговой модели: без блокировок и processEvents в GUI
2026-09-26 13:25:55 +03:00
test_window_screen_change.py
Окно переносится на другой монитор, обновление не выводит окно поверх всего
2026-09-27 23:01:11 +03:00
test_wireguard_endpoints.py
Тест скорости в TUN меряет кандидата мимо туннеля
2026-09-26 15:56:11 +03:00
test_worker_service_batching.py
feat: use official Amnezia transport and organize runtime modules
2026-09-06 00:14:08 +03:00
test_yandex_music_direct_templates.py
fix: resolve tunnel names on the node instead of DoH through the proxy
2026-09-06 17:28:33 +03:00
test_zapret_catalog.py
Zapret: модуль и страница переписаны — проще, понятнее, строже
2026-09-28 20:53:25 +03:00
test_zapret_manager.py
Zapret: модуль и страница переписаны — проще, понятнее, строже
2026-09-28 20:53:25 +03:00
test_zapret_moe_proxy_templates.py
fix: unify transport transitions and restore direct Russian services
2026-09-06 01:10:35 +03:00
test_zapret_target.py
Zapret: модуль и страница переписаны — проще, понятнее, строже
2026-09-28 20:53:25 +03:00