💥 ВСЕ НАШИ ССЫЛКИ: https://t.me/runetvpnyoutubediscord
🔔 Новый коммит в youtubediscord/zapret
📝 улучшение
👤 Автор: loop-uh
🔗 SHA:
📊 Статистика: 2 files changed, 106 insertions(+), 105 deletions(-)
📁 Изменённые файлы:
✏️
✏️
🔗 Открыть на GitHub
🔔 Новый коммит в youtubediscord/zapret
📝 улучшение
👤 Автор: loop-uh
🔗 SHA:
a06f643📊 Статистика: 2 files changed, 106 insertions(+), 105 deletions(-)
📁 Изменённые файлы:
✏️
src/preset_orchestra_zapret2/catalog.py✏️
src/ui/pages/zapret2/direct_control_page.py🔗 Открыть на GitHub
💥 ВСЕ НАШИ ССЫЛКИ: https://t.me/runetvpnyoutubediscord
🔔 Новый коммит в youtubediscord/zapret
📝 а
👤 Автор: loop-uh
🔗 SHA:
📊 Статистика: 10 files changed, 179 insertions(+), 93 deletions(-)
📁 Изменённые файлы:
✏️
✏️
✏️
✏️
✏️
✏️
✏️
✏️
✏️
✏️
🔗 Открыть на GitHub
🔔 Новый коммит в youtubediscord/zapret
📝 а
👤 Автор: loop-uh
🔗 SHA:
8f2bb42📊 Статистика: 10 files changed, 179 insertions(+), 93 deletions(-)
📁 Изменённые файлы:
✏️
src/donater/donate.py✏️
src/donater/service.py✏️
src/donater/storage.py✏️
src/managers/subscription_manager.py✏️
src/ui/mode_page_scope.py✏️
src/ui/pages/premium_page.py✏️
src/ui/pages/zapret1/user_presets_page.py✏️
src/ui/pages/zapret2/direct_zapret2_page.py✏️
src/ui/pages/zapret2/user_presets_page.py✏️
src/ui/text_catalog.py🔗 Открыть на GitHub
💥 ВСЕ НАШИ ССЫЛКИ: https://t.me/runetvpnyoutubediscord
🔔 Новый коммит в youtubediscord/zapret
📝 вап
👤 Автор: loop-uh
🔗 SHA:
📊 Статистика: 2 files changed, 234 insertions(+), 2 deletions(-)
📁 Изменённые файлы:
✏️
✏️
🔗 Открыть на GitHub
🔔 Новый коммит в youtubediscord/zapret
📝 вап
👤 Автор: loop-uh
🔗 SHA:
dcf318c📊 Статистика: 2 files changed, 234 insertions(+), 2 deletions(-)
📁 Изменённые файлы:
✏️
src/ui/pages/zapret1/user_presets_page.py✏️
src/ui/pages/zapret2/user_presets_page.py🔗 Открыть на GitHub
💥 ВСЕ НАШИ ССЫЛКИ: https://t.me/runetvpnyoutubediscord
🔔 Новый коммит в youtubediscord/zapret
📝 вап
👤 Автор: loop-uh
🔗 SHA:
📊 Статистика: 15 files changed, 1115 insertions(+), 365 deletions(-)
📁 Изменённые файлы:
✏️
✏️
✏️
✏️
✏️
✏️
✏️
✏️
✏️
✏️
✏️
🆕
✏️
✏️
✏️
🔗 Открыть на GitHub
🔔 Новый коммит в youtubediscord/zapret
📝 вап
👤 Автор: loop-uh
🔗 SHA:
ddfb770📊 Статистика: 15 files changed, 1115 insertions(+), 365 deletions(-)
📁 Изменённые файлы:
✏️
src/core/direct_flow.py✏️
src/core/presets/selection_service.py✏️
src/core/runtime/preset_runtime_coordinator.py✏️
src/dpi/dpi_controller.py✏️
src/ui/main_window.py✏️
src/ui/main_window_pages.py✏️
src/ui/pages/control_page.py✏️
src/ui/pages/zapret1/direct_control_page.py✏️
src/ui/pages/zapret1/user_presets_page.py✏️
src/ui/pages/zapret2/direct_control_page.py✏️
src/ui/pages/zapret2/user_presets_page.py🆕
src/ui/window_action_controller.py✏️
src/updater/telegram_updater.py✏️
src/zapret1_launcher/strategy_runner.py✏️
src/zapret2_launcher/strategy_runner.py🔗 Открыть на GitHub
💥 ВСЕ НАШИ ССЫЛКИ: https://t.me/runetvpnyoutubediscord
🔔 Новый коммит в youtubediscord/zapret
📝 подготовка к релизу
👤 Автор: loop-uh
🔗 SHA:
📊 Статистика: 30 files changed, 2281 insertions(+), 3509 deletions(-)
📁 Изменённые файлы:
✏️
✏️
✏️
✏️
✏️
✏️
✏️
✏️
✏️
🆕
✏️
✏️
🆕
🆕
✏️
🗑️
🗑️
✏️
✏️
✏️
✏️
🆕
🆕
✏️
✏️
✏️
✏️
✏️
✏️
✏️
🔗 Открыть на GitHub
🔔 Новый коммит в youtubediscord/zapret
📝 подготовка к релизу
👤 Автор: loop-uh
🔗 SHA:
4477a53📊 Статистика: 30 files changed, 2281 insertions(+), 3509 deletions(-)
📁 Изменённые файлы:
✏️
docs/DIAGRAMS.md✏️
src/autostart/autostart_direct.py✏️
src/autostart/autostart_direct_service.py✏️
src/autostart/autostart_exe.py✏️
src/autostart/autostart_remove.py✏️
src/autostart/autostart_service.py✏️
src/config/urls.py✏️
src/connection_test.py✏️
src/dpi/dpi_controller.py🆕
src/launcher_common/preset_runner_support.py✏️
src/launcher_common/runner_base.py✏️
src/launcher_common/runner_factory.py🆕
src/preset_zapret2/builtin_presets/Preset X v3 (game filter).txt🆕
src/support_request_bundle.py✏️
src/tgram/__init__.py🗑️
src/tgram/tg_log_bot.py🗑️
src/tgram/tg_log_full.py✏️
src/ui/page_names.py✏️
src/ui/pages/about_page.py✏️
src/ui/pages/connection_page.py✏️
src/ui/pages/logs_page.py🆕
src/ui/pages/preset_actions_menu.py🆕
src/ui/pages/preset_rating_menu.py✏️
src/ui/pages/support_page.py✏️
src/ui/pages/zapret1/user_presets_page.py✏️
src/ui/pages/zapret2/user_presets_page.py✏️
src/ui/text_catalog.py✏️
src/updater/update.py✏️
src/zapret1_launcher/strategy_runner.py✏️
src/zapret2_launcher/strategy_runner.py🔗 Открыть на GitHub
💥 ВСЕ НАШИ ССЫЛКИ: https://t.me/runetvpnyoutubediscord
🔔 Новый коммит в youtubediscord/zapret
📝 оптимизации
👤 Автор: loop-uh
🔗 SHA:
📊 Статистика: 6 files changed, 143 insertions(+), 58 deletions(-)
📁 Изменённые файлы:
✏️
✏️
✏️
✏️
✏️
✏️
🔗 Открыть на GitHub
🔔 Новый коммит в youtubediscord/zapret
📝 оптимизации
👤 Автор: loop-uh
🔗 SHA:
c259067📊 Статистика: 6 files changed, 143 insertions(+), 58 deletions(-)
📁 Изменённые файлы:
✏️
src/core/direct_preset_core/catalogs/winws2/tcp.txt✏️
src/core/direct_preset_core/catalogs/winws2/udp.txt✏️
src/core/direct_preset_core/service.py✏️
src/ui/main_window_pages.py✏️
src/ui/pages/home_page.py✏️
src/ui/pages/zapret2/direct_zapret2_page.py🔗 Открыть на GitHub
🐳1
💥 ВСЕ НАШИ ССЫЛКИ: https://t.me/runetvpnyoutubediscord
🔔 Новый коммит в youtubediscord/zapret
📝 статус
👤 Автор: loop-uh
🔗 SHA:
📊 Статистика: 3 files changed, 38 insertions(+), 123 deletions(-)
📁 Изменённые файлы:
✏️
✏️
✏️
🔗 Открыть на GitHub
🔔 Новый коммит в youtubediscord/zapret
📝 статус
👤 Автор: loop-uh
🔗 SHA:
817d59d📊 Статистика: 3 files changed, 38 insertions(+), 123 deletions(-)
📁 Изменённые файлы:
✏️
src/main.py✏️
src/managers/initialization_manager.py✏️
src/ui/pages/home_page.py🔗 Открыть на GitHub
💥 ВСЕ НАШИ ССЫЛКИ: https://t.me/runetvpnyoutubediscord
🔔 Новый коммит в youtubediscord/zapret
📝 Update dns_worker.py
👤 Автор: loop-uh
🔗 SHA:
📊 Статистика: 1 file changed, 3 deletions(-)
📁 Изменённые файлы:
✏️
🔗 Открыть на GitHub
🔔 Новый коммит в youtubediscord/zapret
📝 Update dns_worker.py
👤 Автор: loop-uh
🔗 SHA:
771d70b📊 Статистика: 1 file changed, 3 deletions(-)
📁 Изменённые файлы:
✏️
src/dns/dns_worker.py🔗 Открыть на GitHub
💥 ВСЕ НАШИ ССЫЛКИ: https://t.me/runetvpnyoutubediscord
🔔 Новый коммит в youtubediscord/zapret
📝 фиксы
👤 Автор: loop-uh
🔗 SHA:
📊 Статистика: 27 files changed, 1987 insertions(+), 1256 deletions(-)
📁 Изменённые файлы:
✏️
✏️
✏️
✏️
✏️
✏️
✏️
✏️
✏️
✏️
✏️
✏️
✏️
✏️
✏️
✏️
✏️
✏️
✏️
✏️
🆕
✏️
✏️
🆕
🆕
🆕
✏️
🔗 Открыть на GitHub
🔔 Новый коммит в youtubediscord/zapret
📝 фиксы
👤 Автор: loop-uh
🔗 SHA:
17a6372📊 Статистика: 27 files changed, 1987 insertions(+), 1256 deletions(-)
📁 Изменённые файлы:
✏️
src/config/urls.py✏️
src/core/direct_preset_core/catalogs/winws2/tcp.txt✏️
src/core/direct_preset_core/service.py✏️
src/dpi/dpi_controller.py✏️
src/launcher_common/preset_runner_support.py✏️
src/main.py✏️
src/support_request_bundle.py✏️
src/tray.py✏️
src/ui/close_dialog.py✏️
src/ui/compat_widgets.py✏️
src/ui/main_window.py✏️
src/ui/main_window_pages.py✏️
src/ui/pages/appearance_page.py✏️
src/ui/pages/blockcheck_page.py✏️
src/ui/pages/hostlist_page.py✏️
src/ui/pages/preset_subpage_base.py✏️
src/ui/pages/strategy_scan_page.py✏️
src/ui/pages/zapret1/user_presets_page.py✏️
src/ui/pages/zapret2/strategy_detail_page.py✏️
src/ui/pages/zapret2/user_presets_page.py🆕
src/ui/support_request_actions.py✏️
src/ui/text_catalog.py✏️
src/ui/widgets/direct_zapret2_strategies_tree.py🆕
src/ui/window_close_controller.py🆕
src/ui/window_geometry_controller.py🆕
src/ui/window_notification_controller.py✏️
src/zapret2_launcher/strategy_runner.py🔗 Открыть на GitHub
💥 ВСЕ НАШИ ССЫЛКИ: https://t.me/runetvpnyoutubediscord
🔔 Новый коммит в youtubediscord/zapret
📝 фиксы
👤 Автор: loop-uh
🔗 SHA:
📊 Статистика: 14 files changed, 1069 insertions(+), 810 deletions(-)
📁 Изменённые файлы:
🆕
✏️
✏️
✏️
✏️
✏️
✏️
✏️
✏️
✏️
✏️
🆕
🆕
✏️
🔗 Открыть на GitHub
🔔 Новый коммит в youtubediscord/zapret
📝 фиксы
👤 Автор: loop-uh
🔗 SHA:
83d7501📊 Статистика: 14 files changed, 1069 insertions(+), 810 deletions(-)
📁 Изменённые файлы:
🆕
src/app_notifications.py✏️
src/dpi/dpi_controller.py✏️
src/launcher_common/preset_runner_support.py✏️
src/main.py✏️
src/managers/initialization_manager.py✏️
src/managers/subscription_manager.py✏️
src/startup/bfe_util.py✏️
src/startup/check_start.py✏️
src/startup/kaspersky.py✏️
src/startup/telega_check.py✏️
src/ui/close_dialog.py🆕
src/ui/dialog_action_buttons.py🆕
src/ui/start_strategy_warning_dialog.py✏️
src/ui/window_notification_controller.py🔗 Открыть на GitHub
🐳1
💥 ВСЕ НАШИ ССЫЛКИ: https://t.me/runetvpnyoutubediscord
🔔 Новый коммит в youtubediscord/zapret
📝 Update bug_report.yml
👤 Автор: loop-uh
🔗 SHA:
📊 Статистика: 1 file changed, 1 insertion(+)
📁 Изменённые файлы:
✏️
🔗 Открыть на GitHub
🔔 Новый коммит в youtubediscord/zapret
📝 Update bug_report.yml
👤 Автор: loop-uh
🔗 SHA:
88389af📊 Статистика: 1 file changed, 1 insertion(+)
📁 Изменённые файлы:
✏️
.github/ISSUE_TEMPLATE/bug_report.yml🔗 Открыть на GitHub
💥 ВСЕ НАШИ ССЫЛКИ: https://t.me/runetvpnyoutubediscord
🔔 Новый коммит в youtubediscord/zapret
📝 Update feature_request.yml
👤 Автор: loop-uh
🔗 SHA:
📊 Статистика: 1 file changed, 1 insertion(+)
📁 Изменённые файлы:
✏️
🔗 Открыть на GitHub
🔔 Новый коммит в youtubediscord/zapret
📝 Update feature_request.yml
👤 Автор: loop-uh
🔗 SHA:
23d2eaf📊 Статистика: 1 file changed, 1 insertion(+)
📁 Изменённые файлы:
✏️
.github/ISSUE_TEMPLATE/feature_request.yml🔗 Открыть на GitHub
💥 ВСЕ НАШИ ССЫЛКИ: https://t.me/runetvpnyoutubediscord
🔔 Новый коммит в youtubediscord/zapret
📝 Update hostlist_ipset_request.yml
👤 Автор: loop-uh
🔗 SHA:
📊 Статистика: 1 file changed, 1 insertion(+)
📁 Изменённые файлы:
✏️
🔗 Открыть на GitHub
🔔 Новый коммит в youtubediscord/zapret
📝 Update hostlist_ipset_request.yml
👤 Автор: loop-uh
🔗 SHA:
29baa8f📊 Статистика: 1 file changed, 1 insertion(+)
📁 Изменённые файлы:
✏️
.github/ISSUE_TEMPLATE/hostlist_ipset_request.yml🔗 Открыть на GitHub
💥 ВСЕ НАШИ ССЫЛКИ: https://t.me/runetvpnyoutubediscord
🔔 Новый коммит в youtubediscord/zapret
📝 Update hostlist_ipset_request.yml
👤 Автор: loop-uh
🔗 SHA:
📊 Статистика: 1 file changed, 1 insertion(+), 1 deletion(-)
📁 Изменённые файлы:
✏️
🔗 Открыть на GitHub
🔔 Новый коммит в youtubediscord/zapret
📝 Update hostlist_ipset_request.yml
👤 Автор: loop-uh
🔗 SHA:
f12d0cc📊 Статистика: 1 file changed, 1 insertion(+), 1 deletion(-)
📁 Изменённые файлы:
✏️
.github/ISSUE_TEMPLATE/hostlist_ipset_request.yml🔗 Открыть на GitHub
💥 ВСЕ НАШИ ССЫЛКИ: https://t.me/runetvpnyoutubediscord
🔔 Новый коммит в youtubediscord/zapret
📝 Merge pull request #293 from dttric/patch-2
👤 Автор: loop-uh
🔗 SHA:
📊 Статистика: 1 file changed, 1 insertion(+), 2 deletions(-)
📁 Изменённые файлы:
✏️
🔗 Открыть на GitHub
🔔 Новый коммит в youtubediscord/zapret
📝 Merge pull request #293 from dttric/patch-2
👤 Автор: loop-uh
🔗 SHA:
8661c5b📊 Статистика: 1 file changed, 1 insertion(+), 2 deletions(-)
📁 Изменённые файлы:
✏️
docs/README.md🔗 Открыть на GitHub
💥 ВСЕ НАШИ ССЫЛКИ: https://t.me/runetvpnyoutubediscord
🔔 Новый коммит в youtubediscord/zapret
📝 Merge branch 'main' of https://github.com/youtubediscord/zapret
👤 Автор: loop-uh
🔗 SHA:
📊 Статистика: 4 files changed, 4 insertions(+), 2 deletions(-)
📁 Изменённые файлы:
✏️
✏️
✏️
✏️
🔗 Открыть на GitHub
🔔 Новый коммит в youtubediscord/zapret
📝 Merge branch 'main' of https://github.com/youtubediscord/zapret
👤 Автор: loop-uh
🔗 SHA:
4d26f69📊 Статистика: 4 files changed, 4 insertions(+), 2 deletions(-)
📁 Изменённые файлы:
✏️
.github/ISSUE_TEMPLATE/bug_report.yml✏️
.github/ISSUE_TEMPLATE/feature_request.yml✏️
.github/ISSUE_TEMPLATE/hostlist_ipset_request.yml✏️
docs/README.md🔗 Открыть на GitHub
💥 ВСЕ НАШИ ССЫЛКИ: https://t.me/runetvpnyoutubediscord
🔔 Новый коммит в youtubediscord/zapret
📝 добавлены новые all tcp & udp для тех у кого ничего не работает
👤 Автор: loop-uh
🔗 SHA:
📊 Статистика: 10 files changed, 419 insertions(+), 57 deletions(-)
📁 Изменённые файлы:
📝
🆕
🆕
🆕
✏️
🆕
✏️
✏️
✏️
✏️
🔗 Открыть на GitHub
🔔 Новый коммит в youtubediscord/zapret
📝 добавлены новые all tcp & udp для тех у кого ничего не работает
👤 Автор: loop-uh
🔗 SHA:
c5487c0📊 Статистика: 10 files changed, 419 insertions(+), 57 deletions(-)
📁 Изменённые файлы:
📝
src/preset_zapret2/builtin_presets/ALL TCP & UDP v3_2 copy.txt src/preset_zapret2/builtin_presets/ALL TCP & UDP discord_urgent_sni.txt🆕
src/preset_zapret2/builtin_presets/ALL TCP & UDP fake_tls_auto_11.txt🆕
src/preset_zapret2/builtin_presets/ALL TCP & UDP hostfakesplit.txt🆕
src/preset_zapret2/builtin_presets/ALL TCP & UDP hostfakesplit_multi_syndata.txt✏️
src/ui/pages/servers_page.py🆕
src/updater/channel_utils.py✏️
src/updater/github_release.py✏️
src/updater/release_manager.py✏️
src/updater/update.py✏️
src/updater/update_cache.py🔗 Открыть на GitHub
💥 ВСЕ НАШИ ССЫЛКИ: https://t.me/runetvpnyoutubediscord
🔔 Новый коммит в youtubediscord/zapret
📝 фикс багов
👤 Автор: loop-uh
🔗 SHA:
📊 Статистика: 47 files changed, 1807 insertions(+), 481 deletions(-)
📁 Изменённые файлы:
✏️
✏️
✏️
✏️
✏️
✏️
✏️
✏️
🆕
✏️
🆕
✏️
✏️
✏️
🆕
✏️
🆕
✏️
✏️
✏️
✏️
🆕
✏️
✏️
✏️
✏️
✏️
✏️
✏️
✏️
✏️
✏️
✏️
✏️
✏️
✏️
✏️
✏️
✏️
✏️
✏️
✏️
✏️
✏️
✏️
✏️
✏️
🔗 Открыть на GitHub
🔔 Новый коммит в youtubediscord/zapret
📝 фикс багов
👤 Автор: loop-uh
🔗 SHA:
82ca354📊 Статистика: 47 files changed, 1807 insertions(+), 481 deletions(-)
📁 Изменённые файлы:
✏️
src/config/__init__.py✏️
src/config/config.py✏️
src/core/direct_flow.py✏️
src/core/direct_preset_core/catalogs/winws2/http80.txt✏️
src/core/direct_preset_core/catalogs/winws2/tcp.txt✏️
src/core/direct_preset_core/catalogs/winws2/udp.txt✏️
src/core/direct_preset_core/common/strategy_catalogs.py✏️
src/core/direct_preset_core/service.py🆕
src/core/presets/builtin_template_sync.py✏️
src/core/presets/direct_facade_backend.py🆕
src/core/presets/package_assets.py✏️
src/core/presets/repository.py✏️
src/core/presets/support_files.py✏️
src/core/presets/template_support.py🆕
src/core/presets/v1_builtin_templates.py✏️
src/core/presets/v1_template_runtime.py🆕
src/core/presets/z2_builtin_templates.py✏️
src/core/presets/z2_template_runtime.py✏️
src/dpi/dpi_controller.py✏️
src/dpi/stop.py✏️
src/main.py🆕
src/managers/app_runtime_state.py✏️
src/managers/dpi_manager.py✏️
src/managers/initialization_manager.py✏️
src/managers/process_monitor_manager.py✏️
src/managers/ui_manager.py✏️
src/preset_orchestra_zapret2/__init__.py✏️
src/preset_orchestra_zapret2/catalog.py✏️
src/preset_orchestra_zapret2/preset_storage.py✏️
src/telegram_proxy/__init__.py✏️
src/tray.py✏️
src/ui/close_dialog.py✏️
src/ui/compat_widgets.py✏️
src/ui/main_window_display.py✏️
src/ui/main_window_mode_switch.py✏️
src/ui/pages/autostart_page.py✏️
src/ui/pages/control_page.py✏️
src/ui/pages/home_page.py✏️
src/ui/pages/zapret1/direct_control_page.py✏️
src/ui/pages/zapret1/direct_zapret1_page.py✏️
src/ui/pages/zapret1/user_presets_page.py✏️
src/ui/pages/zapret2/direct_control_page.py✏️
src/ui/pages/zapret2/direct_zapret2_page.py✏️
src/ui/pages/zapret2/strategy_detail_page.py✏️
src/ui/pages/zapret2/user_presets_page.py✏️
src/ui/pages/zapret2_orchestra_strategies_page.py✏️
src/ui/widgets/strategy_radio_item.py🔗 Открыть на GitHub
💥 ВСЕ НАШИ ССЫЛКИ: https://t.me/runetvpnyoutubediscord
🔔 Новый коммит в youtubediscord/zapret
📝 https://github.com/youtubediscord/zapret/issues/311
👤 Автор: loop-uh
🔗 SHA:
📊 Статистика: 2 files changed, 124 insertions(+), 18 deletions(-)
📁 Изменённые файлы:
✏️
✏️
🔗 Открыть на GitHub
🔔 Новый коммит в youtubediscord/zapret
📝 https://github.com/youtubediscord/zapret/issues/311
👤 Автор: loop-uh
🔗 SHA:
57c5944📊 Статистика: 2 files changed, 124 insertions(+), 18 deletions(-)
📁 Изменённые файлы:
✏️
src/core/direct_flow.py✏️
src/core/presets/direct_facade_backend.py🔗 Открыть на GitHub
💥 ВСЕ НАШИ ССЫЛКИ: https://t.me/runetvpnyoutubediscord
🔔 Новый коммит в youtubediscord/zapret
📝 В проекте переведена подсистема runtime-статуса DPI на один источник истины, чтобы убрать класс багов вида «интерфейс показывает, что Zapret включён, хотя winws уже нет». Что сделано - Добавлен новый центральный сервис public_zapretgui/src/managers/dpi_runtime_service.py. Это теперь единая точка записи состояния DPI. Он хранит не только грубый флаг, а полноценный runtime-снимок: phase, expected_process, expected_preset_path, pid, last_error, last_exit_code. - Расширено состояние окна в public_zapretgui/src/ui/main_window_state.py. Теперь store умеет хранить фазы starting, running, stopping, failed, stopped, а не только dpi_running=True/False. - В public_zapretgui/src/main.py новый DpiRuntimeService создаётся вместе с общим store, то есть он живёт в той же центральной точке, где живёт остальное runtime-состояние окна. - Убран старый путь записи DPI-статуса из public_zapretgui/src/managers/app_runtime_state.py: AppRuntimeState теперь больше не пишет dpi_running, а только читает и обслуживает остальные runtime-поля вроде автозапуска. - Запуск и остановка переведены на новый сервис в public_zapretgui/src/dpi/dpi_controller.py. Теперь контроллер не пишет set_dpi_running(...) напрямую, а сообщает сервису: begin_start, mark_running, mark_start_failed, begin_stop, mark_stopped. - Монитор процессов в public_zapretgui/src/managers/process_monitor_manager.py больше не перетирает общий флаг сам. Он только отдаёт наблюдение о реальных PID в DpiRuntimeService, а уже сервис решает, что это значит для состояния. - Остановка через Win API тоже переведена на новый путь в public_zapretgui/src/dpi/stop.py. Там больше нет прямой записи через app_runtime_state.set_dpi_running(...). - Переключение режима в public_zapretgui/src/ui/main_window
👤 Автор: loop-uh
🔗 SHA:
📊 Статистика: 22 files changed, 850 insertions(+), 187 deletions(-)
📁 Изменённые файлы:
✏️
✏️
✏️
✏️
✏️
✏️
✏️
✏️
🆕
✏️
✏️
🆕
🆕
✏️
✏️
✏️
✏️
✏️
✏️
✏️
✏️
✏️
🔗 Открыть на GitHub
🔔 Новый коммит в youtubediscord/zapret
📝 В проекте переведена подсистема runtime-статуса DPI на один источник истины, чтобы убрать класс багов вида «интерфейс показывает, что Zapret включён, хотя winws уже нет». Что сделано - Добавлен новый центральный сервис public_zapretgui/src/managers/dpi_runtime_service.py. Это теперь единая точка записи состояния DPI. Он хранит не только грубый флаг, а полноценный runtime-снимок: phase, expected_process, expected_preset_path, pid, last_error, last_exit_code. - Расширено состояние окна в public_zapretgui/src/ui/main_window_state.py. Теперь store умеет хранить фазы starting, running, stopping, failed, stopped, а не только dpi_running=True/False. - В public_zapretgui/src/main.py новый DpiRuntimeService создаётся вместе с общим store, то есть он живёт в той же центральной точке, где живёт остальное runtime-состояние окна. - Убран старый путь записи DPI-статуса из public_zapretgui/src/managers/app_runtime_state.py: AppRuntimeState теперь больше не пишет dpi_running, а только читает и обслуживает остальные runtime-поля вроде автозапуска. - Запуск и остановка переведены на новый сервис в public_zapretgui/src/dpi/dpi_controller.py. Теперь контроллер не пишет set_dpi_running(...) напрямую, а сообщает сервису: begin_start, mark_running, mark_start_failed, begin_stop, mark_stopped. - Монитор процессов в public_zapretgui/src/managers/process_monitor_manager.py больше не перетирает общий флаг сам. Он только отдаёт наблюдение о реальных PID в DpiRuntimeService, а уже сервис решает, что это значит для состояния. - Остановка через Win API тоже переведена на новый путь в public_zapretgui/src/dpi/stop.py. Там больше нет прямой записи через app_runtime_state.set_dpi_running(...). - Переключение режима в public_zapretgui/src/ui/main_window
👤 Автор: loop-uh
🔗 SHA:
482f662📊 Статистика: 22 files changed, 850 insertions(+), 187 deletions(-)
📁 Изменённые файлы:
✏️
src/autostart/checker.py✏️
src/autostart/registry_check.py✏️
src/dpi/bat_start.py✏️
src/dpi/dpi_controller.py✏️
src/dpi/stop.py✏️
src/main.py✏️
src/managers/app_runtime_state.py✏️
src/managers/dpi_manager.py🆕
src/managers/dpi_runtime_service.py✏️
src/managers/initialization_manager.py✏️
src/managers/process_monitor_manager.py🆕
src/preset_zapret2/builtin_presets/ALL TCP & UDP YTDisBystro_3_4_v1.txt🆕
src/preset_zapret2/builtin_presets/ALL TCP & UDP multidisorder complex.txt✏️
src/preset_zapret2/builtin_presets/ALL TCP & UDP v1.txt✏️
src/tray.py✏️
src/ui/main_window_display.py✏️
src/ui/main_window_mode_switch.py✏️
src/ui/main_window_state.py✏️
src/ui/pages/control_page.py✏️
src/ui/pages/home_page.py✏️
src/ui/pages/zapret1/direct_control_page.py✏️
src/ui/pages/zapret2/direct_control_page.py🔗 Открыть на GitHub
💥 ВСЕ НАШИ ССЫЛКИ: https://t.me/runetvpnyoutubediscord
🔔 Новый коммит
📝 vault backup: 2026-04-06 14:21:02
👤 Автор: fuckyou
📅 Дата: 06.04.2026 11:21:02
🔗 SHA:
📊 Статистика:
➕ Добавлено: 40 строк
➖ Удалено: 13 строк
📝 Всего изменений: 53
📁 Изменено файлов: 1
✏️
+40 -13
Удалилось:
... и еще 3 строк
Добавилось:
... и еще 23 строк
🔗 Открыть на GitHub
🔔 Новый коммит
📝 vault backup: 2026-04-06 14:21:02
👤 Автор: fuckyou
📅 Дата: 06.04.2026 11:21:02
🔗 SHA:
79cef13📊 Статистика:
➕ Добавлено: 40 строк
➖ Удалено: 13 строк
📝 Всего изменений: 53
📁 Изменено файлов: 1
✏️
amnezia-2-0/reference.md+40 -13
Удалилось:
Клиент AmneziaVPN генерирует signature packets **иначе**, чем показано в статье на Хабре:
**Статья Хабр** (образовательный пример, составной):
I1 = <b 0xc7000000010><rc 8><t><r 100>
↑ QUIC header ↑ random ↑ random payload
(СЛОМАН: 11 hex-цифр = нечётное → ошибка парсера)
Идея: собрать пакет из нескольких тегов, каждый handshake будет уникальным.
**Реальный конфиг AmneziaVPN** (self-hosted, из рабочего подключения):
I1 = <b 0xc70000000108df2b1b...896>
↑ ОДИН тег <b>, 2500 hex-цифр = 1250 байт статических данных
Клиент генерирует **весь пакет целиком** как один `<b>` blob:
... и еще 3 строк
Добавилось:
### Дефолтное значение I1 в клиенте AmneziaVPN
Найдено в исходниках клиента — `client/protocols/protocols_defs.h`:
```cpp
constexpr char defaultSpecialJunk1[] =
"<r 2><b 0x858000010001000000000669636c6f7564036366726d0000010001c00c00010001000105a0004445837373>";
// I2-I5 по умолчанию пустые (отключены)
Это **составной формат**:
- `<r 2>` — 2 случайных байта (уникальность каждого handshake)
- `<b 0x...>` — 43 байта статического DNS-подобного пакета (домен "icloud.cfrm")
I1-I5 в серверном скрипте `configure_container.sh` **закомментированы** (отключены по умолчанию).
... и еще 23 строк
🔗 Открыть на GitHub