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

Сервер сломан.
Он отвечает в SYN,ACK winsize=0 (ноль) с фактором *128. Следующий пакет содержит wsize=3.
Поэтому клиент разбивает запрос по границе 384 = 128*3.
Но в z2 срабатывает защита
reasm cancelled because server window size 384 is smaller than expected reasm size 1560

У меня срабатывает. У вас нет ?

разобрались, сайт сломан. подробнее тут Zapret: what's new - #272 by bolvan

он не совсем сломан, но ведет себя нетипично

https://ntc.party/t/zapret-whats-new/61/272

Пожалуй, надо не проверять на ноль wsize, а проверять счетчик пакетов. Если он 0 - мы точно не знаем wsize, а если не 0, значит даже winsize=0 это известное значение. Тогда вопрос на винде решится лишь стандартным перехватом. Впрочем, если сперва идет 0, а потом достаточно большое значение, которое не перехвачено, то будет ложный кансел. У меня нет статистики как часто это имеет место, потому что в текущем варианте никак не секлось и работало, а в новом будет ломаться стратегия на винде, хотя виса и не будет (если только нет блока проайдера). На linux со скриптами запуска проблем нет как сейчас, так и в новом варианте, если TCP_PKT_IN более 1

Чекер выдал страту, фейки, payload и запутывание, и следом, payload=empty --out-range=<s1, но софтина не запускается с range <s1. Я не разобрался?:thinking:

Знак < что в шелле означает ? как с ним работать надобно ?

В кавычки загнать “<s1”

Парочка нубских вопросов есть, у меня OpenWrt.

  1. В каком виде FAKE_HTTPS в def.inc нужен путь, нужны какие-нибудь кавычки или @?
    Какую бы муть я специально там не вводил, никаких ошибок при скане не выдается, и не понятно, как оно чекается (или параметр с ошибкой игнорится?).
    В винбандле я тоже с этим не разобрался, поэтому накидал файл во все директории.

  2. Cтарый запрет принимал файлы листов без пути (то есть, они были в папке запрета), а в новом нужно указывать путь, что загромождает строки, неудобно редактировать.
    Какой каталог дефолтный, чтоб просто туда кинуть (если такое допустимо)?

  3. Не разобрался - в файле config cвои блобы задаются только в самой стратегии?
    Нельзя их где-то прописать кучей и использовать при необходимости?

А, ясно, в первом пункте - в обычном виде без всяких лишних символов.

Еще тогда проблемка - похоже, нельзя комментить внутри стратегий и надо жонглировать строками (выносить их за кавычки и там комментить).

def.inc не предполагает редактирование
переменные нужно задавать перед запуском блокчека

листы без пути в скриптах запуска не поддерживаются. текущий каталог неопределен и не гарантирован

скрипты запуска ничего не знают о блобах, это параметры nfqws2

“#” внутри параметров nfqws2 не поддерживается, хотя может и прокатить в каких-то вариантах
есть --comment

для стратегий\профилей дурок еще есть --skip

Блин, действительно! Вот я слепой. Спасибо.

Прошу прощения, но f8156a3d3881850f0194bb24975dfc6a683aa7a5 для 25-fake.sh, 50-fake-multi.sh, 55-fake-faked.sh seq поправлен только для http.

Есть такое

Момент по мануалу: в z1 было описание функции --dpi-desync-fake-tls-mod и её аргументов. В мануале z2 аргумент функции fake (–lua-desync=fake) tls_mod - описан парой слов

применить указанный tls_mod к пейлоаду blob

Я где-то не там ищу?

Да, недописано.
Сейчас идет выкат больших изменений, писанины еще много будет

Как во втором запрете должна выглядеть конструкция --dup=2 --dup-cutoff=n3 ?
В разделе портирования стратегий ничего не сказано про --dup
upd буквально одна секунда поиска по lua показала, что это send. Правда не понимаю, как уточнить границы

еще одной секунды поиска не хватило найти про ranges ?

@bolvan
В документации не нашёл информации о допустимом формате для опций --lua-init, которые могут содержаться в config файле в параметре NFQWS2_OPT.
Вот в доке есть пример для винды:

--lua-init="fake_default_tls = tls_mod(fake_default_tls,'rnd,rndsni')"

но тут прям полный набор: и двойные кавычки, да ещё и пробелы.
Мне кажется что запускатор демонов такое не переварит.
Вот и хочется понять какие есть ограничения на формат.

Или lua код, или @filename.lua
С кавычками - это проблема шелла, а не nfqws
Надо под него загонять, эскейпать как надо
Самое простое - убрать все пробелы и отказаться от внешних кавычек.
Но тут юзер должен сам думать, копипастить уже не всегда прокатит