Мониторинг доступности сайта в России на коленке

    Количество запрещенных в России сайтов стабильно растет. От блокировок страдают не только плохие ребята но и рядовые пользователи интернета.


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


    Продвинутые пользователи уже привыкли жить с VPN или прокси. К сожалению, простые смертные зачастую ничего об этом не знают. Заставить всех использовать средства обхода невозможно, в таком случае, я предлагаю взять ответственность за доступность сайта в свои руки.


    Есть несколько способов, в том числе официальных, узнать о том что ресурс заблокирован, например Is It Blocked In Russia? — идею которого я позаимствовал. Этого достаточно для ручной проверки сайта. Действие легко воспроизвести, а значит автоматизировать.


    В качестве проекта выходного дня, я запилил небольшой сервис, который частично копирует и расширяет возможности оригинального проекта. Для простоты, я добавил отдельный путь вида /ping?url=habr.com, который в виде ответа возвращает HTTP-статус: 200 — сайт доступен в России, 451 — сайт недоступен, 400 — с адресом что-то не так. В таком виде, ссылку можно скормить любому сервису мониторинга, например https://uptimerobot.com.


    Я добавил HTTP(s) монитор c адресом https://isitblockedinrussia.nnm.guru/ping?url=lebster.me и частотой обновления 24 часа.


    image


    Домен был заблокирован, поэтому я перенес сайт на другой сервер.


    image


    Далее, вы уже сами решите как использовать сервис — выбрать и подключить уведомления в уже существующих сервисах мониторинга или сделать свой.


    image


    Сервис использует данные github.com/zapret-info и обновляется раз в день. Сервис предоставляется на условиях «как есть» и не гарантирует соответствие реальной картине мира, так как далеко не все поставщики услуг регулярно обновляют свои базы.

    AdBlock похитил этот баннер, но баннеры не зубы — отрастут

    Подробнее
    Реклама

    Комментарии 6

      +1

      Дал сервису на проверку https адрес — он проверил его де, но с протоколом http. Если речь о домене — то протокол вовсе не нужен, а если об урле...

        0
        Есть три основных сущности по которым идет поиск — айпи, домен и урл. Для айпи и домена протокол не важен. Поиска по урл включает протокол запрашиваемого адреса плюс http и https.

        Например если проверяем ftp://какой_то_файл.pdf, то будем искать совпадение для всех вариантов — ftp://какой_то_файл.pdf, http://какой_то_файл.pdf и https://какой_то_файл.pdf

        Для удобства, заменил протокол по умолчанию на https.
          0

          Насколько заметил, было не так: ввожу хоть просто имя хоста, хоть http-имя-хоста, хоть https — форма, когда перегружается, содержит в поле вариант http-имя-хоста. Путает, непонятно, что проверяли.


          Тем более что эти блокировки и про домены, и про урлы, и про ip-адреса случаются, так что понимать бы неплохо. Или вы по ip же не проверяете?


          Но за сервис суперспасибо!

            0
            Обновил поведение для поля ввода, теперь сохраняю оригинальный адрес. Сообщение о результате оставил как есть, https://example.com выглядит более естественно. Возможно в будущем поменяю вывод сообщения в зависимости от ввода.

            Проверка работает по IP в том числе, например вот так isitblockedinrussia.nnm.guru/?url=192.168.0.1.
        +2
        403 — сайт не доступен

        451 было бы уместнее :-)

          0
          Заменил код ответа на 451.

        Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.

        Самое читаемое