CLI-инструмент для тестирования DPI-блокировок: домены, TLS, TCP 16-20KB, DNS

Спасибо, второй вариант помог!

Поделитесь результатами свои tcp16-20 тестов. Сегодня у меня часть доменов стали зелеными и в соседней теме подтвердили, 100% совпадение. Если еще пару подтверждений получим с таким результатами, то можно делать вывод, что часть доменов из тестера добавили в белый список.

Спойлер

@Runni этот тестер возможно запустить с указанием интерфейса через который будет тестироваться?

В продолжение поста в той ветке:
https://ntc.party/t/блокировка-cloudflare-ovh-hetzner-digitalocean-09062025-xxxxxxxx/17013/758
Москва, местный провайдер
image
Москва, Ростелеком
Единственное, тесты Hetzner не валидны так как я его целиком на местного провайдера заворачиваю
image

Выбором интерфейса занимается ОС, вручную указать нельзя

Москва, Т2 (мобильный)

Москва, МТС

Кто-то добавляет домены в белый список… Melbicom всё еще в бане

Тольятти, Ростелеком

билайн

Проверка TCP 16-20KB блока

┏━━━━━━━━━━━━━┳━━━━━━━━━━┳━━━━━━━━━━━━━━┳
┃ ID ┃ ASN ┃ Провайдер ┃ Статус ┃ Детали ┃
┡━━━━━━━━━━━━━╇━━━━━━━━━━╇━━━━━━━━━━━━━━╇
│ DE.HE-01 │ AS24940 │ Hetzner │ OK │ 1.4s │
│ DE.HE-01 │ AS24940 │ Hetzner HTTP │ DETECTED │ Read timeout at 33KB │
│ DE.HE-02 │ AS24940 │ Hetzner │ OK │ 1.1s │
│ FI.HE-04 │ AS24940 │ Hetzner │ DETECTED │ Read timeout at 16KB │
│ FI.HE-05 │ AS24940 │ Hetzner │ DETECTED │ Read timeout at 24KB │
│ FI.HE-06 │ AS24940 │ Hetzner │ DETECTED │ Read timeout at 16KB │
│ FI.HE-07 │ AS24940 │ Hetzner │ DETECTED │ Read timeout at 16KB │
│ CA.CF-01 │ AS13335 │ Cloudflare │ OK │ 2.4s │
│ US.CF-02 │ AS13335 │ Cloudflare │ DETECTED │ Read timeout at 26KB │
│ CA.CF-03 │ AS13335 │ Cloudflare │ DETECTED │ Read timeout at 24KB │
│ US.CF-04 │ AS13335 │ Cloudflare │ OK │ 1.0s │
│ CA.CF-05 │ AS13335 │ Cloudflare │ DETECTED │ Read timeout at 19KB │
│ CA.CF-06 │ AS13335 │ Cloudflare │ DETECTED │ Read timeout at 23KB │
│ SE.AKM-01 │ AS20940 │ Akamai │ DETECTED │ Read timeout at 16KB │
│ US.AKM-02 │ AS16625 │ Akamai │ DETECTED │ Read timeout at 18KB │
│ US.AKM-03 │ AS63949 │ Akamai HTTP │ DETECTED │ Read timeout at 34KB │
│ FR.AKM-04 │ AS16625 │ Akamai │ DETECTED │ Read timeout at 16KB │
│ FR.AKM-05 │ AS16625 │ Akamai │ DETECTED │ Read timeout at 16KB │
│ US.DO-01 │ AS14061 │ DigitalOcean │ OK │ 3.4s │
│ US.DO-02 │ AS14061 │ DigitalOcean │ DETECTED │ Read timeout at 16KB │
│ US.DO-03 │ AS14061 │ DigitalOcean │ OK │ 2.2s │
│ US.DO-04 │ AS14061 │ DigitalOcean │ OK │ 1.8s │
│ GB.DO-05 │ AS14061 │ DigitalOcean │ DETECTED │ Read timeout at 16KB │
│ FR.OVH-01 │ AS16276 │ OVH │ DETECTED │ Read timeout at 16KB │
│ FR.OVH-02 │ AS16276 │ OVH │ DETECTED │ Read timeout at 16KB │
│ FR.OVH-03 │ AS16276 │ OVH │ OK │ 1.4s │
│ CA.OVH-04 │ AS16276 │ OVH │ DETECTED │ Read timeout at 16KB │
│ FR.OVH-05 │ AS16276 │ OVH │ OK │ 1.9s │
│ MX.OR-01 │ AS31898 │ Oracle HTTP │ DETECTED │ Read timeout at 34KB │
│ MX.OR-02 │ AS31898 │ Oracle │ DETECTED │ Read timeout at 16KB │
│ SG.OR-03 │ AS31898 │ Oracle │ OK │ 3.3s │
│ SG.OR-04 │ AS31898 │ Oracle │ DETECTED │ Read timeout at 24KB │
│ CO.OR-05 │ AS31898 │ Oracle │ OK │ 2.4s │
│ DE.AWS-01 │ AS16509 │ AWS │ DETECTED │ Read timeout at 16KB │
│ FR.AWS-02 │ AS16509 │ AWS │ DETECTED │ Read timeout at 16KB │
│ DE.AWS-03 │ AS16509 │ AWS │ DETECTED │ Read timeout at 16KB │
│ GB.AWS-04 │ AS16509 │ AWS │ DETECTED │ Read timeout at 16KB │
│ FR.CNTB-01 │ AS51167 │ Contabo │ OK │ 0.9s │
│ FR.CNTB-02 │ AS51167 │ Contabo │ DETECTED │ Read timeout at 24KB │
│ FR.CNTB-03 │ AS51167 │ Contabo │ DETECTED │ Read timeout at 24KB │
│ FR.CNTB-04 │ AS51167 │ Contabo │ DETECTED │ Read timeout at 24KB │
│ NL.SW-01 │ AS12876 │ Scaleway │ DETECTED │ Read timeout at 16KB │
│ FR.SW-02 │ AS12876 │ Scaleway │ DETECTED │ Read timeout at 16KB │
│ FR.SW-03 │ AS12876 │ Scaleway │ DETECTED │ Read timeout at 24KB │
│ FR.SW-04 │ AS12876 │ Scaleway │ DETECTED │ Read timeout at 14KB │
│ US.CNST-01 │ AS20473 │ Constant │ OK │ 2.4s │
│ NL.CNST-02 │ AS20473 │ Constant │ DETECTED │ Read timeout at 16KB │
│ CL.CNST-03 │ AS20473 │ Constant │ DETECTED │ Read timeout at 16KB │
│ FR.C77-01 │ AS60068 │ CDN77 │ DETECTED │ Read timeout at 16KB │
│ FR.C77-02 │ AS60068 │ CDN77 │ DETECTED │ Read timeout at 16KB │
│ CA.FST-01 │ AS54113 │ Fastly │ OK │ 0.8s │
│ CA.FST-02 │ AS54113 │ Fastly │ OK │ 2.5s │
│ US.GC-01 │ AS396982 │ Google Cloud │ OK │ 2.1s │
│ US.GC-02 │ AS396982 │ Google Cloud │ OK │ 2.0s │
│ DE.VLTR-01 │ AS20473 │ Vultr │ OK │ 2.4s │
│ US.VLTR-02 │ AS20473 │ Vultr │ DETECTED │ Read timeout at 15KB │
│ MD.HOST-02 │ AS200019 │ Alexhost │ OK │ 0.6s │
│ LU.GCORE-01 │ AS199524 │ Gcore │ DETECTED │ Read timeout at 15KB │
│ FI.HOST-03 │ AS215730 │ H2nexus │ OK │ 0.6s │
│ NL.LSW-01 │ AS60781 │ Leaseweb │ OK │ 2.1s │
│ US.MBC-01 │ AS8849 │ Melbicom │ OK │ 1.6s │
│ DE.HOST-01 │ AS216127 │ nuxt.cloud │ DETECTED │ Read timeout at 24KB │
└─────────────┴──────────┴──────────────┴──────────┴

AS63949 Akamai (Linode)
URL для теста: https://frankfurt.test-ipv6.com/index.js.gz.en_US (97 kB)
В чекере присутствует HTTP-ресурс с этого ASN, но нет ни одного HTTPS-ресурса

(Из странных особенностей - у меня провайдер одно время начисто блочил все запросы к этому ресурсу, если в ОС не были включены Timestamps (если были включены - включался блок 16к), сейчас этот эксперимент прекратили и остался только блок 16к)

Спасибо, принцип понятен. Тогда под ваши требования наверно подойдут

http://media5.cdnbase.com/media/photologue/photos/6143813.jpg [Hetzner]

https://telegram.tips/wp-content/cache/autoptimize/1/js/autoptimize_435ec6f1c219a89e6130ff8aef60d746.js [Hetzner]

http://www.truebrandsnacks.com/wp-includes/js/jquery/jquery.js?ver=1.12.4-wp [Amazon]

https://mediaarea.net/js/main-bb9cd82.js [OVH]

https://nicegram.app/staticfiles/section-glow.svg [Cloudflare]

А можно плс еще сделать тест на х кб для своих доменов? Ну или хотя бы писать сколько КБ загрузилось? И какой это asn? И плюс проверка по quic.
У меня есть простенький чекер 16kbCheck.zip (1,5 МБ)
Там это есть, но зато нет всего остального, что есть в вашем

Позволило найти белый сни для контабы.

FI.HOST-03, H2nexus. Это хост нестабилен, сейчас ниоткуда не открывается. Наверно, надо убрать.

Список доменов подхватился, а config.py - нет (Хотел там ввести свои домены для проверки на подмену DNS ответов). Я что-то сделал не так?

Ещё у меня вопрос, а есть возможность запуска этой софтины в Termux на андроиде? Туда же вроде тоже можно накатить питон и там запускать?

UPD: Я попробовал, программа потребовала от меня установки зависимостей, и на этом этапе выдала ошибку:

Screenshot_20260224_023507_Termux

apt install cmake

Предлагаю добавить в тестер ссылки на файлы в заблоченных репозиториях линукса

Например OVH - http://download.proxmox.com/debian/pve/dists/trixie/pve-no-subscription/binary-amd64/ceph-common_19.2.3-pve1_amd64.deb

Автор, что на счет тестирования айпишников вместо доменов?

Можно через pydroid3 запустить. По поводу конфига посмотрю.

@0ka В каком виде IP предлагаешь добавить?

pip ставит зависимости, но pycares бинарный, а собранные бинарники есть не для всех архитектур и систем. Поэтому pip пытается его скомпилировать, но для этого должны быть установлены по крайней мере gcc make cmake python3-dev.

А также он пытается собрать wheel. Но wheel практичнее поставить из пакетного менеджера. Обычно это пакет python3-wheel. Но такого я не нахожу в репах термукс. Там либо нет wheel, либо он встроен в python3 или нахожу только какой-то python-ensurepip-wheels.

Спасибо, помогло.

@Runni есть ещё предложение добавить в проверку хостов доступность IP адреса (Ping). Чтоб можно было понять, жив ли вообще IP.