Сайт не открывается, а браузер снова пишет «что-то пошло не так». RKN Block Checker разбирает проблему по слоям и показывает, где именно обрыв. Не просто «не работает», а конкретно: DNS-подмена, TLS-блок, TCP-сброс или заглушка от провайдера.
Запуск занимает меньше минуты: pip install rkn-block-checker, потом rkn-check. Без настроек, без конфигов, без ручной магии.
Не гадание, а диагноз по слоям сети

Главная фишка инструмента, он проверяет не «один сайт», а весь маршрут: DNS → TCP → TLS → HTTP. Ломается первый слой, значит именно он и виноват.
Это важнее, чем стандартная ошибка браузера. Вы видите тип блокировки и понимаете, что делать дальше.
- DNS_BLOCK — DNS poisoning (подмена DNS-ответов): системный DNS не даёт IP, а DoH (DNS-over-HTTPS, DNS через HTTPS) даёт.
- TCP_RESET — TCP reset (жёсткий сброс соединения на уровне IP).
- TLS_BLOCK — TLS DPI on SNI (анализ трафика по имени сайта в TLS-запросе).
- HTTP_STUB — страница-заглушка провайдера, иногда даже со статусом 200.
- TIMEOUT — таймаут (не хватает сигнала для точной классификации).
В отчёте есть не только вердикт, но и уровень уверенности. HIGH (высокая), MEDIUM (средняя), LOW (низкая), без лишней самоуверенности.
Что реально меняется для бизнеса и команд
Если вы маркетолог, у вас отваливается рекламный кабинет, и непонятно, где проблема. Эта утилита даёт факт за 30–60 секунд, и вы не тратите полдня на споры.
Если вы разработчик, можно приложить JSON (структурированный машинный вывод) к баг-репорту. Это сразу повышает шанс, что тикет не уйдёт в «проверьте роутер».
- Быстрее понять, это проблема сайта или сети у пользователя.
- Выбрать правильный обход, а не менять всё подряд.
- Собирать ежедневные снимки из cron (планировщик задач) и видеть динамику блокировок.
- Сравнивать регионы и провайдеров по одинаковой методике.
Пример из проекта: whitelist (контрольные сайты) может быть 21/21 рабочим, а blacklist (список ограниченных) 12/15 заблокирован. Это уже не «кажется», это измерение.
Зачем авторы сделали так жёстко и аккуратно
Многие утилиты кричат «всё заблокировали» после одного таймаута. Здесь наоборот, логика осторожная и проверяемая.
Например, DNS сверяют наборами IP, а не «первым попавшимся адресом». Это режет ложные срабатывания на больших сайтах с балансировкой.
- DoH (DNS через HTTPS) выступает контрольной точкой против DNS-подмены.
- TLS-проверка идёт с SNI (имя сайта в рукопожатии), чтобы ловить DPI (глубокую инспекцию пакетов).
- Итоговый вывод не обещает невозможного, есть режим «inconclusive» (недостаточно данных).
Отдельный плюс, в инструменте продуман privacy (конфиденциальность). По умолчанию нет телеметрии (скрытой отправки результатов), а IP-определение можно отключить флагом --no-self-info.
Как использовать прямо сейчас, даже если вы не «системщик»
Базовый сценарий, когда «ничего не открывается»: запускаете скан и читаете сводку. Сразу видно, массовая это проблема или точечная.
- Полная проверка: rkn-check
- Только один сайт: rkn-check --url example.com
- JSON для автоматизации: rkn-check --json
- Свои списки доменов: --white-file и --black-file
- Для cron: --json --no-self-info > snapshots/DATE.json
Если нужна интеграция с аналитикой, JSON удобно фильтровать через jq (консольный инструмент обработки JSON). Например, посчитать, сколько блоков именно TLS.
Репозиторий проекта: github.com/MayersScott/rkn-block-checker. Там же есть примеры, флаги и формат выходных данных.
Где слабое место и почему это всё равно полезно
У инструмента честное ограничение: один сигнал не всегда доказывает цензуру на 100%. Поэтому есть метки ~LIKELY и уровни confidence (уверенности).
Но в реальной работе это даже плюс. Вы получаете не эмоцию, а техническую картину, которую можно повторить и проверить.
Главный сдвиг: интернет-поломки перестают быть «чёрным ящиком». Когда блокировки становятся точнее, диагностика тоже становится инженерной, быстрой и массовой.
