Как и все, я пользуюсь одним из самых простых способов обхода блокировок. Все сайты открываются без проблем. Но недавно (недели две назад) у меня родился вопрос: какие сайты действительно открыты, а какие заблокированы, а какие нет? Ручной контроль каждого сайта на официальном сайте Комитета государственной безопасности России — не вариант, но это самый надежный способ. Разумеется, я поискал в Google подходящий инструмент, но, к своему удивлению, ничего не нашел.
Идея.
Так возникла идея создать расширение (с открытым исходным кодом) для контроля каждого сайта на предмет соблюдения регистрации в базе РКН. Сначала все было просто и контролировались только домены. Даже если сайт был незаконно заблокирован (перешел в разряд подавляемых), теперь он все равно будет виден. Например, Reactos.org или 7-Zip.org (который, если вы читаете эту статью, возможно, еще не заблокирован). В общем, с начала войны с телеграмом многие сети до сих пор постоянно исключены, и регулярно этот список меняется в соответствии с неизвестным законодательством.
Как работает расширение
Что произойдет, если в браузере установлен прокси-сервер?
Если в браузере настроен прокси-сервер, расширение будет работать вполсилы из-за проблем с определением текущего IP сайта. Вместо этого будет определяться IP прокси-сервера. Это собственный прокси-сервер браузера, а не VPN или другой метод обхода. Кстати, для определения IP требуются права WebRequest (доступ к данным). Также IP не определяется браузером TOR (к сожалению).
А что если сайт исключен из провайдера?
Еще одна техническая проблема — определение текущего IP-адреса, когда сайт недоступен (возможно, заблокирован, а обход блокировки не настроен). В этом случае браузер не предоставляет никакой информации об IP-адресе. Тогда требуется точный IP, с которым браузер пытается установить соединение, что, к сожалению, невозможно определить. Однако проверка на основе URL и домена работает нормально.
А что будет, если сайт просто оставить?
В этом случае есть возможность проверить доступность сайта. Это работает независимо от DNS или блокировки (пока есть соответствующая).Услуги.(Хостинг работает без каких-либо сюрпризов). После установки расширения необходимо включить его в настройках.Однако IP не может быть определен по той же причине, что и в предыдущем пункте.Идея состоит в том, чтобы получить информацию об IP оттуда, но она может не совпадать с вашей.
Что произойдет, если провайдер перенаправит DNS?
Если провайдер заблокирован на уровне DNS, расширение получит поддельный текущий IP сайта и не распознает его. Верно и обратное: если вы пропишите правильные IP в файле hosts (или даже если у вас есть свои собственные DNS-серверы), вы увидите их во всплывающем окне. Проверки, основанные на URL-адресах и доменах, работают нормально, поскольку они берутся из адресной строки браузера.
Попытка решить проблемы с IP-адресом
В качестве промежуточного средства решения подобных проблем расширение выполняет DNS-запрос для определения IP-адресов всех сайтов в базе данных RKN и их статуса. При этом расширение не знает, какой именно из множества IP используется в данный момент для доступа к управляемым сайтам. Поэтому, если хотя бы один IP заблокирован, расширение подает сигнал тревоги и меняет цвет иконки на красный.
Поскольку браузер сам не может определять адреса, для получения DNS-записей необходимо использовать внешнюю службу через HTTP-DNS. Однако это хорошо, так как провайдер не блокирует и не перенаправляет такие запросы. Информация надежна. Вы можете использовать Google или Cloudflare DNS. Кроме того, brzsmg хотел получить постоянно бесплатный DNS. Спасибо.
Где я могу найти последнюю базу данных РКН?
Разумеется, был проведен еще один поиск, чтобы найти лучшую базу данных РКН. На практике сама РКН не поддерживает свои базы данных в открытом доступе. Вместо этого мы предлагаем провайдерам использовать цифровые подписи для доступа к базе данных. Никаких дополнительных цифровых подписей найти не удалось. В то же время РКН рекомендует провайдерам обновлять свои базы данных раз в час. Кроме того, некоторые «экстренные» обновления баз данных происходят еще чаще. Это означает, что засорение ковра может повлиять на ключевой ресурс (или ваши собственные ресурсы) всего на два часа, а затем исчезнуть как ни в чем не бывало. Наиболее приемлемым источником оказался часто обновляемый архив на github. Спасибо вам, добрые люди, за помощь!
Это расширение распознает ситуации, в которых появляются заглушки ISP. Оно запоминает информацию о странице, с которой происходит перенаправление на заглушку, и отображает информацию о сайте вместо заглушки. На данный момент поддерживаются: Ростелеком, МТС, Билайн, Йота, ТТК, Дом.ру. Если у вас есть специальный заглушка от провайдера, укажите ее в настройках и она будет распознана (не будет восприниматься как сайт).
Заключение.
Что бы вы еще добавили? Пишите. Насколько я могу судить, расширение выглядит законченным. Осталось только раз в год исправлять небольшие ошибки (если найдутся).
О будущем RKN Alert ничего сказать не могу, так как он связан с внешним сервисным проектом и зависит от наличия базы со свободным доступом. Но мы следим за ситуацией, пока живы. Я уверен, что выход будет найден.
Спасибо всем, кто помогал! Удачи вам всем!
Что делать, если РКН блокирует сайт. Приведу пример из своего личного опыта.
Согласно FAQ на сайте РКН, теоретически, если нарушение было устранено, блокировка должна быть снята в течение трех дней после отправки уведомления. Однако это только теория. К сожалению, действия не столь оптимистичны. По крайней мере, в нашем случае. Есть мнение, что снять блокировку в течение трех дней можно только в том случае, если она была заблокирована по распоряжению Минкомсвязи, а для Федеральной налоговой службы, Министерства внутренних дел и связи и других ведомств это займет больше времени.
И еще один момент.
Отдельно хотелось бы обсудить «ответ» @66957-timeweb. Это просто замечательно, не так ли? Когда было принято решение о переезде и смене IP-серверов в настройках DNS, NS-серверы timeweb начали выдавать IP 127. 0. 0. 1.
В ответ на запрос типа WTF в службу поддержки Timeweb нам ответили, что «вы находитесь под запретом РКН, поэтому наша автоматизация работает так». Затем запрос был перенаправлен в юридический отдел Timeweb. А там… О боже. 30 дней на ответ и тишина.
Их не волнует, что РКН ограничивает доступ только на территории Российской Федерации, и таким образом они перекрывают кислород всему миру. Возможно, они рассчитывают на то, что никто не побежит в суд, чтобы сменить серверы ns.
Что же им следовало сделать на самом деле? Из-за этой установки со стороны Timeweb нам некоторое время пришлось покупать дешевый тарифный пакет у западного хостера (мы решили не рисковать) и указывать ns-сервер. Это означало, что нам придется менять IP, чтобы настроить редиректы. Поэтому Timeweb поможет ему, если он не завершил РКН. Молодцы коллеги. Конечно, мы понимаем, что Timeweb уже принял к рассмотрению и осудил РКН, но поведение остается ужасающим.