На GitHub появился проект RKN Block Checker — небольшая CLI-утилита на Python, которая пытается определить не просто факт блокировки сайта, а конкретный механизм, через который она происходит. Стоит отметить, что это не готовое решение для обхода блокировок. Это просто проект энтузиаиста, показывающая как работают системы изнутри.
Инструмент анализирует работу DNS, TCP, TLS с HTTP и показывает, где именно «ломается» соединение. Проект ориентирован на диагностику сетей с фильтрацией трафика — прежде всего в контексте инфраструктуры Роскомнадзора и ТСПУ.

Утилита проверяет не только доступность сайта
Автор проекта сразу уточняет, что браузер и без того умеет сообщать «сайт недоступен». Проблема в другом: обычно пользователь не понимает, что именно стало причиной — DNS-подмена, DPI-фильтрация, TCP-reset или страница-заглушка от провайдера.
RKN Block Checker последовательно проходит несколько этапов проверки:
- сравнивает ответы системного DNS и Cloudflare DoH;
- проверяет TCP-соединение;
- инициирует TLS-handshake с SNI;
- пытается выполнить HTTP-запрос.
После этого утилита классифицирует результат.
Например, если TCP проходит нормально, но TLS-сессия обрывается сразу после ClientHello, инструмент помечает это как вероятную DPI-фильтрацию по SNI — типичный паттерн работы ТСПУ.
Есть поддержка JSON, своих списков сайтов и cron
Утилита распространяется через PyPI и запускается буквально одной командой:
pip install rkn-block-checker
rkn-check
По умолчанию программа использует встроенные списки «разрешенных» и заблокированных сайтов, а затем формирует сводку по типам ограничений.
Есть и более продвинутые сценарии:
rkn-check --url https://example.com
Можно проверять отдельные сайты, экспортировать результаты в JSON, подключать собственные списки ресурсов и запускать инструмент через cron для долгосрочного мониторинга сети.
Автор отдельно продумал вопросы приватности
В описании проекта отдельно разобран вопрос «цифрового следа». Изначально утилита использовала собственный User-Agent, но после замечаний пользователей автор заменил его на типичный Chrome-заголовок, чтобы запросы не выглядели как работа диагностического инструмента.
Также проект не отправляет телеметрию и не сохраняет результаты проверки. Из внешних запросов используются только сами сетевые пробы, Cloudflare DoH и опциональный запрос к ipinfo.io для определения провайдера и IP-адреса.
Сам проект распространяется под лицензией MIT и доступен на GitHub.
