mirror of
https://github.com/ValdikSS/blockcheck.git
synced 2026-09-14 11:05:48 +05:00
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.
41 lines
2.9 KiB
Markdown
41 lines
2.9 KiB
Markdown
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, даже если сайты не заблокированы.
|