Zapret: обсуждение

Скрипт с CIDR дело нехитрое. Тут где-то отписывались, что блокируют так, что как будто действует вайтлист протоколов на пулы CF и все непонятное режется.

Прошу подсказать о поведении nfqws.
Возможно ли использовать такую настройку стратегии и как она будет работать?

... --dpi-desync-any-protocol=1 --dpi-desync-skip-nosni=1 ... --dpi-desync-fake-tls=/opt/zapret/file1.bin --dpi-desync-fake-unknown=/opt/zapret/file2.bin>

Если правильно понял, то при опциях any и skip не проверяется принадлежность пакета к http/tls/quic и стратегия отрабатывается на все, что попало в очередь. Но будел ли nfqws совать разные фейки, т. е.: пакет tls → fake file1, raw → file2?
И к какому фейку тогда будет применятся --dpi-desync-fake-tls-mod=rnd,dupsid и будел ли он вообще работать?

если пакет или группа пакетов содержит тлс хелло - будет отрабатывать как тлс
иначе ункноун

ани протокол нуждается в ограничителях connbytes или cutoff, иначе начнется трэш флуд

skip nosni =0 включает работу по тлс хелло без сни. =1 и так по умолчанию

Ясно, спасибо

я стандартный ваш старт скрипт юзаю

А --dpi-desync-fake-tls-mod будет тогда с чем работать? Со всеми пакетами или только tls?

только тлс

Правильно ли понял, что надо явно проаисать типа -t nat -p udp -o wan -j MASQUERADE, т. е. явно udp задать или как-то по-другому делается? Я nftables юзаю.

У меня на двух провах втулили ещё один тпсу, как я определил, та очень просто http://www.speedguide.net:8080 оставалось 48 прыжков, теперь 47 на одном из провах и ябстественно начало тупить, увеличил dpi-desync-ttl ещё на 1, но сюдя по работе, они до сих пор там ещё настраивают, наверное они кайфуют, их прикалывает отключать, чувствуют себя богами нэта :slight_smile:

image
видимо идёт возможность не вписывать различные ip подсети для диска

подскажите, есть ли смысл добивать свой tls фейк нулями, например, при использовании seqovl-pattern?

я визуально разницы в шарке не вижу… но в блокчеке реализовано, что seqovl-pattern= полезные данные

Нули в файле tls_clienthello_iana_org.bin представляют собой тело padding extension.
Как показала практика, работает и без него.
Возможно, DPI в случае обрезания недостающего 181 байта реконструирует его из следующего пакета, в котором идет реальный hello. Тем самым сбивается у него позиция аналогично как при tls-mod=padencap, только в padding засовывается лишь начальная часть реального hello.
Если нули не обрезать, фейк по-прежнему будет валиден, но теряется функция padencap. Возможно, с ней и связана какая-то разница

хмм, я нули копипастил из фейка от vk из блокчека в свой через notepad++ … (добавив просто к последней строчке)
получается, чтобы это работало нужно еще найти нужный байт, который означает начало padding extension
сложно)

Несложно. openssl добивает до 512 байт (всего 517). В конце нули - это оно.
Можно прогнать неткатом файл на любой порт и поймать его в шарке. Там и посмотреть

В последней версии сделано распознавание discord и stun протоколов.
Поэтому нужды в ipset и any protocol больше нет.
Скрипт 50-discord удален.
Вместо него вы добавляете в основной конфиг еще один профиль такого вида.

--filter-udp=50000-50099 --filter-l7=discord,stun --dpi-desync=fake --dpi-desync-repeats=6

На linux при использовании скриптов запуска
NFQWS_PORTS_UDP=443,50000-50099

На винде
--wf-udp=443,50000-50099

repeats не знаю надо или нет. лучше без.
Пока только в исходниках. Прошу протестировать.

Есть один недостаток такого решения. Если на винде или BSD пойдет раздача торрентов и попадет на указанные порты, будет загрузка проца, тк все пойдет через winws. На linux нас спасет connbytes.
Зато избавляемся от фиксированной привязки к IP, за которыми надо следить.

я бы потестил, но собирать не умею
PS
Может кто из форумных собирал под openwrt OpenWrt 23.05.5 r24106 роутер на musl libc (aarch64), если да поделитесь для тестов плс.

Есть дока по сборке см docs/compile

удалил старый, добавил новый, добавил строку про дискорд, порты для линухи, дискорд вообще перетал запускаться, висит на проверке обноы, до этого работало с дефолтным конфигом + 50-discord
есть идеи?

В релизе его нет, его надо собирать с исходников.
Изменения касаются только voice части, к веб части не относится

понятно, вернул обратно все как было, заработало

спс
@bolvan
убрал скрипт, в диск заходится, войс не работает
добавил --fliter-udp=50000-50099 --filter-l7=discord,stun --dpi-desync=fake --dpi-desync-repeats=6 --new
перестало заходиться в целом в дискорд
убрал --fliter-udp=50000-50099 --filter-l7=discord,stun --dpi-desync=fake --dpi-desync-repeats=6 --new
в диск стало заходиться, войс не работает