Zapret | Дорожная карта
2.37K subscribers
28 photos
24 files
3.58K links
Дорожная карта обновлений.

Узнайте что я буду редактировать в Запрет для обхода блокировок Дискорда и Ютуба в первую очередь

И ужаснуться моим техническим непонятным запискам без контекста.
Download Telegram
💥 ВСЕ НАШИ ССЫЛКИ: https://t.me/runetvpnyoutubediscord

🔔 Новый коммит в youtubediscord/todo

📝 vault backup: 2026-04-06 14:29:15

👤 Автор: fuckyou
🔗 SHA: 17cb2fe

📊 Статистика: 16 files changed, 18 insertions(+), 18 deletions(-)

📁 Изменённые файлы:
✏️ Zapret/manual.md\n✏️ Zapret/zapret_not_working.md\n✏️ Zapret2/Zapret2.md\n📝 Zapret2/Zapret2 - blob.md Zapret2/blob.md\n📝 Zapret2/Zapret2 - lua-desync.md Zapret2/desync.md\n✏️ Zapret2/filter.md\n✏️ Zapret2/guide.md\n📝 Zapret2/Zapret2 - out-range.md Zapret2/out-range.md\n📝 Zapret2/Zapret2 - payload.md Zapret2/payload.md\n✏️ Zapret2/preset.md\n📝 "Zapret2/Zapret2 - Roadmap \320\276\320\261\321\203\321\207\320\265\320\275\320\270\321\217.md" "Zapret2/roadmap \320\276\320\261\321\203\321\207\320\265\320\275\320\270\321\217.md"\n📝 Zapret2/Zapret2 - wf.md Zapret2/wf.md\n📝 "Zapret2/Zapret2 - \320\276\321\200\320\272\320\265\321\201\321\202\321\200\320\260\321\202\320\276\321\200.md" "Zapret2/\320\276\321\200\320\272\320\265\321\201\321\202\321\200\320\260\321\202\320\276\321\200.md"\n📝 "Zapret2/Zapret2 - \320\276\321\201\320\275\320\276\320\262\320\275\321\213\320\265 \321\204\320\273\320\260\320\263\320\270.md" "Zapret2/\320\276\321\201\320\275\320\276\320\262\320\275\321\213\320\265 \321\204\320\273\320\260\320\263\320\270.md"\n📝 "Zapret2/Zapret2 - \320\277\320\276\321\201\320\273\320\265\320\264\320\276\320\262\320\260\321\202\320\265\320\273\321\214\320\275\320\276\321\201\321\202\321\214 \320\260\321\200\320\263\321\203\320\274\320\265\320\275\321\202\320\276\320\262.md" "Zapret2/\320\277\320\276\321\201\320\273\320\265\320\264\320\276\320\262\320\260\321\202\320\265\320\273\321\214\320\275\320\276\321\201\321\202\321\214 \320\260\321\200\320\263\321\203\320\274\320\265\320\275\321\202\320\276\320\262.md"\n📝 Zapret2/Zapret2 - mtproto.md "Zapret2/\321\200\320\260\321\201\320\277\320\276\320\267\320\275\320\260\320\262\320\260\320\275\320\270\320\265 mtproto.md"\n
🔗 Открыть на GitHub
💥 ВСЕ НАШИ ССЫЛКИ: https://t.me/runetvpnyoutubediscord

🔔 Новый коммит в youtubediscord/zapret

📝 фикс багов

👤 Автор: loop-uh
🔗 SHA: d32041f

📊 Статистика: 41 files changed, 2368 insertions(+), 915 deletions(-)

📁 Изменённые файлы:
✏️ src/core/direct_preset_core/common/strategy_catalogs.py
✏️ src/core/direct_preset_core/service.py
✏️ src/core/presets/runtime_store.py
✏️ src/core/runtime/preset_runtime_coordinator.py
✏️ src/main.py
✏️ src/managers/initialization_manager.py
✏️ src/orchestra/blocked_strategies_manager.py
🆕 src/orchestra/ignored_targets.py
✏️ src/orchestra/locked_strategies_manager.py
✏️ src/orchestra/orchestra_runner.py
✏️ src/preset_orchestra_zapret2/preset_manager.py
✏️ src/telegram_proxy/manager.py
✏️ src/tray.py
✏️ src/ui/main_window.py
✏️ src/ui/main_window_navigation.py
✏️ src/ui/main_window_navigation_build.py
✏️ src/ui/main_window_pages.py
✏️ src/ui/main_window_state.py
✏️ src/ui/mode_page_scope.py
✏️ src/ui/page_names.py
✏️ src/ui/page_registry.py
✏️ src/ui/pages/orchestra/blocked_page.py
✏️ src/ui/pages/orchestra/locked_page.py
✏️ src/ui/pages/orchestra_page.py
✏️ src/ui/pages/orchestra_zapret2/__init__.py
🆕 src/ui/pages/orchestra_zapret2/preset_detail_page.py
🆕 src/ui/pages/orchestra_zapret2/preset_subpage_base.py
✏️ src/ui/pages/orchestra_zapret2/user_presets_page.py
✏️ src/ui/pages/preset_subpage_base.py
✏️ src/ui/pages/telegram_proxy_page.py
🆕 src/ui/pages/user_presets_runtime.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/preset_detail_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/direct_zapret2_strategies_tree.py

🔗 Открыть на GitHub
💥 ВСЕ НАШИ ССЫЛКИ: https://t.me/runetvpnyoutubediscord

🔔 Новый коммит в youtubediscord/zapret

📝 21.0.0.6

👤 Автор: loop-uh
🔗 SHA: 8742917

📊 Статистика: 17 files changed, 388 insertions(+), 234 deletions(-)

📁 Изменённые файлы:
✏️ src/core/direct_flow.py
✏️ src/core/direct_preset_core/common/target_metadata_loader.py
✏️ src/core/direct_preset_core/common/target_metadata_service.py
✏️ src/core/direct_preset_core/engines/_shared.py
🆕 src/core/presets/cache_signatures.py
✏️ src/core/presets/direct_facade_backend.py
✏️ src/core/presets/runtime_store.py
✏️ src/preset_orchestra_zapret2/preset_manager.py
✏️ src/preset_orchestra_zapret2/preset_store.py
✏️ src/ui/main_window.py
✏️ src/ui/main_window_navigation_build.py
✏️ src/ui/pages/orchestra_zapret2/user_presets_page.py
✏️ src/ui/pages/zapret1/direct_zapret1_page.py
✏️ src/ui/pages/zapret1/user_presets_page.py
✏️ src/ui/pages/zapret2/direct_zapret2_page.py
🆕 src/ui/pages/zapret2/strategy_detail_mode_policy.py
✏️ src/ui/pages/zapret2/strategy_detail_page.py

🔗 Открыть на GitHub
💥 ВСЕ НАШИ ССЫЛКИ: https://t.me/runetvpnyoutubediscord

🔔 Новый коммит в youtubediscord/zapret

📝 Update dpi_controller.py

👤 Автор: loop-uh
🔗 SHA: c3ca689

📊 Статистика: 1 file changed, 28 insertions(+), 11 deletions(-)

📁 Изменённые файлы:
✏️ src/dpi/dpi_controller.py

🔗 Открыть на GitHub
💥 ВСЕ НАШИ ССЫЛКИ: https://t.me/runetvpnyoutubediscord

🔔 Новый коммит в youtubediscord/zapret

📝 Теперь в public_zapretgui/src/managers/initialization_manager.py поздний post-init запускается не через QTimer.singleShot(...), а через обычный queued-сигнал _PostInitLaunchBridge. Это значит следующее: - тяжёлая часть всё ещё не выполняется прямо внутри быстрого стартового участка; - но больше нет искусственной задержки вроде 180ms; - запуск переносится просто на следующий проход цикла интерфейса, то есть без «магического ожидания» и без таймерной эвристики. Проще говоря: мы сохранили главную пользу отложенного запуска, но убрали именно тот механизм, который уже раньше показал себя плохим, когда поведение начинает зависеть от случайной задержки, а не от реального жизненного цикла окна. Что изменилось по сути:

👤 Автор: loop-uh
🔗 SHA: d17f746

📊 Статистика: 3 files changed, 266 insertions(+), 65 deletions(-)

📁 Изменённые файлы:
✏️ src/core/direct_flow.py
✏️ src/managers/initialization_manager.py
✏️ src/ui/pages/appearance_page.py

🔗 Открыть на GitHub
💥 ВСЕ НАШИ ССЫЛКИ: https://t.me/runetvpnyoutubediscord

🔔 Новый коммит в youtubediscord/zapret

📝 первый запуск теперь отполирован

👤 Автор: loop-uh
🔗 SHA: b06dbf7

📊 Статистика: 14 files changed, 369 insertions(+), 484 deletions(-)

📁 Изменённые файлы:
✏️ src/core/direct_flow.py
✏️ src/dpi/dpi_controller.py
✏️ src/main.py
✏️ src/managers/dpi_manager.py
✏️ src/managers/dpi_runtime_service.py
✏️ src/managers/initialization_manager.py
✏️ src/startup/kaspersky.py
✏️ src/startup/telega_check.py
✏️ src/tray.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
✏️ src/ui/window_notification_controller.py

🔗 Открыть на GitHub
💥 ВСЕ НАШИ ССЫЛКИ: https://t.me/runetvpnyoutubediscord

🔔 Новый коммит в youtubediscord/zapret

📝 - закрытие при WindowDeactivate, то есть когда окно перестаёт быть активным; - закрытие при FocusOut, то есть когда popup теряет фокус; - закрытие при смене состояния приложения через applicationStateChanged, то есть как раз при уходе из активного окна, например через Alt+Tab; - для трея сохранена отдельная Windows-специфика: закрытие по клику вне меню через глобальную проверку мыши. На этот общий helper я перевёл все живые popup-меню, которые у вас открывались через menu.exec(...) в пользовательских сценариях: - public_zapretgui/src/ui/pages/preset_actions_menu.py - public_zapretgui/src/ui/pages/preset_rating_menu.py - public_zapretgui/src/ui/pages/preset_subpage_base.py - public_zapretgui/src/ui/pages/zapret2/strategy_detail_page.py - public_zapretgui/src/ui/pages/orchestra_page.py - public_zapretgui/src/ui/pages/strategy_scan_page.py - public_zapretgui/src/tray.py То есть смысл правки такой: раньше у трея была одна отдельно починенная логика, а у остальных меню была своя, местами слабая или вообще отсутствующая. Теперь у программы есть один общий механизм popup-lifecycle, а tray просто использует его через свою обёртку с дополнительным поведением для клика мимо.

👤 Автор: loop-uh
🔗 SHA: 51466d4

📊 Статистика: 15 files changed, 609 insertions(+), 585 deletions(-)

📁 Изменённые файлы:
✏️ src/autostart/autostart_direct.py
✏️ src/core/direct_flow.py
✏️ src/dpi/dpi_controller.py
✏️ src/launcher_common/builder_factory.py
✏️ src/managers/dpi_manager.py
✏️ src/managers/initialization_manager.py
✏️ src/tray.py
✏️ src/ui/main_window_mode_switch.py
✏️ src/ui/pages/orchestra_page.py
✏️ src/ui/pages/preset_actions_menu.py
✏️ src/ui/pages/preset_rating_menu.py
✏️ src/ui/pages/preset_subpage_base.py
✏️ src/ui/pages/strategy_scan_page.py
✏️ src/ui/pages/zapret2/strategy_detail_page.py
🆕 src/ui/popup_menu.py

🔗 Открыть на GitHub
💥 ВСЕ НАШИ ССЫЛКИ: https://t.me/runetvpnyoutubediscord

🔔 Новый коммит в youtubediscord/zapret

📝 ввёл единый лёгкий cleanup helper для обычного старта: _unload_known_windivert_drivers() и _perform_standard_windivert_cleanup(). Это важно, потому что раньше zapret1 и zapret2 делали почти одинаковую стандартную очистку разными кусками кода, и эти куски уже начали жить как два отдельных владельца одной и той же policy. Теперь обычная очистка перед стартом у них канонически одна. В public_zapretgui/src/zapret1_launcher/strategy_runner.py:410 я разложил ordinary launch path на отдельные этапы: подготовка cleanup через _prepare_cleanup_before_spawn_locked(...), потом отдельное решение о retry через _maybe_retry_after_failed_spawn_locked(...). Самое важное здесь то, что ранее убранный fallback с “selected-source refresh” больше не вернулся: runner не пытается тихо восстанавливать отсутствующий preset через другой путь, а честно падает с ошибкой, если входной preset не существует. В public_zapretgui/src/zapret2_launcher/strategy_runner.py:857 сделал аналогичное разделение, но без насильственного выравнивания поведения под zapret1, потому что у них реально разная retry-модель. Для zapret2 теперь отдельно видны:

👤 Автор: loop-uh
🔗 SHA: f258b2e

📊 Статистика: 7 files changed, 347 insertions(+), 283 deletions(-)

📁 Изменённые файлы:
✏️ src/core/direct_flow.py
✏️ src/core/presets/direct_facade_backend.py
✏️ src/core/presets/repository.py
✏️ src/dpi/dpi_controller.py
✏️ src/launcher_common/runner_base.py
✏️ src/zapret1_launcher/strategy_runner.py
✏️ src/zapret2_launcher/strategy_runner.py

🔗 Открыть на GitHub
💥 ВСЕ НАШИ ССЫЛКИ: https://t.me/runetvpnyoutubediscord

🔔 Новый коммит в youtubediscord/zapret

📝 direct-модуль ZapretGUI и много ходов подряд последовательно его приводили к одной модели: - один source preset как источник истины, - одна startup/runtime orchestration модель, - отдельные policy entrypoint’ы для content change и preset switch, - bridge’и между runner/controller/store/watchers, - и меньше локальной логики в UI.

👤 Автор: loop-uh
🔗 SHA: 4600eea

📊 Статистика: 22 files changed, 643 insertions(+), 147 deletions(-)

📁 Изменённые файлы:
🆕 src/core/presets/direct_runtime_events.py
✏️ src/core/presets/support_files.py
✏️ src/core/presets/v1_builtin_templates.py
✏️ src/core/runtime/preset_runtime_coordinator.py
🆕 src/dpi/direct_runtime_apply_policy.py
✏️ src/dpi/dpi_controller.py
🆕 src/dpi/runtime_preset_switch_policy.py
✏️ src/dpi/zapret2_core_restart.py
✏️ src/launcher_common/preset_runner_support.py
✏️ src/main.py
✏️ src/managers/initialization_manager.py
✏️ src/ui/main_window.py
✏️ src/ui/pages/dpi_settings_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/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/zapret1_launcher/strategy_runner.py
✏️ src/zapret2_launcher/strategy_runner.py

🔗 Открыть на GitHub
💥 ВСЕ НАШИ ССЫЛКИ: https://t.me/runetvpnyoutubediscord

🔔 Новый коммит в youtubediscord/zapret

📝 при первом клике боковое меню вызывает show_page(), дальше идёт ensure_page(), и уже там в главном потоке сразу выполняются две дорогие вещи подряд: импорт Python- модуля страницы и создание всего дерева виджетов этой страницы. Это видно в связке public_zapretgui/src/ui/main_window.py:326 -> public_zapretgui/src/ui/main_window_pages.py:82 -> public_zapretgui/src/ui/main_window_pages.py:138. Для DPI Settings я отдельно промерил сам импорт модуля, и только он занял примерно 913 мс, ещё до полноценного показа страницы. То есть пользователь нажимает пункт меню, а приложение в этот же момент начинает “разворачивать” тяжёлый модуль страницы прямо в интерфейсном потоке. Что я поменял. После первого показа окна и завершения базовой сборки интерфейса я добавил отложенный прогрев страниц: приложение теперь не ждёт первого клика пользователя, а по очереди, в спокойном режиме, заранее импортирует тяжёлые модули страниц и прогревает самые неприятные экраны. Это сделано в public_zapretgui/src/ui/main_window.py:340 и public_zapretgui/src/ui/main_window_pages.py:18, public_zapretgui/src/ui/main_window_pages.py:119. Приоритет я дал тем страницам, на которых вы как раз замечаете лаги: DPI Settings, BlockCheck, Logs, Appearance, Servers, а затем уже остальным. Важно, что я не добавлял кривой обход вида “если долго, то открой старую ветку” и не возвращал legacy- путь. Логика открытия страниц осталась одной и той же, просто тяжёлая подготовка теперь выносится из момента клика пользователя в отложенный этап после старта окна. Проверка прошла нормально. Точечный тест на lazy-архитектуру страниц зелёный: python -m pytest private_zapretgui/tests/test_main_window_lazy_wiring.py -q, результат 18 passed. Ещё отдельно прогнал compileall по изменённым файлам, синтаксических ошибок нет. Для этого я добавил и новые тесты в private_zapretgui/tests/test_main_window_lazy_wiring.py:399, чтобы закрепить порядок прогрева тяжёлых страниц и убедиться, что импорт модулей не дублируется. Что было моей задачей и что сейчас происходит в проекте. Задача была понять, почему визуально “почти пустые” страницы открываются медленно, хотя интерфейс вроде бы не должен делать тяжёлую работу прямо на нажатии. По итогам разбора выяснилось, что реальный тормоз сидел в архитектуре lazy-страниц: ленивость была полезна для старта приложения, но плата за это переносилась на первый клик по странице. Сейчас проект устроен так: главное окно по-прежнему использует ленивый реестр страниц, но после старта оно дополнительно делает мягкий прогрев тяжёлых экранов, чтобы пользователь не ловил подвисание в момент навигации. Проще говоря, раньше тяжёлая подготовка происходила “когда вы уже нажали”, а теперь она уходит в отложенную фазу после показа основного окна. Если захотите, следующим шагом я могу по

👤 Автор: loop-uh
🔗 SHA: bc1785f

📊 Статистика: 2 files changed, 137 insertions(+)

📁 Изменённые файлы:
✏️ src/ui/main_window.py
✏️ src/ui/main_window_pages.py

🔗 Открыть на GitHub
💥 ВСЕ НАШИ ССЫЛКИ: https://t.me/runetvpnyoutubediscord

🔔 Новый коммит в youtubediscord/zapret

📝 акетные lazy-экспорты сработали очень заметно: тот же ui.pages.zapret1 упал примерно с 1772 ms до 50 ms на грубом импорте. Сейчас дождусь итогового статуса тестов и потом сведу всё, что уже вырезано из старой архитектуры.

👤 Автор: loop-uh
🔗 SHA: 8126884

📊 Статистика: 42 files changed, 2068 insertions(+), 1755 deletions(-)

📁 Изменённые файлы:
✏️ src/main.py
✏️ src/ui/main_window_navigation_build.py
✏️ src/ui/main_window_pages.py
✏️ src/ui/pages/about_page.py
✏️ src/ui/pages/appearance_page.py
✏️ src/ui/pages/autostart_page.py
✏️ src/ui/pages/base_page.py
✏️ src/ui/pages/blobs_page.py
✏️ src/ui/pages/blockcheck_page.py
✏️ src/ui/pages/control_page.py
✏️ src/ui/pages/custom_domains_page.py
✏️ src/ui/pages/custom_ipset_page.py
✏️ src/ui/pages/dns_check_page.py
✏️ src/ui/pages/dpi_settings_page.py
✏️ src/ui/pages/home_page.py
✏️ src/ui/pages/hostlist_page.py
✏️ src/ui/pages/hosts_page.py
✏️ src/ui/pages/ipset_page.py
✏️ src/ui/pages/logs_page.py
✏️ src/ui/pages/netrogat_page.py
✏️ src/ui/pages/network_page.py
✏️ src/ui/pages/orchestra/__init__.py
✏️ src/ui/pages/orchestra_page.py
✏️ src/ui/pages/orchestra_zapret2/__init__.py
✏️ src/ui/pages/premium_page.py
✏️ src/ui/pages/servers_page.py
✏️ src/ui/pages/strategy_scan_page.py
✏️ src/ui/pages/support_page.py
✏️ src/ui/pages/telegram_proxy_page.py
✏️ src/ui/pages/user_presets_runtime.py
✏️ src/ui/pages/zapret1/__init__.py
✏️ src/ui/pages/zapret1/direct_control_page.py
✏️ src/ui/pages/zapret1/strategy_detail_page_v1.py
✏️ src/ui/pages/zapret1/user_presets_page.py
✏️ src/ui/pages/zapret2/__init__.py
✏️ src/ui/pages/zapret2/direct_control_page.py
✏️ src/ui/pages/zapret2/strategy_detail_page.py
✏️ src/ui/pages/zapret2/user_presets_page.py
🆕 src/ui/widgets/win11_controls.py
✏️ src/updater/__init__.py
🆕 src/updater/server_status_workers.py
🆕 src/updater/update_page_controller.py

🔗 Открыть на GitHub
💥 ВСЕ НАШИ ССЫЛКИ: https://t.me/runetvpnyoutubediscord

🔔 Новый коммит

📝 vault backup: 2026-04-07 12:46:29

👤 Автор: fuckyou
📅 Дата: 07.04.2026 09:46:29
🔗 SHA: 466becf

📊 Статистика:
➕ Добавлено: 424 строк
➖ Удалено: 0 строк
📝 Всего изменений: 424

📁 Изменено файлов: 1

🆕 VLESS-SOCKS5-vulnerability.md
+424 -0

Добавилось:
# Критическая уязвимость VLESS-клиентов: неаутентифицированный SOCKS5 на localhost

**Дата публикации:** 7 апреля 2026

**Источник:** [runetfreedom — ntc.party](https://ntc.party/t/topic/), [Habr](https://habr.com/ru/...

**POC:** [github.com/runetfreedom/per-app-split-bypass-poc](https://github.com/runetfreedom/per-a...

**Severity:** Critical (массовая эксплуатация неизбежна)

---

## TL;DR

Все популярные VLESS/xray/sing-box клиенты создают на localhost SOCKS5-прокси **без аутентификаци...

---

## 1. Предпосылки

... и еще 306 строк

🔗 Открыть на GitHub
💥 ВСЕ НАШИ ССЫЛКИ: https://t.me/runetvpnyoutubediscord

🔔 Новый коммит в youtubediscord/todo

📝 vault backup: 2026-04-07 12:46:29

👤 Автор: fuckyou
🔗 SHA: 466becf

📊 Статистика: 1 file changed, 424 insertions(+)

📁 Изменённые файлы:
🆕 VLESS-SOCKS5-vulnerability.md\n
🔗 Открыть на GitHub
💥 ВСЕ НАШИ ССЫЛКИ: https://t.me/runetvpnyoutubediscord

🔔 Новый коммит

📝 vault backup: 2026-04-07 12:54:52

👤 Автор: fuckyou
📅 Дата: 07.04.2026 09:54:52
🔗 SHA: c74b423

📊 Статистика:
➕ Добавлено: 788 строк
➖ Удалено: 0 строк
📝 Всего изменений: 788

📁 Изменено файлов: 1

🆕 Localhost-tracking-Meta-Yandex-SOCKS5.md
+788 -0

Добавилось:
# Localhost-атака: как Meta, Яндекс и шпионское ПО эксплуатируют loopback-интерфейс

**Дата:** 7 апреля 2026

**Статус:** Верифицировано — исследование USENIX Security 26, POC опубликован

**Оригинал исследования:** [localmess.github.io](https://localmess.github.io/)

**Научная статья:** [Bridges to Self: Silent Web-to-App Tracking on Mobile via Localhost](https:/...

**POC (Meta/Яндекс):** [github.com/localmess/localhost-abuse](https://github.com/localmess/localh...

**POC (VLESS обход split tunneling):** [github.com/runetfreedom/per-app-split-bypass-poc](https:/...

---

## Оглавление

1. [Корневая проблема: архитектура loopback в ОС](#1-корневая-проблема-архитектура-loopback-в-ос)

... и еще 609 строк

🔗 Открыть на GitHub
💥 ВСЕ НАШИ ССЫЛКИ: https://t.me/runetvpnyoutubediscord

🔔 Новый коммит в youtubediscord/todo

📝 vault backup: 2026-04-07 12:54:52

👤 Автор: fuckyou
🔗 SHA: c74b423

📊 Статистика: 1 file changed, 788 insertions(+)

📁 Изменённые файлы:
🆕 Localhost-tracking-Meta-Yandex-SOCKS5.md\n
🔗 Открыть на GitHub
💥 ВСЕ НАШИ ССЫЛКИ: https://t.me/runetvpnyoutubediscord

🔔 Новый коммит

📝 vault backup: 2026-04-07 12:55:34

👤 Автор: fuckyou
📅 Дата: 07.04.2026 09:55:34
🔗 SHA: 4b0d7f1

📊 Статистика:
➕ Добавлено: 1 строк
➖ Удалено: 1 строк
📝 Всего изменений: 2

📁 Изменено файлов: 1

✏️ VLESS-SOCKS5-vulnerability.md
+1 -1

Удалилось:
Яндекс **уже использовал** подобную технику ранее (сканирование localhost для обнаружения прокси).


Добавилось:
Яндекс **уже использовал** подобную технику ранее ([[Localhost-tracking-Meta-Yandex-SOCKS5|сканир...


🔗 Открыть на GitHub
💥 ВСЕ НАШИ ССЫЛКИ: https://t.me/runetvpnyoutubediscord

🔔 Новый коммит в youtubediscord/todo

📝 vault backup: 2026-04-07 12:55:34

👤 Автор: fuckyou
🔗 SHA: 4b0d7f1

📊 Статистика: 1 file changed, 1 insertion(+), 1 deletion(-)

📁 Изменённые файлы:
✏️ VLESS-SOCKS5-vulnerability.md\n
🔗 Открыть на GitHub
💥 ВСЕ НАШИ ССЫЛКИ: https://t.me/runetvpnyoutubediscord

🔔 Новый коммит в youtubediscord/todo

📝 vault backup: 2026-04-07 13:07:16

👤 Автор: fuckyou
🔗 SHA: 796e43d

📊 Статистика: 1 file changed, 1114 insertions(+)

📁 Изменённые файлы:
🆕 VLESS-localhost-protection-guide.md\n
🔗 Открыть на GitHub
💥 ВСЕ НАШИ ССЫЛКИ: https://t.me/runetvpnyoutubediscord

🔔 Новый коммит

📝 vault backup: 2026-04-07 13:07:16

👤 Автор: fuckyou
📅 Дата: 07.04.2026 10:07:16
🔗 SHA: 796e43d

📊 Статистика:
➕ Добавлено: 1114 строк
➖ Удалено: 0 строк
📝 Всего изменений: 1114

📁 Изменено файлов: 1

🆕 VLESS-localhost-protection-guide.md
+1114 -0

Добавилось:
# Практическое руководство: защита VPN от localhost-атаки

**Дата:** 7 апреля 2026

**Контекст:** Уязвимость VLESS-клиентов + эксплуатация localhost Meta/Яндексом

**Аудитория:** Пользователи VPN, администраторы серверов, разработчики клиентов

**Связанные заметки:**

- [Уязвимость VLESS-клиентов](VLESS-SOCKS5-vulnerability.md)

- [Localhost-трекинг Meta/Яндекс](Localhost-tracking-Meta-Yandex-SOCKS5.md)

---

## Оглавление

1. [Суть проблемы за 30 секунд](#1-суть-проблемы-за-30-секунд)

... и еще 890 строк

🔗 Открыть на GitHub
💥 ВСЕ НАШИ ССЫЛКИ: https://t.me/runetvpnyoutubediscord

🔔 Новый коммит

📝 vault backup: 2026-04-07 13:14:04

👤 Автор: fuckyou
📅 Дата: 07.04.2026 10:14:04
🔗 SHA: 9f735b6

📊 Статистика:
➕ Добавлено: 445 строк
➖ Удалено: 29 строк
📝 Всего изменений: 474

📁 Изменено файлов: 2

✏️ VLESS-SOCKS5-vulnerability.md
+1 -1

Удалилось:
## 8. Защитные меры


Добавилось:
## 8. [[VLESS-localhost-protection-guide|Защитные меры]]


✏️ VLESS-localhost-protection-guide.md
+444 -28

Удалилось:
14. [FAQ: hev-socks5-tunnel, Karing, Husi, v2rayN](#14-faq-hev-socks5-tunnel-karing-husi-v2rayn)

15. [CVE-2023-43644: обход аутентификации sing-box](#15-cve-2023-43644-обход-аутентификации-sing-...

16. [Чеклист действий](#16-чеклист-действий)

| Клиент | Ядро | SOCKS5 auth | UDP auth | Статус | Что делать |

|--------|------|-------------|----------|--------|------------|

| **v2rayNG** | xray (hev-socks5-tunnel) | ❌ Нет | ❌ | 🟡 Уязвим | Перейти на Husi/SFA или ждать ф...

| **Hiddify** | sing-box | ❌ Нет в UI | ❌ | 🟡 Уязвим | Перейти на Husi/SFA |

| **Neko Box** | sing-box | ❌ Нет | ❌ | 🟡 Уязвим | Перейти на Husi/SFA |

| **Npv Tunnel** | xray | ❌ Нет | ❌ | 🟡 Уязвим | Перейти на Husi/SFA |

| **Happ** | xray | ❌ Нет | ❌ | 🔴 **Удалить немедленно** | HandlerService = дамп ключей |

... и еще 18 строк

Добавилось:
14. [**ГАЙД: v2rayNG — как защититься**](#14-гайд-v2rayng--как-защититься)

15. [**ГАЙД: NekoBox — как защититься**](#15-гайд-nekobox--как-защититься)

16. [**ГАЙД: Clash/mihomo — как защититься**](#16-гайд-clashmihomo--как-защититься)

17. [Фаерволы на Android: что реально работает](#17-фаерволы-на-android-что-реально-работает)

18. [FAQ: hev-socks5-tunnel, Karing, Husi, v2rayN](#18-faq-hev-socks5-tunnel-karing-husi-v2rayn)

19. [CVE-2023-43644: обход аутентификации sing-box](#19-cve-2023-43644-обход-аутентификации-sing-...

20. [Чеклист действий](#20-чеклист-действий)

| Клиент | Ядро | Порт | SOCKS5 auth | Статус | Что делать |

|--------|------|------|-------------|--------|------------|

| **v2rayNG** 2.0.0 | xray | 10808 | ❌ Нет в UI. ⚠️ Custom config — ненадёжно (v2rayNG может пере...

... и еще 344 строк

🔗 Открыть на GitHub