Пользователь
46,9
рейтинг
1 июля 2014 в 18:16

Разработка → Определитель типа блокировки сайтов у провайдера

image

Написал тут маленькую программку, которая позволяет определить тип блокировки сайтов из реестра, применяемый провайдером. Она умеет определять подмену DNS, перенаправление DNS, IP/Port restricted DPI, Full DPI, ну и блокировку по IP, конечно же.
Программа отправляет применяемый тип блокировки на сервер, в дальнейшем можно будет составить таблицу по провайдерам.

Написано на Python 3.
Репозиторий на Github
Бинарники для Windows
@ValdikSS
карма
631,0
рейтинг 46,9
Реклама помогает поддерживать и развивать наши сервисы

Подробнее
Спецпроект

Самое читаемое Разработка

Комментарии (116)

  • +10
    Вот за это я и люблю своего провайдера:
    [!] Результат:
    Ваш провайдер не блокирует сайты.
    • +1
      Я бы исправил это на «Ваш провайдер не блокирует этот сайт.»
      • +1
        Вообще мой провайдер ни один сайт не блокирует.
        • 0
          Откуда такая уверенность? Я вот тоже так думал, но буквально позавчера обнаружил заблокированный сайт.
    • +9
      Ваш провайдер пока не блокирует сайты
    • +14
      Ваш провайдер пока еще не заблокирован
      • +23
        Ваш провайдер пока еще провайдер.
        • +3
          Ваш провайдер, пока.
    • 0
      Кстати, тоже периодически задаюсь вопросом почему мой провайдер не блокирует сайты. Становится интересно на сколько это распространено вообще. Может это только в МСК происходит вообще? :)
  • +4
    Я не увидел в коде проверки какого-нибудь «невинного» сайта, совпадающего по IP с блокированными. Чтоб можно было разделить «ваш провайдер блокирует по IP, но только нужные сайты» и «ваш провайдер блокирует по IP тупо всё подряд».
    • +1
      Если блокировка по IP, т.е. не открывается главная lostfilm и заблокированный URL на lostfilm, то, очевидно, блокировка происходит по IP.
      elif http == 3:
      print(«Ваш провайдер блокирует по IP-адресу.\n»,
      «Используйте любой способ обхода блокировок.»)
      • +2
        Я видел вариант, когда только трафик по отдельным IP отправляется на DPI (экономия ресурсов). В результате lostfilm работать не будет, а вот другие сайты на этом IP будут.

        И другой вариант (Ростелекомовский), когда просто блокируют по IP.
        • +1
          В результате lostfilm работать не будет, а вот другие сайты на этом IP будут.

          Что-то вы не договариваете. Блокируют либо конкретный домен на основе DNS, либо по IP (и тогда, собственно, все сайты на этом IP недоступны), либо анализируют трафик через DPI. Сам lostfilm не заблокирован (главная, например), заблокированы только конкретные URL.
        • 0
          Прошу прощения, перечитал ваше сообщение.
          Я видел вариант, когда только трафик по отдельным IP отправляется на DPI (экономия ресурсов). В результате lostfilm работать не будет, а вот другие сайты на этом IP будут.

          Это IP/Port restricted DPI, как я его обозвал.
  • 0
    Хм, а что подразумевается под понятием «обычного» DPI в результатах?
    • 0
      DPI, который блокирует ссылку только на конкретном IP.
      • 0
        Т.е. он по факту присутствует во всех соединениях с сетью, но блокирует определенные tcp-пакеты по заголовку?
        • 0
          Нет, это Full DPI.
          Full DPI блокирует ссылку на любом IP и любом порту, у моего провайдера такой. Таким образом, сайт через прокси не открывается.
          А «обычный» DPI блокирует ссылку только на IP заблокированного сайта (либо на всех IP заблокированных сайтов сразу) и на 80 порту. Использовать прокси через такой DPI можно.
          • 0
            По этому описанию, такой «DPI» выглядит как обычный firewall.
          • 0
            Full DPI блокирует ссылку на любом IP и любом порту, у моего провайдера такой.

            Если не секрет, что это за провайдер такой? Что бы я к нему никогда не подключался.
            • 0
              Не переживайте, это местечковый провайдер, на ~5000 пользователей. Я общался с сетевым администратором, он говорит, что таких блокировок с них требует Роскомнадзор. Причем ниже по даунлинку еще DPI от Билайна.
              • 0
                Интересно, зачем это РКН. Попытка задавить мелкий бизнес или обкатывают это для глобального внедрения?
                Кстати, не дадите ссылку на какую-нибудь статью, в которой описано, как пустить запросы к DNS через VPN? Беглый гуглинг ничего интересного не дал, был бы очень признателен.
                • +3
                  как пустить запросы к DNS через VPN?

                  Ну, например, добавить только маршрут к 8.8.8.8 через VPN, и использовать 8.8.8.8 в качестве DNS-сервера в системе.
                  • 0
                    Точно, спасибо! Надо сделать это на уровне роутера, благо DD-WRT это умеет.
                • 0
                  Требование одинаково относится ко всем операторам. Просто исполняют его все по разному, поскольку чётких критериев у РКН по способам блокировки нет — только общие рекомендации. Им главное — чтобы то что нужно блокировалось, а то что не нужно — не блокировалось.
                  • +1
                    им главное, чтоб блокировалось что нужно.
                    не блокировать что не нужно — надо провайдерам.
                    • 0
                      Не блокировать «что не нужно» — требование ФЗ «О связи». РКН не монстры какие, они выполняют то, что им навесили законотворцы.
                      • 0
                        Таки именно монстры.
                        В их компетенции было бы не считать рисунки и тексты детской порнографией (определения в законе — нет), в их компетенции было бы выдать постановление, обязующее блокировать только по днс (это самая легкая для обхода блокировка), и так далее.
                        Но нет, своими постановлениями они четко следуют линии партии и максимально широко трактуют запреты.
                • 0
                  >> зачем это РКН
                  тут вроде про политику нельзя же, да?
  • 0
    Не знаю тонкостей питона — как это заставить взлететь на линуксе?

    $ python blockcheck.py
    File «blockcheck.py», line 12
    def print(*args, **kwargs):
    ^
    SyntaxError: invalid syntax

    $ python setup.py
    Traceback (most recent call last):
    File «setup.py», line 3, in from cx_Freeze import setup, Executable
    ImportError: No module named cx_Freeze
    • +1
      ./blockcheck.py
      или
      python3 ./blockcheck.py
      • 0
        Спасибо! Можно еще краткое пояснение насчет этого:
        [O] Тестируем DNS
        Адреса через системный DNS: ['209.114.51.182']
        Адреса через Google DNS: ['209.114.51.182']
        Адреса через DNS AntiZapret: ['107.150.11.192']
        [✓] DNS записи не подменяются
        [✓] DNS не перенаправляется
        • 0
          Вы про то, что через DNS антизапрета другой IP? Так и есть, антизапрет проксирует все запросы через себя на запрещенные сайты, поэтому, если мы получили через DNS антизапрета IP сайта, а не антизапрета, то провайдер перенаправляет DNS-запросы.
  • 0
    Небольшой оффтопик: навскидку что-нибудь (вс)помнишь из раутеров, которые держат OpenVPN?
    Я не уверен, что мой старенький Keenetic 4G вытащит Tomato, даже если собирать её самому.
    • 0
      Ответил в лс.
      • 0
        Отлично, спасибо!
    • 0
      Очень урезанно держит любой MikroTik.
  • +9
    Переупаковал бы windows-релиз в zip. Rar есть не всегда, а zip открывается в explorer.
    • –9
      unrar.exe есть всегда!
      • +8
        pkunzip.zip
        • +2
          uc2.arc.arj.lzh.ha.gz.lha
          • 0
            И отсутствие интернета, прям муражки по коже…
  • +1
    УХ ты. День скриптов на питоне :D

    Ростелеком:
    [!] Результат:
    Ваш провайдер блокирует по IP-адресу.
    Используйте любой способ обхода блокировок.

    ох не зря я после его попыток меня стращать коллекторами полностью от него отказался.
  • +1
    Чорт, 15 мб бинарник под винду весит. Однако.
    Зато удостоверился в том, что мой vpn в нейтральной стране не блокирует сайты. Это сколь понятно, столь и приятно.
  • 0
    Если сайт просто упал?
    • +1
      То все сломается, к сожалению.
  • 0
    Что-то в коде GUI этого скрипта странное творится. Работает как-то через раз (!), и если работает, то сразу после получения результатов окно закрывается. Окно с консолькой при этом продолжает висеть в обоих случаях.
    Бинарник не брал, скачал master.zip с гитхаба.
    Python 3.3.5 (v3.3.5:62cf4e77f785, Mar 9 2014, 10:35:05) [MSC v.1600 64 bit (AMD64)] on win32
    • 0
      Действительно, странно. Может, у меня там где-то race condition. Но у меня, вроде, хорошо работает.
      • +1
        Tkinter, походу, просто не thread safe. Вот так вроде работает. Хотя люди пишут, что after_idle тоже не очень thread safe…
        def print(*args, **kwargs):
            if tkusable:
                def f():
                    for arg in args:
                        text.insert(tk.END, str(arg))
                    text.insert(tk.END, "\n")
                    text.see(tk.END)
                    text.update()
                text.after_idle(f)
            else:
                __builtins__.print(*args, **kwargs)
        
        • 0
          все гуи на питоне не thread safe. а даже если и safe гораздо меньше геморроя, если весь уй делать в одном треде, причем в главном.
          всё остальное — граблинное поле.
          • 0
            Рисовать текст через Queue, что ли?
            • 0
              Да. Я походил по этим граблям в TK, потом походил по ним же в Gtk. Это единственное надежное решение.

              Я в Queue складываю лямбду, которую дёргает on_idle из основного потока.
          • +4
            все гуи на питоне не thread safe. а даже если и safe гораздо меньше геморроя, если весь уй делать в одном треде, причем в главном. всё остальное — граблинное поле.
            Большинство известных или когда-либо используемых мной в разработке гуи не thread safe — swing (java), c#, vcl (делфи, билдер) итд.
            • 0
              странно. дельфёвый же поверх WinAPI — а тот вполне себе без проблем работает в мультитреде. пользовался многократно без косяков.
              • 0
                Вот тут пишут, что графическая часть WinAPI не thread-safe.

                GDI functions are not thread-safe, and moreover, many are thread-affine. Almost anything that takes an HWND and/or an HDC must be called on the same thread where that HWND or HDC was created (SendMessage, PostMessage and similar are notable exceptions). HBITMAPs, HICONs and such could be passed between threads, but should be manipulated by one thread at a time.

                Most other functions — those that don't deal with GDI or window management — are indeed thread-safe.
                • 0
                  GDI использоваться должно только из обработчика WM_PAINT, именно поэтому там для ускорения сделано не-thread-safe.
                  А сам WinAPI (создание контролов, изменение их параметров и т.п.) вполне себе юзабельны из мультитреда без какого-либо геморроя.
              • 0
                странно. дельфёвый же поверх WinAPI — а тот вполне себе без проблем работает в мультитреде. пользовался многократно без косяков.
                Ну да, поверх нативного апи часть gui-компонентов (основные контролы которые), но это дальше уже ведь, но сами по себе vcl-ные компоненты, их пропертисы итд из сторонних тредов строго через Synchronize() положено дёргать.
            • 0
              Другой вопрос, что в них наверняка есть удобные функции, позволяющие потокобезопасно запланировать вызов функции на следующей итерации главного цикла. Чего в Tkinter вроде как нет.
  • 0
    У меня провайдер блокирует подменой IP на DNS, из-за чего я поменял DNS провайдера на Google Public DNS. Из-за этого скрипт не определяет блокировку.
    Всё абсолютно закономерно.
  • 0
    Очень хорошо и грамотно рассказываете по anon.fm, приятно слушать.
    Настолько же, насколько неприятно слушать «диджея».
    Не подскажете, как скачать эту передачу? Не разберусь в их диком интерфейсе.
    • 0
      Мямлил, запинался, терял мысль, путался, иногда говорил неточно. Стыдно, надеюсь, следующий эфир лучше будет.
      Не очень понятно, почему никто диджея не любит. Я его кумир, он отлично ведет эфир, образован и харизматичен.
      anon.fm/records/anonfm-20140701-230038-Администрация.aac
      • +1
        Вы — его кумир?
        • +1
          Он мой кумир, конечно же.
  • 0
    прикольно! спасибо. я теперь знаю, что у меня провайдер блокирует что-то. одно время забил на автоматический парсер запрещённых сайтов и автомаршрут через vpn, теперь надо будет всё таки накодить. благо кодить там полчаса)
  • +2
    Мой провайдер Дом.ру, запрет выполняется подменой dns-ответов и для фильтруемых сайтов домен ресолвится на фильтр.
    Причём ответы от 8.8.8.8 провайдер искажает, а вот от 2001:4860:4860::8888 — нет.
    Убираем ipv4 dns, оставляем только ipv6, и блокировок нет.
    • 0
      У вас провайдер IPv6 предоставляет, или туннель?
      В любом случае, в реестре исключительно IPv4-адреса.
      • 0
        ipv6 даёт провайдер в тестовом режиме (надо просить включить)

        В любом случае, в реестре исключительно IPv4-адреса.

        да, но можно получить v4-адрес через v6-DNS
        • +1
          А, понял теперь. Нужно вообще всем заблокированным сайтам использовать IPv6. Многие, кстати, уже используют.
      • +1
        Впрочем, насчёт «блокировок нет» я рано обрадовался.
        Если телнетом забирать страницу — ок, а в браузере не открывается.
        Оказалось, GET и Host, когда в одном пакете, попадают в блокировку, даже если ip-адрес от DNS не подменили.
        Нужно MSS уменьшать, или делать свой прокси/загрузчик, чтобы делал паузу между строками в хидере запроса.
        • 0
          Я для своего провайдера прокси написал, чтобы запрос начинался с переноса строки, тогда все нормально. Только некоторые сайты такого не любят.

          Оказалось, GET и Host, когда в одном пакете, попадают в блокировку, даже если ip-адрес от DNS не подменили.

          Хм, а зачем они подменяют IP, если у них DPI?
          • 0
            Хм, а зачем они подменяют IP, если у них DPI?


            У них не на все заблокированные сайты подменяется DNS.
            Вот, например

            lookup
            bxcf6n@kernel:~$ nslookup grani.ru
            Server: 2001:4860:4860::8888
            Address: 2001:4860:4860::8888#53

            Non-authoritative answer:
            Name: grani.ru
            Address: 209.114.51.182

            bxcf6n@kernel:~$ nslookup grani.ru 8.8.8.8
            Server: 8.8.8.8
            Address: 8.8.8.8#53

            Non-authoritative answer:
            Name: grani.ru
            Address: 92.255.241.100

            bxcf6n@kernel:~$ nslookup 2ch.hk 8.8.8.8
            Server: 8.8.8.8
            Address: 8.8.8.8#53

            Non-authoritative answer:
            Name: 2ch.hk
            Address: 198.41.182.96
            Name: 2ch.hk
            Address: 198.41.181.96
            Name: 2ch.hk
            Address: 198.41.176.97
            Name: 2ch.hk
            Address: 198.41.180.96
            Name: 2ch.hk
            Address: 198.41.183.96

            bxcf6n@kernel:~$ nslookup 2ch.hk
            Server: 2001:4860:4860::8888
            Address: 2001:4860:4860::8888#53

            Non-authoritative answer:
            Name: 2ch.hk
            Address: 198.41.182.96
            Name: 2ch.hk
            Address: 198.41.176.97
            Name: 2ch.hk
            Address: 198.41.183.96
            Name: 2ch.hk
            Address: 198.41.180.96
            Name: 2ch.hk
            Address: 198.41.181.96


            wget
            bxcf6n@kernel:~$ wget -d 2ch.hk/b/src/1351721894378.jpg
            DEBUG output created by Wget 1.15 on linux-gnu.

            URI encoding = Б─≤UTF-8Б─≥
            --2014-07-02 00:57:22-- 2ch.hk/b/src/1351721894378.jpg
            Resolving 2ch.hk (2ch.hk)… 198.41.183.96, 198.41.181.96, 198.41.176.97,…
            Caching 2ch.hk => 198.41.183.96 198.41.181.96 198.41.176.97 198.41.180.96 198.41.182.96
            Connecting to 2ch.hk (2ch.hk)|198.41.183.96|:80… connected.
            Created socket 3.
            Releasing 0x0000000001a4c040 (new refcount 1).

            ---request begin---
            GET /b/src/1351721894378.jpg HTTP/1.1
            User-Agent: Wget/1.15 (linux-gnu)
            Accept: */*
            Host: 2ch.hk
            Connection: Keep-Alive

            ---request end---
            HTTP request sent, awaiting response…
            ---response begin---
            HTTP/1.1 302 Moved Temporarily
            Cache-Control: no-cache,no-store,max-age=1
            Pragma: no-cache
            Expires: Thu, 01 Jan 1970 00:00:00 GMT
            Connection: close
            Content-Length: 13
            Location: law.filter.ertelecom.ru


            netcat
            bxcf6n@kernel:~$ nc 2ch.hk 80
            GET /b/src/1351721894378.jpg HTTP/1.1
            User-Agent: Wget/1.15 (linux-gnu)
            Accept: */*
            Host: 2ch.hk
            Connection: Keep-Alive

            HTTP/1.1 404 Not Found
            Server: cloudflare-nginx
            Date: Tue, 01 Jul 2014 21:47:59 GMT
            Content-Type: text/html; charset=utf-8
            Transfer-Encoding: chunked
            Connection: keep-alive
            Set-Cookie: __cfduid=d191b880b553cf55e4124fd3653b17b401404251279589; expires=Mon, 23-Dec-2019 23:50:00 GMT; path=/; domain=.2ch.hk; HttpOnly
            CF-Cache-Status: HIT
            CF-RAY: 1435ce161afd056f-VIE

            a0
            <html> <head><title>404 Not Found</title></head> <body bgcolor="white"> <center><h1>404 Not Found</h1></center> <hr><center>nginx/1.4.2</center> </body> </html>
            1

            0

          • 0
            Хм, а зачем они подменяют IP, если у них DPI?

            Ощущение, как будто параллельно две системы работают, каждая со своим реестром ))
          • 0
            У МТС Домашний Интернет ADSL (Стрим) так делают, например, для https/смешанных сайтов. Обычные сайты блокируют по URL, https — по IP с подменой сертификата на самоподписанный. 2ch.hk и 2chru.net как раз к таким относятся.
            • 0
              Это ужасно. Вы уверены, что по https именно проксируются сайты, а не только заглушка вылазит? Если открывается заглушка, то, в принципе, простительно, а если сайт проксируется, то можно на провайдера в суд подавать.
              • 0
                А какой закон нарушается проксированием?
                • 0
                  Я мало что в законах понимаю, но, по моему мнению, факт подмены сертификата может быть расценен как нарушение статьи 138 УК РФ (нарушение тайны переписки, телефонных переговоров, почтовых, телеграфных или иных сообщений).
                  • 0
                    При автоматической обработке никакой субъект не получает доступ к информации.
                    Иначе, и NAT можно запретить — он же подменяет данные в пакетах.
              • 0
                Нет, не проксируются. Просто идёт перенаправление http-заголовком на заглушку на сайте МТС с передачей URL через параметр. Обратного перенаправления с проксированием в случае несоответствия фильтра я не замечал, видимо, их интересует только персонализированная статистика. Естественно, с таким подходом блокируются все SSL-сервисы на порту 443 (openssl s_client сразу возвращает подложный сертификат).
  • +1
    Спасибо!
    [!] Результат: Ваш провайдер подменяет DNS-записи, но не перенаправляет чужие DNS-серверы на свой. Вам поможет смена DNS, например, на Яндекс.DNS 77.88.8.8 или Google DNS 8.8.8.8 и 8.8.4.4.
    И ведь действительно помогло =)
  • +2
    А куда вписать свой набор сайтов? А то из Китая
    [!] Результат:
    Ваш провайдер не блокирует сайты.

    выглядит красиво, но неправда :-)
    Или это исключительно для РФ?
    • 0
      Делал, конечно, для РФ. В Китае блокировки куда жестче. Вписать набор сайтов можно непосредственно в скрипт.
  • +1
    Ростелеком блокирует некоторые сайты по IP, например гелбуру, а некоторые по url, например няторрент.
    Логику не понял, разве что им они внедрили фильтрацию по url, а переписывать старые скрипты блокировки по ip им лениво.

    Форчан тоже был полдня заблокирован по url, потом стали блокировать по ip.
    • 0
      Интересно. Спасибо за информацию. Я надеялся, что провайдеров с гибридными способами блокировок нет, но, судя по комментариям, их как минимум три.
  • +1
    Похоже, скрипт иногда слишком оптимистичен:
    [O] Тестируем HTTP
    Открываем grani.ru/
    [☠] Сайт не открывается
    Открываем www.lostfilm.tv/
    [✓] Сайт открывается
    Открываем www.lostfilm.tv/details.php?id=4141
    [☠] Сайт не открывается
    Открываем через прокси grani.ru/
    [✓] Сайт открывается
    Открываем через прокси www.lostfilm.tv/
    [✓] Сайт открывается
    Открываем через прокси www.lostfilm.tv/details.php?id=4141
    [✓] Сайт открывается

    [!] Результат:
    Ваш провайдер подменяет DNS-записи, но не перенаправляет чужие DNS-серверы на свой.
    Вам поможет смена DNS, например, на Яндекс.DNS 77.88.8.8 или Google DNS 8.8.8.8 и 8.8.4.4.


    Поменял DNS с провайдера (netbynet, кстати) на гугловские:
    [O] Тестируем HTTP
    Открываем www.lostfilm.tv/details.php?id=4141
    [☠] Сайт не открывается
    Открываем www.lostfilm.tv/
    [✓] Сайт открывается
    Открываем grani.ru/
    [☠] Сайт не открывается
    Открываем через прокси www.lostfilm.tv/details.php?id=4141
    [✓] Сайт открывается
    Открываем через прокси www.lostfilm.tv/
    [✓] Сайт открывается
    Открываем через прокси grani.ru/
    [✓] Сайт открывается

    [!] Результат:
    У вашего провайдера «обычный» DPI.
    Вам поможет HTTPS/Socks прокси, VPN или Tor.
  • 0
    [!] Результат:
    Ваш провайдер не блокирует сайты.

    Спасибо тебе ValdikSS

    всегда у тебя есть нужное и интересное для хабра

  • 0
    >Программа отправляет применяемый тип блокировки на сервер, в дальнейшем можно будет составить таблицу по провайдерам.
    Когда можно будет ожидать каких нибудь предварительных данных по провайдерам? Очень интересно узнать какие провайдеры чем блокируют :)
    • +1
      Через пару дней, думаю.
  • 0
    Заголовок
    Результат для Ростелекома

    [O] Тестируем DNS
    Адреса через системный DNS: ['\\# 4 48202b25']
    Адреса через Google DNS: ['\\# 4 48202b25']
    Адреса через DNS AntiZapret: ['\\# 4 6b960bc0']
    [✓] DNS записи не подменяются
    [✓] DNS не перенаправляется

    [O] Тестируем HTTP
    Открываем www.lostfilm.tv/details.php?id=4141
    [✓] Сайт открывается
    Открываем www.lostfilm.tv/
    [✓] Сайт открывается
    Открываем grani.ru/
    [☠] Сайт не открывается
    Открываем через прокси www.lostfilm.tv/details.php?id=4141
    [✓] Сайт открывается
    Открываем через прокси www.lostfilm.tv/
    [✓] Сайт открывается
    Открываем через прокси grani.ru/
    [☠] Сайт не открывается

    [!] Результат:
    У вашего провайдера «полный» DPI. Он отслеживает ссылки даже внутри прокси, поэтому вам следует использовать любое шифрованное соединение, например, VPN или Tor.


    У меня настроен SQUID + Privoxy, который перенаправляет запросы к некоторым сайтам (lostfilm в том числе) через TOR, но программа этого не определила, т.к. скорее всего не использует системные настройки прокси.
    • 0
      Прошу прощения за оффтоп, но раз у вас всё равно проксирование настроено, то попробуйте настроить прозрачное проксирование в TOR habrahabr.ru/post/122835/. Это конечно не имеет прямого отношения к статье и описанную в комментарии особенность — отсутствие поддержки прокси конфига не решает, но Вам жизнь может упростить ибо очень многие программы не умеют прокси, а PAC-файлы поддерживает ещё меньшее число софта. Хотя я не уверен, что на Windows это возможно.
      • 0
        очень многие программы не умеют прокси, а PAC-файлы поддерживает ещё меньшее число софта.

        Вы ошибаетесь. Большинство софта используют настройки Internet Explorer. Еще, видимо, в некоторых популярных приложениях есть баг, когда .pac-файл запрашивается невероятно часто, и на антизапрете, как бы это удивительно не звучало, основной трафик идет именно на раздачу .pac-файла.
        • 0
          Интересная статистика, благодарю, на счёт поддержки PAC и прокси действительно могу ошибаться ибо в массе своей избавился от прокси уже много лет назад везде где только можно, в промежуточном варианте всё заворачивалось сначала в проксификатор, а в последствии вообще перешёл на VPN.
  • +1
    Ссылка в тему: code.google.com/p/namebench/

    Эта программа позволяет определять не только самый быстрый DNS-сервер, но и проверять наличие цензуры. За 4 года база серверов немного устарела, но там есть несколько полезных вещей, например, детектирование NXDOMAIN hijacking.
    • 0
      Поддерживаю утилита чудесная, да и список устаревших серверов можно дополнить через поле ввода, так что проблем никаких.
  • 0
    Добавлена новая версия 0.0.3
    Должны решиться проблемы с «гибридными» блокировками, которые применяются провайдером у 0xd34df00d, veam
    Используется чуть больше костылей, чуть больше юникодных значков.
    Теперь скрипт содержит на одну детскую порнографию больше.
    • 0
      А определять блокировку по IP, проверяя только один адрес сайт точно корректно? Здесь раньше проскакивали посты про запреты по IP с указанием URL, и эти сайты открывались. Да и ваш скрипт говорил про DPI до обновления. А сейчас:
       zyx  ~/tmp/image/blockcheck  ./blockcheck.py --console
      [O] Тестируем DNS
              Адреса через системный DNS:      ['208.100.25.82']
              Адреса через Google DNS:         ['208.100.25.82']
              Адреса через DNS AntiZapret:     ['107.150.11.192']
      [✓] DNS записи не подменяются
      [✓] DNS не перенаправляется
      
      [O] Тестируем HTTP
              Открываем  http://gelbooru.com/
      [☠] Сайт не открывается
              Открываем  http://gelbooru.com/index.php?page=post&s=view&id=1989610
      [☠] Сайт не открывается
              Открываем через прокси  http://gelbooru.com/
      [✓] Сайт открывается
              Открываем через прокси  http://gelbooru.com/index.php?page=post&s=view&id=1989610
      [✓] Сайт открывается
      
      [!] Результат:
      [⚠] Ваш провайдер блокирует по IP-адресу.
       Используйте любой способ обхода блокировок.


      Старый лог:
       zyx  ~/tmp/image/blockcheck  1  ./blockcheck.py
      [O] Тестируем DNS
              Адреса через системный DNS:      ['72.32.43.37']
              Адреса через Google DNS:         ['72.32.43.37']
              Адреса через DNS AntiZapret:     ['107.150.11.192']
      [✓] DNS записи не подменяются
      [✓] DNS не перенаправляется
      
      [O] Тестируем HTTP
              Открываем  http://www.lostfilm.tv/details.php?id=4141
      [☠] Сайт не открывается
              Открываем  http://www.lostfilm.tv/
      [✓] Сайт открывается
              Открываем  http://grani.ru/
      [☠] Сайт не открывается
              Открываем через прокси  http://www.lostfilm.tv/details.php?id=4141
      [✓] Сайт открывается
              Открываем через прокси  http://www.lostfilm.tv/
      [✓] Сайт открывается
              Открываем через прокси  http://grani.ru/
      [✓] Сайт открывается
      
      [!] Результат:
      У вашего провайдера "обычный" DPI.
       Вам поможет HTTPS/Socks прокси, VPN или Tor.
      .
      • 0
        Блин, каждый блокирует, что хочет. Ну нет в реестре gelbooru.com, есть только конкретные ссылки на изображения. Блин, нужно что-нибудь придумать.
        datacompboy ответ и вам тоже.
        • 0
          шо щас шо раньше, всё редирект на mts.ru (аплинк по раше похоже он).
        • 0
          А зачем убрал проверку lostfilm в версии 0.0.3? :) По мне так набор сайтов следует хоть немного расширить ибо у нас правда блокирует кто хочет и что хочет.
          • 0
            Да я вчера вечером заменил проверку, а сейчас только приехал с неоквеста, сейчас что-нибудь придумаю.
          • 0
            Все, все вернул, выпустил 0.0.4
            • 0
              [⚠] У вашего провайдера «обычный» DPI.
    • 0
      Странно. До обновления показывал что используется «Full DPI», а сейчас «Обычный DPI»
  • 0
    Для теста с подменой DNS записей могу порекомендовать использовать публичный DNS компании Энфорта 87.241.223.68, они с него _стабильно_ :) для всего заблокированного возвращают адрес 87.241.223.133
    • 0
      Да у меня антизапрет же есть
      • 0
        Агу, что то я не подумал… надо по ночам спать :( уже несколько дней как то слоупочу.
  • 0
    А что за ссылка: www.lostfilm.tv/details.php?id=4141?

    Если подставить вместо id — 4140, или вообще любой другой — открывается, а 4141 — перенаправляет на сайт mts (хотя провайдер не mts)
    • 0
      antizapret.info/site.php?id=4387
      А залушка от МТС открывается, вероятно, потому, что ваш провайдер использует МТС в качестве вышестоящего провайдера.
      • 0
        Да очень странная ситуация выходит:

        Часть страниц редиректит на внутреннюю страницу провайдера с ошибкой, часть содержит только логотип Allot с кратким резюме, часть редиректит на внутреннюю страничку мтс, часть не показывает вообще никакой ошибки.
  • 0
    Разработка однозначно классная!
    Очень не хватает добавления собственного «эталонного списка», потому что те сайты, которые автор проверяет на факт блокировки, отнюдь не всегда совпадают с теми, которые блокируются в конкретном случае.

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