RKN Alert — база Роскомнадзора у вас в браузере

Как и все, я пользуюсь одним из простых способов обхода блокировок, коих сейчас море. Все сайты открываются без проблем и тормозов. Но с недавних пор (2 недели назад) у меня встал вопрос: а какие сайты на самом деле заблокированы из тех, что открываются, а какие нет? Каждый сайт проверять вручную на официальном сайте РКН — не вариант, хоть это и самый надёжный способ.

Естественно, я пошёл гуглить подходящие инструменты, но к великому удивлению ничего не нашёл.

к содержанию ↑

Идея

Так родилась идея сделать расширение (опенсорсное), которое будет проверять каждый сайт на соответствие записям в базе РКН. Сначала оно было простое, проверяло только домен. Сейчас оно даже показывает, был ли сайт заблокирован неправомерно (попал под раздачу).

Например, reactos.org или 7-zip.org (на момент прочтения статьи они могут быть уже разблокированы). Вообще с начала войны с Телеграмом многие сети до сих пор находятся в постоянной блокировке, периодически этот список меняется по неизвестным законам.

к содержанию ↑

Как работает расширение

  • Скачивает базу РКН и хранит её локально.
  • В текущей вкладке проверяет URL (есть ли он в базе).
  • Вырезает домен из URL и проверяет, есть ли домен в базе.
  • Проверяет текущий ip-адрес в базе, по которому загружен текущий сайт.
  • Проверяет принадлежность ip-адреса заблокированным подсетям.
  • Показывает отчёт в форме иконки. Если её нажать, то чуть более подробная информация.
Новости по теме:   Электронный дневник Самарская область — войти в личный кабинет школьника и родителей

А что если в браузере прокси?

Если в браузере настроен прокси, то расширение работает в пол силы, т.к. испытывает проблемы с определением текущего ip сайта. Вместо этого определяется ip прокси-сервера.

Речь только о прокси в самом браузере, а не о VPN и прочих способах обхода. Кстати, для определения ip понадобились права webRequest (доступ к данным). Также ip не определяется из браузера Tor (к сожалению).

к содержанию ↑

А если сайт заблокирован провайдером?

Другая техническая трудность — это определение текущего ip, когда сайт недоступен (предположительно заблокирован, а обход блокировок не настроен). В этом случае браузер не предоставляет информацию об ip-адресе. А нам нужен именно тот ip, по которому браузер пытается установить соединение — и его определить невозможно, увы.

Но проверка по URL и домену при этом работает исправно.

А что, если сайт просто лежит?

На этот случай есть функция проверки доступности сайта, — она работает независимо от DNS и блокировок (пока соответствующий сервис хостинг работает без сюрпризов). После установки расширения её нужно включить в настройках. Но определить ip не получится по той же причине, что и в предыдущем абзаце. Есть идея вытягивать оттуда информацию об ip, но он может отличаться от вашего.

Новости по теме:   Возможно ли 17летнему, сдавшему практический экзамен до 1 апреля 2025 года, получить водительское удостоверение сейчас

Что если провайдер перенаправляет DNS?

Если у провайдера блокировка на уровне DNS, то расширение будет получать ложный текущий ip сайта и не подозревать об этом. И наоборот, если вы пропишите нужные ip в файл hosts (или даже у вас свой DNS-сервер), то во всплывающем отчёте будут именно они. Проверка по URL и домену при этом работает исправно, т.к.

они берутся из строки адреса в браузере.

Пытаемся решить проблемы с ip

В качестве полумеры для решения подобных проблем расширение осуществляет DNS запрос и определяет все ip сайта, а также их статус нахождения в базе РКН. При этом расширение точно не знает, какой из нескольких ip используется в данный момент для обращения к проверяемому сайту. Поэтому если хоть один ip заблокирован, то расширение бьёт тревогу и меняет цвет иконки на красный.

Для получения DNS записей приходится использовать внешний сервис через HTTP-DNS, потому что сам браузер не позволяет резолвить адреса. Но это и хорошо, т.к. провайдеры не блокируют и не перенаправляют подобные запросы.

Надёжность информации высокая. Можно использовать днс от Google или Cloudflare, а также пользователь brzsmg захостил вечный бесплатный днс, за что ему спасибо.

к содержанию ↑

Где взять свежую базу РКН?

Конечно же, отдельный квест был поиск наиболее адекватной базы РКН. Дело в том, что сам РКН не держит базу в открытом доступе. Вместо этого он предлагает провайдерам использовать цифровую подпись для доступа к базе.

То есть ковровая блокировка может задеть ключевые (или ваши) ресурсы всего на пару часов, а потом исчезнуть, как ни в чём не бывало. Наиболее приемлемым оказался часто обновляемый файл на github. Спасибо добрым людям!

к содержанию ↑

Заглушка провайдера

Ситуации, когда показывается заглушка провайдера, расширение распознаёт. Оно запоминает информацию о странице, с которой был редирект на заглушку, и показывает информацию о сайте, а не о заглушке. Сейчас поддерживаются: Ростелеком, МТС, Билайн, Йота, ТТК, Дом.ру.

Если у вас особая заглушка у провайдера, её можно указать в настройках, и она будет распознаваться (не будет рассматриваться, как сайт).

Что делать, если РКН заблокировал сайт. На примере личного опыта

выдержка из закона, по которому вас должны разблокировать за 3 дня после устранения нарушений и уведомления РКН об устранении нарушений.

По данным FAQ на сайте РКН, в теории, если нарушение устранено, вы должны быть разблокированы в течении 3 дней после подачи уведомления. Но это теория. практика, к сожалению, не так оптимистична.

По крайней мере в нашем случае. Есть мнение, что в течении 3 дней разблокируют только если вас заблокировали по распоряжению Минкомсвязи, а если ФНС, МВД и прочие ведомства — это надолго.

Следующая
РазноеБанковский идентификационный код

Добавить комментарий