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

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

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

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

📝 Проверка домена: у каждого ответа DNS-сервера сохраняется время, в течение которого ответ считается свежим (TTL, наименьшее из адресных записей) — оно показано в подсказке строки и в текстовом отчёте; настоящий сервер отдаёт убывающий остаток, а заглушки часто ставят ноль или круглое число

👤 Автор: loop-uh
📅 Дата: 07.10.2026 20:37:45 MSK
🔗 SHA: 7e4ec81

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

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

✏️ src/dns/domain_lookup.py
✏️ src/dns/domain_lookup_plans.py
✏️ tests/test_domain_lookup.py

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

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

📝 «DNS-серверы» в BlockCheck: итог с медоедом, проверка без зависаний и по три запроса каждым способом

👤 Автор: loop-uh
📅 Дата: 07.10.2026 20:45:49 MSK
🔗 SHA: f7b35e0

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

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

🆕 src/dns/server_check_verdict.py
🆕 src/dns/ui/server_check_widgets.py
✏️ src/app/ui_texts.py
✏️ src/blockcheck/ui/fun_texts.py
✏️ src/blockcheck/ui/page.py
✏️ src/dns/server_check.py
✏️ src/dns/server_check_plans.py
✏️ src/dns/ui/server_check_page.py
✏️ tests/test_dns_server_check.py
✏️ tests/test_dns_server_check_page.py

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

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

📝 BlockCheck проверяет QUIC — быстрый протокол на UDP 443, которым браузер открывает YouTube и многие другие сайты: на адрес сайта уходит настоящий первый пакет QUIC с именем сайта, с посторонним именем и без имени; с именем сайта молчит, а с другим отвечает — в отчёте «QUIC блокируется по имени сайта», молчит с любым именем — сервер QUIC не поддерживает или UDP 443 закрыт целиком (это не считается блокировкой сайта), потерянный пакет повторяется; если сайт открывается, а QUIC для него заблокирован, в итоге одна общая строка с названиями сервисов и пояснением, что открытие и начало видео могут запаздывать; результат виден в строке сайта и в её подсказке; шифрование первого пакета написано на чистом Python и сверено с образцами из стандартов (в поставке нет подходящей библиотеки, а ключ первого пакета QUIC по стандарту открыт)

👤 Автор: loop-uh
📅 Дата: 07.10.2026 20:46:29 MSK
🔗 SHA: 60c0235

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

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

🆕 src/diagnostics/quic_probe.py
🆕 src/utils/quic_initial.py
🆕 tests/test_quic_probe.py
✏️ src/blockcheck/ui/check_results.py
✏️ src/diagnostics/engine.py
✏️ tests/test_blockcheck_page_accessibility.py
✏️ tests/test_diagnostics_verdict.py
✏️ tests/test_geo_sites_warning.py

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

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

📝 BlockCheck отдельно проверяет IPv6: к двум заведомо доступным сайтам идёт запрос по их IPv6-адресам (адреса берутся у эталонных DNS-серверов); хоть один ответил — «IPv6 работает», дороги по IPv6 в системе нет — «в этой сети его нет, это нормально», а если Windows считает, что дорога есть, но сайты не отвечают — «IPv6 настроен, но не работает» с предупреждением в итоге: из-за этого сайты открываются с задержкой, и совет перезагрузить роутер или отключить IPv6 на адаптере; в таблице результатов у IPv6 своя строка

👤 Автор: loop-uh
📅 Дата: 07.10.2026 20:48:37 MSK
🔗 SHA: 1e44aa6

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

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

🆕 src/diagnostics/ipv6_check.py
🆕 tests/test_ipv6_check.py
✏️ src/blockcheck/ui/check_results.py
✏️ src/diagnostics/engine.py
✏️ tests/test_blockcheck_page_accessibility.py
✏️ tests/test_diagnostics_verdict.py

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

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

📝 BlockCheck: проверка обрыва теперь идёт и в обратную сторону — если загрузка с сервера прошла, на тот же сервер проверяется отправка данных; сначала короткая контрольная отправка (сервер должен дождаться данных и ответить), затем 64 КБ одним потоком и 64 байта мелкими пакетами: короткая прошла, а большая замерла — режут отправку по объёму, большая прошла, а мелкие пакеты замерли — режут по числу пакетов; сервер, который отвечает, не дочитав данные, или сам обрывает отправку, для вывода не используется; в итоге сказано, что именно обрывает провайдер — загрузку, отправку или и то и другое

👤 Автор: loop-uh
📅 Дата: 07.10.2026 20:57:17 MSK
🔗 SHA: a482a0c

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

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

🆕 src/diagnostics/upload_probe.py
🆕 tests/test_upload_probe.py
✏️ src/diagnostics/engine.py
✏️ src/diagnostics/freeze_check.py
✏️ tests/test_diagnostics_verdict.py

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

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

📝 Встроенный пресет «shadow probes (circular)»: стратегии из «fake (circular)» выбираются теневыми пробами, без перебора на настоящих соединениях; shadow_probe признаётся оркестратором меток strategy=N, справочник редактора знает его параметры

👤 Автор: loop-uh
📅 Дата: 07.10.2026 21:02:29 MSK
🔗 SHA: 4ece6e7

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

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

🆕 src/presets/builtin/winws2/shadow probes (circular).txt
✏️ src/profile/winws2_language/lua_catalog.py
✏️ src/profile/winws2_preset_source.py
✏️ tests/test_winws2_launch_preset_validation.py

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

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

📝 Настройка DNS: 19 новых серверов, пометки «блокируется» и «под угрозой», метка DNSSEC и кнопка «Все» для сетевых интерфейсов

👤 Автор: loop-uh
📅 Дата: 07.10.2026 21:04:14 MSK
🔗 SHA: df0f4c1

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

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

🆕 tests/test_dns_providers_catalog.py
✏️ src/app/ui_texts.py
✏️ src/diagnostics/engine.py
✏️ src/dns/dns_providers.py
✏️ src/dns/ui/now_panel.py
✏️ src/dns/ui/page.py
✏️ src/dns/ui/provider_grid.py
✏️ src/profile/ui/simple_icons_bundle.py
✏️ tests/test_dns_page.py
✏️ tests/test_dns_provider_grid.py
✏️ tests/test_dns_provider_icons.py
✏️ tests/test_dns_runtime.py

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

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

📝 Проверка домена: новый раздел «Путь до сервера» — узлы по дороге до адреса с временем ответа (как tracert, но без запуска посторонней программы и за пару секунд: все сроки жизни пакета проверяются одновременно), проверка QUIC для введённого сайта и место, где стоит фильтр; место фильтра ищется, когда QUIC к сайту блокируют по имени: с одного сокета уходит пакет с запрещённым именем и коротким сроком жизни, а следом обычный — если фильтр видел первый, он режет и второй; наименьший срок жизни, при котором обычный пакет остаётся без ответа, показывает, между какими узлами стоит фильтр, и в таблице узлов на этом месте стоит отметка; способу не нужны особые права и ответы промежуточных узлов, которые сетевой экран Windows программам не отдаёт; перед поиском делается контроль (обычный пакет один проходит, а после запрещённого — нет), потерянный пакет перепроверяется, а без контроля вывод не выдаётся

👤 Автор: loop-uh
📅 Дата: 07.10.2026 21:05:48 MSK
🔗 SHA: d3149f6

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

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

🆕 src/diagnostics/path_trace.py
🆕 tests/test_path_trace.py
✏️ src/dns/domain_lookup.py
✏️ src/dns/domain_lookup_plans.py
✏️ src/dns/ui/domain_lookup_page.py
✏️ src/utils/windows_icmp.py
✏️ tests/test_domain_lookup.py
✏️ tests/test_domain_lookup_page.py

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

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

📝 BlockCheck показывает состояние самого компьютера: права администратора, версия Windows, папка программы (временная или OneDrive), место на диске, целостность файлов программы, служба фильтрации Windows (BFE), мешающие программы и оставшиеся службы GoodbyeDPI, другие программы обхода и активные VPN-подключения, антивирус, системный прокси (ручной и сценарий автонастройки), записи проверяемых сайтов в файле hosts и расхождение часов компьютера с настоящим временем; то, что мешает работе, попадает в итог с советом и стоит выше сетевых предупреждений, антивирус и VPN — только пометкой; чего узнать не удалось, помечается «проверить не удалось», а не «в порядке»; проверка только читает — ничего не запускает, не останавливает и не правит; в таблице результатов у компьютера своя строка с подсказкой по всем пунктам

👤 Автор: loop-uh
📅 Дата: 07.10.2026 21:14:09 MSK
🔗 SHA: 26cb513

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

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

✏️ src/blockcheck/ui/check_results.py
✏️ src/diagnostics/engine.py
✏️ tests/test_blockcheck_page_accessibility.py
✏️ tests/test_diagnostics_verdict.py
🆕 src/diagnostics/system_state.py
🆕 tests/test_system_state.py

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

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

📝 «DNS-серверы»: таблица прокручивается внутри и не подвешивает вкладку, замечания помещаются, проверка ещё быстрее

👤 Автор: loop-uh
📅 Дата: 07.10.2026 21:15:57 MSK
🔗 SHA: 545fd1d

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

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

✏️ src/dns/server_check.py
✏️ src/dns/server_check_plans.py
✏️ src/dns/ui/server_check_page.py
✏️ tests/test_dns_server_check.py
✏️ tests/test_dns_server_check_page.py

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

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

📝 BlockCheck запоминает проверки и показывает, что изменилось: после каждой проверки в базу настроек программы пишется короткая запись — время, набор сайтов, итог и состояние каждого сервиса (хранятся последние 30); если с прошлой такой же проверки сервис перестал открываться или снова открылся, об этом сказано строкой в итоге и в журнале («С прошлой проверки (06.10 10:00) перестали открываться: YouTube»); сравнивается только «открывается / не открывается», неизвестное переменой не считается; рядом с журналом проверки сохраняется тот же отчёт в строгом виде (.json с названием формата и версией программы) — для разбора другой программой и для отправки; отчёт вместе с состоянием компьютера попадает в обращение в поддержку; сбой записи истории результата проверки не отнимает

👤 Автор: loop-uh
📅 Дата: 07.10.2026 21:20:53 MSK
🔗 SHA: 5d7fce4

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

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

✏️ src/app/feature_facades/blockcheck.py
✏️ src/blockcheck/commands.py
✏️ src/blockcheck/ui/check_results.py
✏️ src/blockcheck/worker.py
✏️ src/settings/normalize.py
✏️ src/settings/schema.py
✏️ src/settings/store.py
✏️ src/support_request_actions.py
✏️ tests/test_blockcheck_page_accessibility.py
🆕 src/diagnostics/history.py
🆕 tests/test_check_history.py

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

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

📝 Пресет «shadow probes (circular)» 2.43: видит ответы сервера до 28 КБ для обратной связи, держит первое соединение дольше (waves=8)

👤 Автор: loop-uh
📅 Дата: 07.10.2026 21:21:37 MSK
🔗 SHA: e54ca4f

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

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

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

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

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

📝 BlockCheck: новый режим «Полная проверка» — всё, что проверяет режим «Все сайты» (сайты, QUIC, IPv6, звонки, обрыв загрузки и отправки, состояние компьютера), и дополнительно DNS-серверы по каждому адресу и каждым способом и поиск места, где стоит фильтр; результат собран в один итог: важные находки по DNS (перехват, подмена, закрытые способы) стоят в общем списке проблем с кнопкой «Настройка DNS», в таблице появились строки «DNS-серверы» и «Место фильтра» (в подсказке — узлы по дороге с отметкой, за каким стоит фильтр), а в журнале — полная таблица серверов; место фильтра ищется по одному сайту, QUIC к которому блокируют по имени; сбой проверки DNS-серверов остальную проверку не роняет; в истории полная проверка сравнивается только с полной

👤 Автор: loop-uh
📅 Дата: 07.10.2026 21:25:27 MSK
🔗 SHA: b93bcb4

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

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

✏️ src/app/feature_facades/blockcheck.py
✏️ src/app/ui_texts.py
✏️ src/blockcheck/commands.py
✏️ src/blockcheck/ui/check_results.py
✏️ src/blockcheck/ui/page.py
✏️ src/blockcheck/worker.py
✏️ src/diagnostics/engine.py
✏️ src/diagnostics/history.py
✏️ tests/test_blockcheck_page_accessibility.py
✏️ tests/test_check_history.py
✏️ tests/test_diagnostics_verdict.py

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

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

📝 Настройка DNS: шифрованный DNS — DNSCrypt, анонимный DNSCrypt и ODoH через встроенный dnscrypt-proxy

👤 Автор: loop-uh
📅 Дата: 07.10.2026 21:26:17 MSK
🔗 SHA: 9334c22

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

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

✏️ src/app/feature_facades/dns.py
✏️ src/app/ui_texts.py
✏️ src/dns/commands.py
✏️ src/dns/dns_providers.py
✏️ src/dns/page_plans.py
✏️ src/dns/page_workers.py
✏️ src/dns/public.py
✏️ src/dns/runtime.py
✏️ src/dns/state.py
✏️ src/dns/ui/page.py
✏️ src/main/post_startup_dns_migration.py
✏️ tests/test_dns_page.py
✏️ tests/test_dns_providers_catalog.py
🆕 src/dns/local_proxy.py
🆕 src/dns/local_proxy_catalog.py
🆕 src/dns/local_proxy_config.py
🆕 src/dns/local_proxy_windows.py
🆕 tests/test_dns_local_proxy.py

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

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

📝 BlockCheck: на главной вкладке появилась карточка «Прошлые проверки» — последние шесть прогонов, новые сверху: время, что проверяли и чем кончилось («✗ 06.10 10:00 · Все сайты — YouTube не открывается»), с цветом по итогу; история подгружается вместе со страницей и обновляется сразу после каждой проверки; пока проверок не было, карточка скрыта

👤 Автор: loop-uh
📅 Дата: 07.10.2026 21:27:33 MSK
🔗 SHA: 45c6f1a

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

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

✏️ src/blockcheck/commands.py
✏️ src/blockcheck/page_runtime.py
✏️ src/blockcheck/ui/check_results.py
✏️ src/blockcheck/ui/page.py
✏️ src/blockcheck/worker.py
✏️ tests/test_blockcheck_page_accessibility.py
✏️ tests/test_check_history.py

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

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

📝 «DNS-серверы»: вместо таблицы — карточки серверов с выводом, кто мешает; проверка ещё быстрее

👤 Автор: loop-uh
📅 Дата: 07.10.2026 21:38:34 MSK
🔗 SHA: e843a96

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

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

🆕 src/dns/ui/server_check_cards.py
✏️ src/app/ui_texts.py
✏️ src/dns/server_check.py
✏️ src/dns/server_check_plans.py
✏️ src/dns/server_check_verdict.py
✏️ src/dns/ui/server_check_page.py
✏️ src/dns/ui/server_check_widgets.py
✏️ tests/test_dns_server_check.py
✏️ tests/test_dns_server_check_page.py

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

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

📝 BlockCheck называет вид блокировки и показывает его на экране: у каждого сайта сказано, чем именно ему мешают — бан по адресу (IP), блокировка по имени сайта (SNI) или обрыв после 16 КБ; раньше все три случая шли одной фразой «соединение блокирует провайдер»; под итогом появилась картина блокировок — цветная полоса и плитки с числом сайтов каждого вида (полоса заполняется слева направо, числа досчитывают от нуля), а проблемы собраны в группы по виду: у группы цветная метка, одно пояснение простыми словами и общий совет, внутри — строки сайтов с кнопкой; в таблице сайтов вместо общего «Не открывается» стоит вид блокировки тем же цветом; обрыв после 16 КБ теперь проверяется у каждого сайта: если главная страница короткая, по одному соединению подряд уходят запросы, пока не наберётся 32 КБ, а замирание перепроверяется другим видом запроса, чтобы не принять за обрыв сервер, который сам перестал отвечать; контрольные сайты так не нагружаются; сайт с таким обрывом называется «грузится не до конца»; если тот же адрес отвечает по порту 80, а шифрованное соединение не принимает, это названо закрытым защищённым доступом; для адреса, закрытого при любом имени, совет честный: попробовать подбор стратегии, а если не поможет — hosts, другой DNS или VPN

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

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

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

🆕 src/blockcheck/ui/block_kinds_view.py
🆕 src/diagnostics/block_kind.py
🆕 src/diagnostics/volume_probe.py
🆕 tests/test_block_kind.py
🆕 tests/test_volume_probe.py
✏️ src/blockcheck/ui/check_results.py
✏️ src/diagnostics/block_cause.py
✏️ src/diagnostics/engine.py
✏️ src/diagnostics/verdict.py
✏️ tests/test_block_cause.py
✏️ tests/test_blockcheck_page_accessibility.py
✏️ tests/test_diagnostics_verdict.py

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

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

📝 «DNS-серверы»: программа больше не падает при наведении мыши на карточки, карточки на широком окне идут в две-три колонки, а двойной прокрутки нет; ошибка была в том, что список сообщает своему рисовальщику строк о наведении, а у рисовальщика карточек такого метода не было; список карточек теперь вытянут на всю высоту содержимого и прокручивается вместе со страницей (раньше у него была своя полоса прокрутки внутри полосы страницы); колонка не уже 620 точек, раскрытая таблица адресов в узкой колонке сжимается и не вылезает за карточку; в итоге кнопки «Проверить серверы», «Отчёт» и «Настройка DNS» стоят сразу под главной фразой, а не под длинным списком, и находки собраны в цветные группы по важности — «Мешает работе», «Работает не полностью», «Что советуем», «К сведению»; цветная полоса долей и цветная группа с меткой вынесены в общие виджеты (ui/widgets/share_bar, ui/widgets/tone_group): BlockCheck и «DNS-серверы» рисуют их одним кодом

👤 Автор: loop-uh
📅 Дата: 07.10.2026 22:08:27 MSK
🔗 SHA: 268cebf

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

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

🆕 src/ui/widgets/share_bar.py
🆕 src/ui/widgets/tone_group.py
✏️ src/blockcheck/ui/block_kinds_view.py
✏️ src/blockcheck/ui/check_results.py
✏️ src/dns/ui/server_check_cards.py
✏️ src/dns/ui/server_check_widgets.py
✏️ tests/test_dns_server_check_page.py

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

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

📝 «DNS-серверы»: на карточках значки серверов и живая дорожка «компьютер → сервер», нажатие открывает окно подробностей

👤 Автор: loop-uh
📅 Дата: 07.10.2026 22:17:30 MSK
🔗 SHA: 0a558bd

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

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

🆕 src/dns/ui/server_check_details.py
✏️ src/dns/server_check.py
✏️ src/dns/server_check_plans.py
✏️ src/dns/ui/server_check_cards.py
✏️ src/dns/ui/server_check_page.py
✏️ tests/test_dns_server_check_page.py

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

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

📝 BlockCheck: вместо таблицы — карточки, полная проверка стала основной и опрашивает все хостинги

👤 Автор: loop-uh
📅 Дата: 07.10.2026 22:19:00 MSK
🔗 SHA: 2f94157

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

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

🆕 src/blockcheck/ui/result_cards.py
🆕 src/blockcheck/ui/result_cards_model.py
🆕 tests/test_blockcheck_result_cards.py
✏️ src/app/ui_texts.py
✏️ src/blockcheck/page_run_workflow.py
✏️ src/blockcheck/ui/check_results.py
✏️ src/blockcheck/ui/page.py
✏️ src/blockcheck/worker.py
✏️ src/diagnostics/engine.py
✏️ src/diagnostics/freeze_check.py
✏️ tests/test_blockcheck_page_accessibility.py

🔗 Открыть в Forgejo