Go to file
2017-05-07 23:56:15 +03:00
.gitignore created gitignore (issue #12) 2014-08-04 02:00:32 +04:00
blockcheck.py Big fat warning to run modified versions with --no-report 2017-05-07 23:56:15 +03:00
build.py Include all the files from dns module and bump version 2014-08-21 18:50:40 +03:00
latest_version.txt Bump version (0.0.9.1) 2017-05-07 17:43:30 +03:00
LICENSE Add MIT license file 2014-07-02 19:59:15 +04:00
README.md Update readme 2017-05-07 15:10:45 +03:00
requirements.txt dnspython3 is now just dnspython 2017-01-11 23:07:12 +03:00

BlockCheck

Утилита для определения типа блокировок сайтов из единого реестра запрещенной информации на стороне провайдера.

Данная утилита позволяет определить:

  • Подмену DNS-ответов
  • Перенаправление DNS-серверов
  • Блокировку DNS-серверов
  • Блокировку всей зоны (поддоменов) заблокированного домена
  • "Обычный" DPI (фильтрация URL на определенных IP-адресах и портах)
  • "Полный" DPI (фильтрация URL на всех IP-адресах и/или портах)
  • Подмену SSL (HTTPS)-сертификата (прослушивание HTTPS-трафика)
  • Блокировку по IP-адресу

Также приложение выполняет тесты для обхода DPI, если он обнаружен на стороне провайдера. На данный момент реализованы следующие техники:

  • Дополнительный пробел после GET
  • Перенос строки перед GET
  • Фрагментирование заголовка
  • Точка в конце домена
  • Табуляция в конце домена
  • Заголовок host вместо Host
  • Перенос строки в заголовках в UNIX-стиле

Более подробно о видах DPI и типах подключения читайте в Wiki проекта: Типы DPI

Приложение автоматически отправляет статистику об используемом типе блокировки на сервер.

http://habrahabr.ru/post/229377/ — статистика по провайдерам

Установка

Для работы скрипта требуется Python >= 3.4 с модулем dnspython. Установить его можно из репозитория вашего дистрибутива, или используя pip: python3 -m pip install -r requirements.txt

Использование

Приложение запускается в графическом режиме по умолчанию, если в систему установлен Tkinter.
Вы можете запустить его в консольном режиме вручную, используя флаг --console.
Параметр --no-report отключает отправку результатов тестирования на сервер.
--force-dpi-check выполнит проверку DPI, даже если сайты не заблокированы.