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

На каком не срабатывает?

На 169.150.247.34.

А где не срабатывает, в curl или в браузере?
У меня судя по ответу curl, скрипт грузится целиком:

Спойлер

Все верно. Ведь скрипт на белом sni paсkagist.org.

Не срабатывает для моего host.com (со своим файлом) с фейком в zapret под packagist.org и только на одном ip из списка 169.150.247.34. На всех остальных - работает.

Вы меня запутали)

Тогда проверять нужно по-другому.

curl -ks "https://host.com/ссылка_на_ваш_файл" -o nul  --connect-to ::169.150.247.34 -w %{size_download};%{url.host} 

Так должен быть блок
Подставляете белый sni, но при этом коннектитесь на ip своего заблокированного хоста

curl -ks "https://packagist.org/ссылка_на_ваш_файл" -o nul  --connect-to ::169.150.247.34 -w %{size_download};%{url.host} 

Так не должно быть блока

Я что-то тоже не могу понять ))

Да, именно.

Этот вариант

curl -ks "https://packagist.org/ссылка_на_ваш_файл" -o nul  --connect-to ::169.150.247.34 -w %{size_download};%{url.host}

не может сработать, потому что на packagist.org нет файла с host.com. Это разные ресурсы, а домены находятся на одном и том же ip.

Еще как может)) В этом и весь смысл подстановки белого сни. curl использует в качестве имени сервера packagist.org, но реально он стучится на ваш сервер по ip, и файл ищет там же

Эээммм..

Как curl поймет, что ему нужно тянуть с host.com, если и host.com и packagist.org висят на одном ip (это CDN с тонной хостящихся доменов) и откуда тянуть файл решает веб-сервер основываясь на заголовке host, в котором будет packagist.org? Веб-сервер будет пытаться взять файл из папки для packagist.org, а про host.com он ничего не узнает в таком запросе.

Хм… Ну тогда нужно добавить -H "host: host.com", но в этом случае скорее всего попадете на блок. Похоже, curl-ом в вашем случае никак не проверить (либо я просто не знаю, как это сделать)

Другие fooling попробовали? Не всем серверам нравится ts.

Не вижу аномалии на этом IP. На IP 169.150.247.34 есть сайт www.rtcgp.fr.
По ссылке https://www.rtcgp.fr/min/?g=js&cache=1756978087&t=1675066015&r=9 файл 704kB.

Без запрета 16к блок:

curl -o NUL "https://www.rtcgp.fr/min/?g=js&cache=1756978087&t=1675066015&r=9"
  % Total    % Received % Xferd  Average Speed  Time    Time    Time   Current
                                 Dload  Upload  Total   Spent   Left   Speed
100  19514   0  19514   0      0   5811      0           00:03           5814

С запретом с фейком от пакаджиста

 --blob=packagist:@my\fake\packagist.bin^
 --filter-tcp=443 --filter-l7=tls --ipset-ip=169.150.247.34 --out-range=-d10 --payload=tls_client_hello^
  --lua-desync=fake:blob=packagist:фулинг

блок уходит:

curl -o NUL "https://www.rtcgp.fr/min/?g=js&cache=1756978087&t=1675066015&r=9"
  % Total    % Received % Xferd  Average Speed  Time    Time    Time   Current
                                 Dload  Upload  Total   Spent   Left   Speed
100 704.1k   0 704.1k   0      0  1.05M      0                              0
Шарк: net 169.150.247.34

image

Ничего подобрать другого не смог. Да и дело не в ts, насколько понимаю - ведь отдаются 16КБ. Если бы вебсерверу не нравилось - он бы ничего не отдал. А тут явно DPI режет только на одном IP каким-то образом.

О, спасибо за другой ресурс на этом же ip.

Вот айпишники rtcgp.fr (не все, но для проверки хватит):

169.150.247.39
185.59.220.199
169.150.247.34 // проблемный

Проверяю все 3 без zapret: на всех 16кб.

Добавляю в zapret:

--hostlist-domains=rtcgp.fr --filter-tcp=443 --filter-l7=tls --dpi-desync=fake --dpi-desync-fooling=ts --dpi-desync-fake-tls-mod=rnd,sni=packagist.org

Проверяю:

169.150.247.39 - 704КБ :white_check_mark:

185.59.220.199 - 704КБ :white_check_mark:

169.150.247.34 - 16КБ :cross_mark:

Так что аномалия на этом ip таки есть…

curl

curl --resolve www.rtcgp.fr:443:169.150.247.39 -o NUL “https://www.rtcgp.fr/min/?g=js&cache=1756978087&t=1675066015&r=9”
curl --resolve www.rtcgp.fr:443:185.59.220.199 -o NUL “https://www.rtcgp.fr/min/?g=js&cache=1756978087&t=1675066015&r=9”
curl --resolve www.rtcgp.fr:443:169.150.247.34 -o NUL “https://www.rtcgp.fr/min/?g=js&cache=1756978087&t=1675066015&r=9”

У меня OK во всех 3 случаях… Какой-то доп. фильтр на вашем провайдере что ли стоит?
Кстати, а проверяете вы только Curl-ом или браузером тоже? Поведение одинаковое?

И браузером. Разумеется, поведение одинаковое. Если в hosts вписать один из ip, на которых фейк работает - все открывается. Если вписать или случайно попасть на 169.150.247.3 - тишина.

А у вас есть разница в выводе между

tracert 169.150.247.34

и

tracert 169.150.247.39

У меня нет

Пытался найти для goodbyedpi -fake-with-sni для домена от Digital Ocean (AS14061) с помощью SniFinderV2.zip . Он утверждал, что не находит какое-то время ни одного, а потом нашел три, где длина в первом столбце 17 с чем-то килобайт. Насколько я понял curl-impersonate проходит все обеленные домены этого AS, но соединяясь с ip проблемного сайта. Тут два вопроса, я просто к существующему с ( -e 1 --fake-from-hex …. ) добавил –fake-with-sni sublimetext.com , но это не помогло. hex сделать корректный для выбранного вроде никаких общедоступных средств нет. Соответственно первый вопрос, нужно ли вокруг –fake-with-sni что-то особенное или должно работать и так. И второе если на размер body скрипт ориентируется, а он в районе тех же 16k, можно ли это считать успехом? То есть curl-impersonate по сути повторяет результат блокировки “возвращаю первые 16к”

Отчего же нет? Прямо в шапке темы висят 2 тулзы

Первая подходит для quic и https , второй можно сделать файл *.bin для http
Строку hex из bin можно легко получить так:

  • открываете *.bin в программе winhex https://www.x-ways.net/winhex.zip (бесплатная)
  • Выделяете все по CTRL+A
  • Меню Правка - Копировать блок - Хекс значения

Это и будет ваш hex. Но строка будет очень длинная, скорее всего придется обезать 2ую половину
По моим тестам gdpi почти не пробивает 16кб блок. Можете попробовать тестовую сборку гудбая отсюда
Только создайте свой чеклист (обычный текстовый файл) в папке CheckLists с вашим доменом. И в G-Checker.ini $fakeSni= задайте ваш белый sni, а в $fakeFromHex= укажите свой хекс
Но лучше сразу переходите на zapret. В большинстве случаев zapret1 не сложнее gdpi , а возможностей больше на порядок

Нет, успехом будет, если весь скрипт прогрузится целиком

пару дней как заметил что стала плавущая блокировка в обратную сторону, с зарубежных AS до AS cloud.ru, раньше вроде было наоборот, с ru AS до зарубежных

[root@rw-finland ~]# curl -k ``https://url/test/100mb.bin`` -o /dev/null
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
0 100M 0 16366 0 0 7378 0 3:56:52 0:00:02 3:56:50 7382
[root@rw-finland ~]# curl -k ``https://url/test/100mb.bin`` -o /dev/null
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 100M 100 100M 0 0 23.9M 0 0:00:04 0:00:04 --:–:-- 23.9M

проверил с 4-х разных локаций, картина одинаковая

Хорошая мысль. Да, отличаются. Один из хопов внутри сети провайдера - разный. После него у 169.150.247.34 идет ещё 2 хопа, которые не выдают свои имена.