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

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

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

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

📝 Архитектура потоков: элементы окна создаются только в потоке окна. Страж в единой точке создания плашек InfoBar переносит вызов из фонового потока в поток окна; службы с подписчиками (настройки программы, проверка обновлений) зовут страницы только в потоке окна; общие объекты Qt (шина событий пресетов, менеджер Telegram Proxy, гейт воркеров) живут в потоке окна, кто бы их ни создал; проверка для CI запрещает фоновым модулям плашки, диалоги и виджеты

👤 Автор: loop-uh
📅 Дата: 06.10.2026 22:06:37 MSK
🔗 SHA: 67cc9ca

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

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

🆕 src/core/runtime/ui_thread_delivery.py
🆕 src/ui/infobar_thread_guard.py
🆕 tests/test_background_code_widget_check.py
🆕 tests/test_infobar_thread_guard.py
🆕 tests/test_subscriber_services_ui_thread.py
🆕 tests/test_window_thread_affinity.py
✏️ src/app/architecture_checks.py
✏️ src/app/feature_facades/presets.py
✏️ src/app/feature_facades/program_settings.py
✏️ src/app/feature_facades/updater.py
✏️ src/app/state_access.py
✏️ src/app/ui_thread_marshaller.py
✏️ src/core/runtime/program_settings_runtime_service.py
✏️ src/core/runtime/update_check_coordinator.py
✏️ src/main/qt_runtime.py
✏️ src/presets/services_bundle.py
✏️ src/presets/user_presets_runtime_service.py
✏️ src/telegram_proxy/manager.py
✏️ src/ui/background_worker_gate.py
✏️ src/ui/window_notification_center.py

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

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

📝 Серверы: активный сервер обновлений помечен векторным значком — залитый кружок с галочкой в цвете акцента вместо жёлтой эмодзи-звезды, в таблице и в подписи «активный» над ней; значок перекрашивается при смене темы и акцента

👤 Автор: loop-uh
📅 Дата: 06.10.2026 23:16:13 MSK
🔗 SHA: 71ed71c

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

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

🆕 src/updater/ui/active_server_icon.py
🆕 tests/test_active_server_icon.py
✏️ src/app/ui_texts.py
✏️ src/updater/ui/language.py
✏️ src/updater/ui/main_build.py
✏️ src/updater/ui/page.py
✏️ src/updater/ui/plans.py
✏️ src/updater/ui/table_view.py

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

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

📝 Готовые стратегии: на широком окне список показан плитками в два–четыре столбца — название и под ним уточнение («из Steam») со способом обхода; в узком окне остаётся один столбец строк. Большие группы разделены подзаголовками серий (General, Flowseal и т. д.) с числом стратегий. Над длинным списком появился переключатель «Группировать»: по способу обхода, по серии или по источнику; выбор запоминается в настройках. Стрелки на клавиатуре ходят по сетке плиток, полоска выбранной стратегии переезжает и между столбцами

👤 Автор: loop-uh
📅 Дата: 07.10.2026 00:23:28 MSK
🔗 SHA: b8c9812

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

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

🆕 src/profile/strategy_grouping.py
🆕 tests/test_strategy_grouping.py
✏️ src/app/feature_facades/profile.py
✏️ src/profile/commands.py
✏️ src/profile/profile_setup_loader.py
✏️ src/profile/service.py
✏️ src/profile/state.py
✏️ src/profile/strategy_list_filter.py
✏️ src/profile/strategy_state.py
✏️ src/profile/ui/profile_setup_page.py
✏️ src/profile/ui/profile_strategy_list_widget.py
✏️ src/settings/normalize.py
✏️ src/ui/page_deps/presets.py
✏️ src/ui/widgets/active_row_motion.py
✏️ tests/test_profile_list_payload.py
✏️ tests/test_profile_setup_page_contract.py
✏️ tests/test_profile_setup_worker_architecture.py

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

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

📝 Настройка профиля: вкладки переделаны и названы по содержимому — «Готовые стратегии», «Список сайтов» (для ipset «Список адресов») и «Текст профиля» вместо «Редактор» и «Когда применяется». Оценка выбранной стратегии («Работает», «Не работает», «В избранное») стоит под списком стратегий рядом с её названием; повторное нажатие снимает оценку, отдельная кнопка «Убрать оценку» убрана. В списке сайтов свои записи стоят первыми и на широком окне рядом со встроенными. На вкладке текста остался только редактор на всю высоту: сводка с условиями и аргументами, повторявшая шапку и сам текст, удалена вместе с кодом, который её готовил. Три части страницы вынесены в отдельные модули

👤 Автор: loop-uh
📅 Дата: 07.10.2026 00:48:32 MSK
🔗 SHA: b792102

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

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

🆕 src/profile/ui/profile_list_file_tab.py
🆕 src/profile/ui/profile_raw_text_tab.py
🆕 src/profile/ui/strategy_feedback_bar.py
🆕 tests/test_profile_setup_tabs.py
🗑️ src/profile/setup_match_text.py
✏️ src/app/ui_texts.py
✏️ src/profile/service.py
✏️ src/profile/state.py
✏️ src/profile/ui/profile_setup_page.py
✏️ src/profile/ui/profile_strategy_list_widget.py
✏️ src/profile/ui/profiles_list.py
✏️ tests/test_chunked_read_only_fill.py
✏️ tests/test_profile_setup_accessibility.py
✏️ tests/test_profile_setup_code_editor.py
✏️ tests/test_profile_setup_page_contract.py
✏️ tests/test_profile_setup_ui_guards.py
✏️ tests/test_winws2_payload_strategy_branches.py

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

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

📝 Профили пресета: понятно, что перетаскивание в списке меняет только его вид. Пока профиль тащат, у курсора едет подсказка «Меняется только вид списка. Порядок в пресете остаётся прежним», а после первого перетаскивания за запуск программы страница показывает уведомление, что порядок в пресете не изменился и меняется кнопкой «Порядок в пресете»

👤 Автор: loop-uh
📅 Дата: 07.10.2026 01:03:45 MSK
🔗 SHA: 3b52818

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

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

✏️ src/profile/ui/preset_setup_page.py
✏️ src/profile/ui/profile_list_view.py
✏️ src/profile/ui/profiles_list.py
🆕 tests/test_profile_display_order_hint.py

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

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

📝 Профили пресета: пояснение «порядок в пресете не изменился» показывается только при самом первом перетаскивании профиля. Показано ли оно, программа запоминает в настройках (warnings.profile_display_order_hint_shown) и проверяет в фоновом потоке; подсказка у курсора остаётся при каждом перетаскивании

👤 Автор: loop-uh
📅 Дата: 07.10.2026 01:31:56 MSK
🔗 SHA: 8a1b242

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

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

✏️ src/app/feature_facades/profile.py
✏️ src/profile/commands.py
✏️ src/profile/profile_setup_loader.py
✏️ src/profile/ui/preset_setup_page.py
✏️ src/settings/normalize.py
✏️ src/settings/schema.py
✏️ src/settings/store.py
✏️ src/ui/page_deps/presets.py
✏️ tests/test_profile_display_order_hint.py

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

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

📝 Медоед продолжает покачиваться после оборота по клику

👤 Автор: loop-uh
📅 Дата: 07.10.2026 01:57:28 MSK
🔗 SHA: 4687109

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

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

✏️ src/ui/widgets/fun/mascot.py
✏️ tests/test_fun_widgets.py

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

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

📝 Нагрузка в покое: неподвижные части живых анимаций рисуются один раз

👤 Автор: loop-uh
📅 Дата: 07.10.2026 05:22:19 MSK
🔗 SHA: 114c51b

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

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

🆕 src/ui/paint_layer_cache.py
🆕 tests/test_paint_layer_cache.py
✏️ src/presets/ui/control/status_hero_card.py
✏️ src/ui/launch_title_badge.py
✏️ src/ui/widgets/bypass_scene.py
✏️ src/ui/widgets/fun/badger.py
✏️ src/ui/widgets/fun/logo_badger.py
✏️ tests/test_control_animations.py
✏️ tests/test_drawn_badger.py
✏️ tests/test_title_badge_paint.py

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

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

📝 Оценка стратегии — в меню по правой кнопке вместо кнопок под списком

👤 Автор: loop-uh
📅 Дата: 07.10.2026 15:49:00 MSK
🔗 SHA: 0d12997

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

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

🆕 src/profile/ui/strategy_context_menu.py
🆕 tests/test_strategy_context_menu.py
🗑️ src/profile/ui/strategy_feedback_bar.py
✏️ src/app/feature_facades/profile.py
✏️ src/profile/profile_setup_loader.py
✏️ src/profile/ui/profile_setup_page.py
✏️ src/profile/ui/profile_strategy_controller.py
✏️ src/profile/ui/profile_strategy_list_widget.py
✏️ tests/test_profile_setup_accessibility.py
✏️ tests/test_profile_setup_page_contract.py
✏️ tests/test_profile_setup_tabs.py
✏️ tests/test_profile_setup_ui_guards.py
✏️ tests/test_profile_setup_write_serialization.py

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

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

📝 Окно обновления: закрытое окно больше не падает на сигнале хода обновления

👤 Автор: loop-uh
📅 Дата: 07.10.2026 16:06:22 MSK
🔗 SHA: 448ee01

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

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

✏️ src/updater/ui/update_dialog.py
✏️ tests/test_update_dialog.py

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

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

📝 Мягкая остановка движка и перечитывание списков без перезапуска

👤 Автор: loop-uh
📅 Дата: 07.10.2026 17:47:04 MSK
🔗 SHA: c32a06b

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

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

✏️ src/app/feature_facades/profile.py
✏️ src/app/feature_facades/runtime.py
✏️ src/app/feature_facades/runtime_parts.py
✏️ src/app/ui_texts.py
✏️ src/orchestra/orchestra_runner.py
✏️ src/orchestra/ui/whitelist_page.py
✏️ src/startup/check_start.py
✏️ src/winws_runtime/engine/process_control.py
✏️ src/winws_runtime/engine/winapi.py
✏️ src/winws_runtime/runtime/lifecycle_feedback.py
✏️ src/winws_runtime/runtime/stop_flow.py
✏️ src/winws_runtime/runtime/system_ops.py
✏️ tests/e2e_windows/run_engine_e2e.py
✏️ tests/e2e_windows/run_runtime_e2e.py
✏️ tests/test_engine_process_control.py
✏️ tests/test_orchestra_accessibility.py
✏️ tests/test_orchestra_runtime_config.py
✏️ tests/test_profile_list_view_state_worker.py
✏️ tests/test_startup_install_path_checks.py
✏️ tests/test_windivert_runtime_policy.py

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

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

📝 Проверка обновлений не ждёт молчащие источники

👤 Автор: loop-uh
📅 Дата: 07.10.2026 18:00:23 MSK
🔗 SHA: f9bc17a

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

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

✏️ src/updater/check/flow.py
✏️ src/updater/check/sources.py
✏️ src/updater/release/resolver.py
✏️ tests/test_server_status_worker_contract.py
✏️ tests/test_updater_release_resolver.py
✏️ tests/test_updater_update_services.py

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

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

📝 Встроенный пресет «white sni (circular)»: перебор пар «белое имя + способ доставки» с памятью по подсети сервера; справочник редактора знает white_seqovl, subnet_hostkey и признаки white_*

👤 Автор: loop-uh
📅 Дата: 07.10.2026 19:39:05 MSK
🔗 SHA: d438a7c

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

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

🆕 src/presets/builtin/winws2/white sni (circular).txt
✏️ src/profile/winws2_language/lua_catalog.py

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

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

📝 Справочник редактора: убраны функции и параметры удалённого zapret-16kb.lua

👤 Автор: loop-uh
📅 Дата: 07.10.2026 19:42:23 MSK
🔗 SHA: 9501800

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

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

✏️ src/profile/winws2_language/completion.py
✏️ src/profile/winws2_language/lua_catalog.py

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

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

📝 Проверки сети: общая основа для запросов DNS — у каждого способа связи своя функция (обычный DNS по UDP и по TCP, шифрованный DoT на порту 853 и DoH на порту 443), запрос можно снять кнопкой «Стоп», а вместо текста ошибки возвращается вид сбоя: сервер молчит, порт закрыт, соединение оборвано, чужой сертификат, ошибка HTTP; эталонных серверов для сравнения ответов теперь четыре вместо двух и список один на BlockCheck и «Проверку домена» — если провайдер закрыл один из них (как 8.8.8.8), BlockCheck и «DNS подмена» называют его с причиной и советуют не выбирать для защищённого DNS; перехват DNS по контрольному адресу, виды адресов-заглушек и отмена запросов сведены в одно место вместо двух-трёх копий с разной логикой; адрес внутренней сети провайдера (100.64.0.0/10) в ответе DNS считается подменой; удалена старая проверка, которую никто не вызывал (preflight, isp_page_detector, ping_tester) вместе с её настройками и моделями

👤 Автор: loop-uh
📅 Дата: 07.10.2026 19:59:00 MSK
🔗 SHA: a8ac7b2

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

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

🆕 src/utils/address_kinds.py
🆕 src/utils/dns_interception.py
🆕 src/utils/dns_reference.py
🆕 src/utils/socket_cancel.py
🆕 tests/test_address_kinds.py
🆕 tests/test_dns_interception.py
🗑️ src/blockcheck/isp_page_detector.py
🗑️ src/blockcheck/ping_tester.py
🗑️ src/blockcheck/preflight.py
✏️ src/blockcheck/config.py
✏️ src/blockcheck/models.py
✏️ src/blockcheck/strategy_search/environment.py
✏️ src/blockcheck/strategy_search/probes.py
✏️ src/diagnostics/engine.py
✏️ src/diagnostics/tls_probe.py
✏️ src/diagnostics/verdict.py
✏️ src/dns/commands.py
✏️ src/dns/domain_lookup.py
✏️ src/dns/latency.py
✏️ src/utils/dns_wire.py
... и ещё 6 файлов

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

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

📝 Пресет «white sni (circular)» 2.43: память подбора на диске (--writable, state=), четыре способа подачи белого имени вместо трёх, после них — набор стратегий из «fake (circular)»; определение неудачи с двух повторов

👤 Автор: loop-uh
📅 Дата: 07.10.2026 20:04:33 MSK
🔗 SHA: 56321ca

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

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

✏️ src/presets/builtin/winws2/white sni (circular).txt
✏️ src/profile/winws2_language/lua_catalog.py

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

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

📝 BlockCheck: новая вкладка «DNS-серверы» — таблица как в DNS Jumper, но по каждому адресу каждого сервера отдельно: пинг, обычный DNS по UDP и по TCP, шифрованный DoT (порт 853) и DoH (порт 443) со временем ответа или причиной отказа (молчит, порт закрыт, обрыв, чужой сертификат); проверяется и запасной адрес — 8.8.8.8 и 8.8.4.4 показаны разными строками; перехват обычных DNS-запросов по дороге определяется по трём признакам: ответил адрес, где сервера нет; запросы к серверам разных владельцев на самом деле выполняет одна чужая сеть (спрашиваем у сервера «кто ты» обычным и шифрованным путём и сравниваем владельцев сетей); сервер по обычному пути отвечает «сайта нет» или заглушкой, а по шифрованному даёт настоящий адрес; если DoH не отвечает по имени сервера, но отвечает по адресу — пишется, что закрыто именно имя; способ, закрытый у всех серверов сразу, называется одной строкой, а не списком; в итоге — лучший сервер для защищённого DNS и полный текстовый отчёт для отправки; DoH теперь работает и с серверами, которые отвечают только по HTTP/2 (Quad9); в каталоге серверов появились имена для DoT — только у тех, кто по нему действительно отвечает; «Настройка DNS»: замер скорости идёт по всем адресам сервера, время запасного видно в подсказке плитки

👤 Автор: loop-uh
📅 Дата: 07.10.2026 20:21:41 MSK
🔗 SHA: 650e852

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

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

🆕 src/dns/server_check.py
🆕 src/dns/server_check_plans.py
🆕 src/dns/server_check_worker.py
🆕 src/dns/ui/server_check_page.py
🆕 src/utils/http2_post.py
🆕 src/utils/ip_owner.py
🆕 tests/test_dns_server_check.py
🆕 tests/test_dns_server_check_page.py
🆕 tests/test_http2_post.py
✏️ src/app/feature_facades/dns.py
✏️ src/app/search_index.py
✏️ src/app/ui_texts.py
✏️ src/blockcheck/ui/page.py
✏️ src/dns/commands.py
✏️ src/dns/dns_providers.py
✏️ src/dns/domain_lookup.py
✏️ src/dns/ui/page.py
✏️ src/utils/dns_wire.py
✏️ tests/test_blockcheck_page_accessibility.py
✏️ tests/test_dns_page.py
... и ещё 2 файлов

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

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

📝 Пресет «white sni (circular)» 2.44: подбор по сайту (white_hostkey), несработавшее соединение сразу обрывается (reset), чтобы браузер не ждал

👤 Автор: loop-uh
📅 Дата: 07.10.2026 20:22:04 MSK
🔗 SHA: c6ac567

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

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

✏️ src/presets/builtin/winws2/white sni (circular).txt
✏️ src/profile/winws2_language/lua_catalog.py

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

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

📝 Пресет «white sni (circular)» 2.45: файл памяти подбора лежит в папке программы user/winws2, а не в AppData/LocalLow

👤 Автор: loop-uh
📅 Дата: 07.10.2026 20:26:50 MSK
🔗 SHA: c5995a5

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

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

✏️ src/presets/builtin/winws2/white sni (circular).txt

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

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

📝 Раскладка: каталог user/winws2 для файлов, которые пишет сам движок (память подбора стратегий), описан в общем списке папок

👤 Автор: loop-uh
📅 Дата: 07.10.2026 20:27:33 MSK
🔗 SHA: 28740ac

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

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

✏️ src/config/runtime_layout.py
✏️ tests/test_runtime_layout.py

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

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

📝 BlockCheck называет способ блокировки: если сайт обрывается на шифровании, программа тут же пробует тот же адрес с посторонним именем и вовсе без имени — отвечает, значит режут по имени сайта (в отчёте «Блокировка по имени сайта: с именем … соединение обрывается, а с посторонним именем тот же сервер отвечает»), не отвечает ни с каким — закрыт сам адрес или его сеть; на порту 80 распознаётся страница провайдера о блокировке (код 451, переход на страницу оператора, ссылка на реестр), при этом защита сайта от ботов (403, 429, «вы не робот») за блокировку не принимается; адрес, который отвечает на пинг, но не принимает соединения, называется закрытым для соединений; причина показана в подробностях строки, в подсказке и первой строкой совета; в режиме «Все сайты» добавлены российские контрольные сайты (Яндекс, ВКонтакте): если открываются только они, а зарубежные контрольные нет — это названо режимом «белых списков» с пояснением, что Zapret в нём не помогает; BlockCheck и вкладка «DNS-серверы» предупреждают, если во время проверки работали другие программы обхода или VPN (Xray, sing-box, Clash, WARP, GoodbyeDPI и другие) — результат тогда показывает сеть вместе с ними

👤 Автор: loop-uh
📅 Дата: 07.10.2026 20:36:30 MSK
🔗 SHA: 189472d

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

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

✏️ src/blockcheck/ui/check_results.py
✏️ src/diagnostics/engine.py
✏️ src/dns/commands.py
✏️ src/dns/server_check.py
✏️ src/dns/server_check_plans.py
✏️ tests/test_blockcheck_page_accessibility.py
✏️ tests/test_diagnostics_verdict.py
✏️ tests/test_dns_server_check.py
✏️ tests/test_geo_sites_warning.py
🆕 src/diagnostics/block_cause.py
🆕 src/utils/bypass_tools.py
🆕 tests/test_block_cause.py
🆕 tests/test_bypass_tools.py

🔗 Открыть в Forgejo