16кб блокировка

Про саму блокировку: https://cheburcheck.ru/kb/whitelist
Проект Cheburcheck на github
Прим. : реальный диапазон блокировок ~14-25 КБ, для http может быть ~24-32 КБ

Инструменты для проверки на “16кб” блок:

  • DPI Detector от Runni - cli-утилита: тест на “16KB” блок, подбор белых SNI, тест доступности заблокированных сайтов, проверка DNS
  • dpi-ch от hyperion - еще одна cli-утилита для Windows / macOS / Linux: тест на “16KB” блок; определение белых SNI/диапазонов белых ip (v4); информация об интернет-соединении; проверка популярных веб-сервисов, CDN; DNS checker
  • DPI Checkers от hyperion - веб-чекер показывает, на каких CDN и хостингах есть “16 кб” блок

Обход “16кб” блока заключается в отправке белого sni (домена, входящего в белый список для CDN, на эти домены не распространяется “16кб” блок)

Для Zapret это будет любая стратегия со sni/bin/hex, к примеру:
--wf-tcp=80,443 --filter-tcp=80,443 --dpi-desync=fake --dpi-desync-fooling=badsum,ts --dpi-desync-fake-tls-mod=rnd,sni=домен_из_белого_списка --dpi-desync-fake-http=files\http_домен_из_белого_списка.bin
Для GoodbyeDPI любая стратегия со sni/hex, к примеру:
--fake-from-hex значение_hex_для_домена_из_белого_списка --fake-with-sni домен_из_белого_списка --auto-ttl
Для Byedpi (десктоп. версия) любая стратегия со sni/bin, к примеру:
--proto udp --udp-fake 1 --fake-data quic_домен_из_белого_списка.bin --fake-tls-mod rand,msize=1200 --ttl 4 --proto tls --oob 1 --auto torst,ssl_err --timeout 1 --fake -5 --fake-sni домен_из_белого_списка --ttl 5 --auto none
Для Byedpi (android) любая стратегия со sni/hex, к примеру:
-K u -a 4 -Q r -t 4 -l :строка_hex_в_формате_byedpi_для_домена_из_белого_списка -A n -K t -o 1 -A t,s -T 1 -f -5 -n домен_из_белого_списка -t 5 -A n

Для перевода обычной строки hex в формат byedpi

Для Sing-box (и подобных утилит) на tls
			"tls": 
			{
				"enabled": true,
				"insecure": true,
				"server_name": "домен_из_белого_списка",
				"disable_sni": false
			}
Для Amnezia WireGuard 1.5+

В файле конфигурации нужно задать параметр

i1 = <b 0xhex_значение_пейлоада_с_белым_sni>

Онлайн-генераторы параметров амнезии:
https://sageptr.github.io/mini_quic_generator/
https://sketchystan1.github.io/payloadGen/
https://spatiumstas.github.io/junker/
https://voidwaifu.github.io/Special-Junk-Packet-List/

Проверить домен на наличие в белом или черном списке https://cheburcheck.ru/

Подобрать белый sni для домена (с “16кб” блоком)

  • SNI Tool от bartt - утилита для подбора белых sni (windows/mac/linux)
  • FakeSniFinder.zip (батник для windows 1,5 МБ) сделан на основе данных от lowderplay
  • FakeSniFinder (скрипт для Linux) от knitabsorbed
  • asn_finder от Ori ( windows, linux) - утилита для обновления таблицы с белыми доменами (Asn-Sni)

Сгенерировать пейлоад для домена из белого списка (файл .bin)

  • payloadGen от Ori (утилита для windows и linux) - протоколы quic/tls
    На примере протокола quic: запускаете утилиту и вводите на 1ый вопрос 0 и затем Enter, на 2ой 4 и Enter, на 3ий 1200 и Enter, на 4ый белый домен и Enter
  • FakeGenerator.zip (батник для windows, 2.3 МБ) - протоколы quic/tls/http (используется ncat, на него может реагировать антивирус)
    На примере протокола quic: запускаете батник и вводите на 1ый вопрос белый домен и Enter, на 2ой Enter
  • tshark_capture от Sketchy - скрипт для захвата wireshark-ом из браузера (инструкция по ссылке)

Хочется собрать все ссылки в одном месте, добавляйте, если что-то упущено

на каких CDN есть “16 кб” блок

*СDN и хостингах

Также есть вот такой список блокируемых хостеров

Еще можно добавить, что реальный диапазон блокировок ~14-25, для http ловил немного выше - ~24-32

У меня такой вопрос. Я захожу на Cheburcheck, ввожу интересующий домен, например dln1.ncdn.ec. Cheburcheck выдает, что адрес домена заблокирован, и что он входит в ASN AS13335. Там же имеется белый список сайтов. А как теперь понять, есть ли в AS13335 какой-нибудь сайт из белого списка?
Я нашел нужный ASN в файле asn.csv из SniFinder. Но как это сделать самому вручную?

И еще: я не нахожу в руководстве zapret опцию --dpi-desync=fake

Спасибо! Добавлено

это параметр для nfqws1. Для nfqws2 у меня работает это

--lua-desync=hostfakesplit:host=gnome-look.org:midhost=host-2:seqovl=sniext+3:seqovl_pattern=tls_clienthello:badsum:tcp_md5:tcp_ts_up"

Само собой, подставляете нужный хост-лист или айписет и вместо gnome-look.org вписываете sni из белого списка. Еще я не уверен на счет tcp_ts_up

Медлденно, но верну пишу утилу, которая будет по хосту или ip выдавать всю нужную инфу, включая sni из белого списка.

А сам батник FakeSniFinder.cmd разве не выдал вам список белых (фейковых sni)? Конкретно под dln1.ncdn.ec мне выдал почти 300 шт.

Спойлер

fs

--dpi-desync=[<mode0>,]<mode>[,<mode2] ; атака по десинхронизации DPI. mode : synack syndata fake fakeknown rst rstack hopbyhop destopt ipfrag1 multisplit multidisorder fakedsplit hostfakesplit fakeddisorder ipfrag2 udplen tamper

Мне было интересно как он это делает. А почему так много? Почти 300 штук только для одного ASN, в то время как всего в белом списке чуть более тысячи доменов.
Или SniFinder выдает просто список доменов, ассоциированных с некоторым ASN, а этот список уже надо сравнивать с белым списком?

Очень просто) Откройте FakeSniFinder.cmd в любом текстовом редакторе и сами все поймете. В 2 словах: lowderplay здесь https://ntc.party/t/блокировка-cloudflare-ovh-hetzner-digitalocean-09062025-xxxxxxxx/17013/500 поделился экселевской таблицей whitelist_domains.xlsx Там белые домены и соответствующие asn. Эти 2 столбца были отсортированы по алфавиту и сохранены как Asn.scv.
Вы вводите в батник домен, он определяет его ip, затем по ip узнает его asn через запрос на веб-сайт. А по asn уже легко находит все соотвествующие белые sni из таблицы Asn.scv Ничего больше сравнивать не нужно) Только проверить, действительно ли эти sni в белом списке конкретно на вашем провайдере. Это тоже можно автоматизировать, пока руки не дошли

lowderplay сделал тулзу https://github.com/LowderPlay/cheburcheck/tree/master/reporter, которая проверяет топ-100,000 доменов на наличие в белом списке. На ее основе сделана таблица. Видимо, в топ-100,000 доменов больше всего сайтов на CloudFlare

FakeSniFinder.sh (2.7 KB)
DomainAsn.sh (1.1 KB)
Asn.csv (42.3 KB)
Навайбкодил FakeSniFinder для Linux, а также генератор файла Asn.csv. Обновлённый файл Asn.csv также прикреплён, основной источник - https://cheburcheck.ru/whitelist/domains.csv.

Edit: DomainAsn не учитывает несуществующие домены 2-го порядка (например, он скипнет домен tiktokcdn.com, т. к. он не резолвится, хотя его домены 3-го порядка существуют и находятся в белом списке).

Спасибо, добавлено в шапку

Resolve And Whois v1.3 by Ori по доменному имени выдаёт используемый хостинг и некоторую другую информацию, например наличие ECH в dns. Последнюю версию можно поискать на форуме, но также перезалито сюда под именем dns-check.

пока не особо хорошо понимаю все эти вещи, имеет ли смысл применять что-то из описанного к VPS с VLESS+TLS на бесплатном поддомене duckDNS, если адреса хостера попали под 16кб блок и на его AS ничего в белом списке нет?

какой это хостинг?

вобще ничего непонятно, откуда вы взяли прокси на AS duckdns?

iphoster. насчет duckDNS имею в виду, что к его поддомену привязан IP моего VPS и xray/singbox клиент подключается к прокси по нему же.

не доходит, по какому принципу ищется AS (не какие же попало домены вбивать в чебурчек и snifinder?) и надо ли оно вообще в таком контексте

Именно так, только сам сайт чебурчек ничем не поможет, что такое snifinder не знаю, нужно пробовать сни из большого списка популярных на вебсервере вашей впс с большим файлом.
Duckdns не имеет никакого отношения к теме.

В dpi-detector v2.0 добавлен подбор рабочих SNI для AS

Обновлены:
16kbCheckV2.zip - добавлен подбор sni
SniFinderV2.zip - теперь можно вводить ссылки, батник должен выдавать лишь реально рабочие sni

Что-то не могу понять. Если моего хостера нет в списке захардкоженом в этих скриптах, получается они мне подобрать белый sni никак не помогут? Или как-то можно добавить своего хостера в dpi-detector, например?