Как мы определяем блокировку РКН

Большинство сервисов отвечают только «да / нет». Мы прогоняем запрос к домену через четыре сетевых уровня — DNS → TCP → TLS → HTTP — каждую пробу через российский SOCKS5-прокси (реальный домашний IP в РФ). Это позволяет увидеть именно работу оборудования провайдера (ТСПУ) и точно сказать, на каком уровне и каким способом блокируется сайт.

Четыре уровня проверки

Проверка идёт сверху вниз. Первый сработавший уровень и определяет тип блокировки — дальше пробу не гоняем впустую.

1DNS

Резолвим домен через резолвер РФ и сравниваем с «чистым» ответом.

Ловит: подмену DNS (провайдер отдаёт IP-заглушку)

2TCP :443

Открываем TCP-соединение на 443 порт через прокси (удалённый резолв).

Ловит: IP-блок и TCP-RST от ТСПУ

3TLS (SNI)

Делаем TLS-рукопожатие с реальным SNI, затем с контрольным (безобидным).

Ловит: DPI по имени домена (SNI)

4HTTP

Полностью загружаем страницу и анализируем поведение и содержимое.

Ловит: DPI mid-stream, обрыв загрузки, страницу-заглушку

Что показывает каждый уровень

1. DNS — подмена ответа

Запрос имени домена уходит через прокси на публичный DNS. Если резолвер провайдера возвращает IP-заглушку (приватные диапазоны, адрес страницы-«заглушки» РКН) или адреса, не совпадающие с реальными, — это DNS-блокировка. Самый «мягкий» тип: обходится сменой DNS-сервера на публичный (Google, Cloudflare).

2. TCP — отказ соединения и RST

Пробуем установить TCP-соединение на порт 443. Если соединение отклоняется (connection refused), хост/сеть «недостижимы» или сразу прилетает RST — это блокировка на уровне IP-адреса или сброс соединения оборудованием ТСПУ. Тихий «drop» пакетов (таймаут на соединении) тоже фиксируется здесь.

3. TLS — DPI по SNI

В начале HTTPS-соединения имя домена передаётся открытым текстом в поле SNI. DPI-оборудование читает его и обрывает рукопожатие именно для запрещённых доменов. Чтобы отделить это от IP-блокировки, мы делаем две пробы на один и тот же IP: с реальным SNI и с контрольным (безобидным) именем. Если реальный SNI рвётся, а контрольный проходит — это классический DPI по SNI, а не проблема сервера.

4. HTTP — заглушки и обрыв на лету

Если верхние уровни чистые, загружаем страницу целиком. Здесь ловятся: страница-заглушка провайдера, HTTP-коды 451 (юридическая блокировка) и 403 (геоблок), капчи, а также характерный для DPI обрыв в середине передачи (например, ровно на границе TCP-окна 16–32 КБ).

Реестр, IP и Cloudflare — параллельно

Реестр РКН

Сверяем домен с официальным реестром запрещённых сайтов. Если основной источник недоступен, используем резервный — в результате это помечается бейджем «⚠ резерв».

Внереестровая блокировка

Домен рвётся на уровне DPI (TLS/HTTP), но в реестре его нет. Сопоставляя послойную диагностику с реестром, мы отличаем такую «скрытую» блокировку от официальной.

Проверка IP

Определяем IP домена и проверяем его на блокировку. Если заблокирован сам IP — недоступны все сайты на нём, даже не нарушающие закон (частый случай shared-хостинга).

Cloudflare

Если домен за Cloudflare и не в реестре, но рвётся — почти всегда дело в фильтрации IP-адресов Cloudflare, а не в самом домене. Мы это распознаём и даём рекомендации.

Как читать результат проверки

В отчёте каждой проверки (/check?domain=...) мы показываем «лесенку» слоёв: какой из них прошёл, а какой сработал. Метка типа блокировки означает следующее:

  • Подмена DNS — провайдер подменяет DNS-ответ.
  • TCP-RST / IP — блокировка на уровне IP-адреса или сброс TCP (RST).
  • TLS-DPI (SNI) — DPI рвёт соединение по имени домена (SNI).
  • HTTP-DPI — блок на HTTP-уровне: заглушка или обрыв загрузки.
  • Реестр — домен в официальном реестре запрещённых сайтов.

Проверьте свой домен

Введите домен — за 10–15 секунд покажем, открывается ли он из России, и если нет — на каком уровне блокировка.