blockcheck/README.md
ValdikSS eaf2ca038f Disable SSL certificate hostname check
We need to connect to exact IP to perform HTTPS tests. There is no standard way to redirect
one hostname to another IP address so we connect to the IP address and add proper "Host"
header later. This causes SSL hostname validation error. There's a little point in it
for our needs at all so it's safe to disable it completely.
2017-02-15 22:40:20 +03:00

41 lines
2.9 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

BlockCheck
==========
Утилита для определения типа блокировок сайтов из единого реестра запрещенной информации на стороне провайдера.
Данная утилита позволяет определить:
* Подмену DNS-ответов
* Перенаправление DNS-серверов
* Блокировку DNS-серверов
* ~~Блокировку всей зоны (поддоменов) заблокированного домена~~ (временно не работает)
* "Обычный" DPI (фильтрация URL на определенных IP-адресах и портах)
* "Полный" DPI (фильтрация URL на всех IP-адресах и/или портах)
* Подмену SSL (HTTPS)-сертификата (прослушивание HTTPS-трафика)
* Блокировку по IP-адресу
Также приложение выполняет тесты для обхода DPI, если он обнаружен на стороне провайдера. На данный момент реализованы следующие техники:
* Дополнительный пробел после GET
* Перенос строки перед GET
* Фрагментирование заголовка
* Точка в конце домена
* Табуляция в конце домена
* Заголовок host вместо Host
* Перенос строки в заголовках в UNIX-стиле
Более подробно о видах DPI и типах подключения читайте в Wiki проекта: [Типы DPI](https://github.com/ValdikSS/blockcheck/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, даже если сайты не заблокированы.