Набор диагностических инструментов от hyperion-cs для определения типа DPI у провайдера. Перед выбором метода обхода нужно понять что именно делает провайдер: обрывает соединение по RST, перенаправляет на страницу блокировки, блокирует по IP, режет трафик по TCP 16-20KB порогу (ТСПУ-паттерн) и т.д. Включает TCP/TLS checkers, HTTP/DNS checkers, специальный тест на 16-20KB drop (характерный для российского ТСПУ). Работает из браузера (WebAssembly), не требует установки. Также есть blockcheck.sh из запрет — CLI-версия с автоподбором оптимальной стратегии.
# Онлайн-версия (браузер) # https://hyperion-cs.github.io/dpi-checkers/ # Клон для self-hosting git clone https://github.com/hyperion-cs/dpi-checkers cd dpi-checkers # blockcheck.sh из zapret (CLI автодиагностика) git clone https://github.com/bol-van/zapret cd zapret && bash blockcheck.sh # dpi-detector git clone https://github.com/Runnin4ik/dpi-detector cd dpi-detector && python dpi_detector.py
🚀 Этот репозиторий содержит инструменты проверки, которые позволяют определить, используется ли DPI (Deep Packet Inspection) в вашем домашнем интернет-провайдере (или на сервере в дата-центре), а также конкретные методы (и их параметры), которые цензор использует для ограничений.
🤝 Присоединяйтесь к нашему сообществу: - Группа в Telegram: @dpi_checkers
[!WARNING] Весь контент в этом репозитории предоставлен исключительно в целях исследования и обучения.
Вы несете единоличную ответственность за обеспечение соответствия вашего использования любого кода, данных или информации из этого репозитория всем применимым законам и нормативным актам в вашей юрисдикции.
Авторы и участники не несут ответственности за любое неправомерное использование или нарушения, возникающие в результате использования этих материалов.
preload checker в вашем браузере.
❗ RU :: DPI-CH (комплексный проверочник DPI)
Это "старший брат" всех других проверочников, не ограниченный песочницей браузера. Это попытка создать мощный инструмент для общего анализа DPI.
Чрезвычайно гибкая конфигурация. Написан на golang, сборки доступны для Windows/macOS/Linux (Android скоро). См. документацию для подробного описания.

RU :: TCP 16-20 => https://hyperion-cs.github.io/dpi-checkers/ru/tcp-16-20
Позволяет обнаружить метод блокировки TCP 16-20 в России + проверку доступности хоста. Тесты используют популярные веб-сервисы, размещенные у провайдеров, чьи подсети потенциально подвержены ограничениям. Процесс тестирования выполняется прямо в вашем браузере, исходный код доступен. Во время проверки следует отключить VPN.
У этого проверочника есть необязательные GET параметры:
| имя | тип | по умолчанию | описание |
|---|---|---|---|
| timeout | int | 15000 |
Тайм-аут для подключения/получения данных с эндпоинта (в мс). |
| host | string | — | Пользовательский хост для проверки в дополнение к хостам по умолчанию (например, ваш личный сервер). Не важно, какая политика CORS используется. |
| provider | string | Custom | Название провайдера для пользовательского эндпоинта (можно задать любое имя). |
Подробности об этом методе блокировки см. здесь.
У этого проверочника есть необязательные GET параметры:
| имя | тип | по умолчанию | описание |
|---|---|---|---|
| timeout | int | 5000 |
Тайм-аут для подключения/получения данных с хоста (в мс). |
| sn_sample_size | int | 25 |
Количество случайных уникальных хостов, которые будут проверены для каждой подходящей подсети. |
| sn_alive_min | int | 3 |
Минимальное количество "живых" хостов в подсети, чтобы объявить ее находящейся в белом списке. |
| sn_only_24_prefix | bool | true |
Проверять только подсети с префиксом /24 в каждой AS (обычно это предпочтительно, так как маловероятно, что цензор разрешит более крупные подсети). |
:warning: Существуют некоторые нюансы, которые следует учитывать:
- Проверяются не все подсети в Интернете, а только те подсети AS, которые потенциально могут находиться в белом списке и которые потенциально могут быть доступны "клиенту";
- Возможны ложные отрицательные результаты, поскольку для повышения производительности используются выборочные проверки + к выбранным хостам в каждой подсети отправляется тестовый HTTP(S) HEAD-запрос на порт 443;
- Этот проверочник не будет работать, если цензор, помимо ограничений по подсетям, также ограничивает TLS SNI (к сожалению, песочница браузера не способна подменять этот параметр);
- Если вы используете мобильный интернет, не беспокойтесь о большом расходе трафика (максимум будет использовано пару мегабайт);
- Запрещается сворачивать браузер или блокировать экран на телефонах во время проверки (однако вы можете раздать Wi-Fi с телефона на компьютер — так удобнее);
- Даже с оптимизациями производительности, выполнение проверочника может занять достаточно много времени (десятки минут). В худшем случае время ≈ "количество подходящих подсетей" × timeout (см. выше).
Мы будем рады, если вы поможете нам улучшить наши проверочники через PR или создание issues (пожалуйста, используйте только английский язык для международного общения). Также вы можете поставить звездочку репозиторию, чтобы не потерять проверочники. Репозиторий доступен здесь.