См доку “standard payload”.
Программированию на луа здесь не учат, ошибка очевидна
Кажется, d84dfaf61d9816ac24219b37662baf5fe440a9d1 немного поломал blockcheck в iptables.
- [ "$2" = tcp ] && IPT_ADD_DEL $1 INPUT -p $2 --sport $3 ! --syn -j ACCEPT
+ [ "$2" = tcp ] && IPT_ADD_DEL $1 INPUT -p $2 --sport $3 ! $IPT_COMMENT --syn -j ACCEPT
При
IPT_COMMENT=“-m comment --comment blockcheck_$$”
получаем:
INPUT -p tcp --sport 443 ! -m comment --comment blockcheck_19639 --syn -j ACCEPT
что приведёт к ошибке:
unexpected ! flag before --match
Исправлено
Подскажите пожалуйста кто в теме, amnezia на днях перестала работать в сторону Warp, но работают конфиги в которых присутствует параметр I1.
Есть ли стратегии что бы работал warp дальше?
Да, если вы спрашиваете, как воспроизвести поведение Амнезии 1.5 средствами Запрета, чтобы Warp-клиенты без поддержки этих параметров работали - то подкинуть содержимое параметра I1 в качестве фейка, а также после него ещё несколько коротких фейков (мне подходит банальный 0x00) в количестве, заданном параметром Jc в конфиге амнезии.
Если не затруднит можешь скинуть целую строку стратегии? Буду благодарен.
Как-то так использую (верхний blob брать из параметра I1, начиная с 0xc до конца последовательности буквоцифр):
--lua-desync=fake:blob=0xc20000000108b5(простыня)9d96d8ab ^
--lua-desync=fake:blob=0x00:repeats=4 ^
Это в виндовом синтаксисе, с ^ в конце строк. Блоб проще в файл отдельный вынести, но в примере показал встраивание в виде 16-ричного текста. Если в WG-клиенте какие-то дурилки уже есть (Jc, Reserved и т.п.), то они могут препятствовать Запрету выцепить пейлоад и применить стратегию, стоит это учитывать.
Если необходимо I1 и I2:
--lua-desync=fake:blob=0x(блоб из I1) ^
--lua-desync=fake:blob=0x(блоб из I2) ^
--lua-desync=fake:blob=0x00:repeats=4 ^
Либо я что-то не так делаю, либо nfqws на роутере кинетик это не поддерживает. Не стартует с данной конфигурации. И на Windows тоже не получилось в запрете её запустить, то все вылетает
люди на сток ленивы. да возьми ты бантик preset2_wireguard открой и посмотри, что тебе писал человек. что такое блоб есть в документации. дальше чуть логики и всё. проверил у меня работает на окнах.
Спасибо тебе добрый человек, благодаря тебе узнал что у меня была версия без lua, скачал нужную и теперь не вылетает, все запускается но все равно wireguard за пределы страны “Получено 0байт.” а те что внутри страны работают
вот такой cmd пробивает путь чистому WG к CF и к Протону на РТ-Москва:
start “zapret2: wireguard” /min “%~dp0winws2.exe” ^
–lua-init=@“%~dp0lua\zapret-lib.lua” --lua-init=@“%~dp0lua\zapret-antidpi.lua” ^
–blob=quic_ozon:@“%~dp0files\ozon.bin” ^
–wf-raw-part=@“%~dp0windivert.filter\windivert_part.wireguard.txt” ^
–out-range=-d2 ^
–payload=wireguard_initiation ^
–lua-desync=fake:blob=quic_ozon
ссылка на файл ozon.bin ниже
отправка fake udp такого размера вызовет его ip фрагментацию
к озону содержимое отношения не имеет, это вообще не quic
скорее всего здесь сработало бы что-то более простое
Пришло время переходить с zapret1 на zapret2 вот только со стратегиями не как не разберусь на zapret1 работала так
Спойлер
–fil
ter-tcp=443,80 --dpi-desync=fakedsplit --dpi-desync-fooling=ts --dpi-desync-split-pos=1 --dpi-desync-fooling=badseq --hostlist=“/opt/zapret/ipset/youtube” --new
–filter-l7=wireguard --dpi-desync=fake --dpi-desync-autottl=4 --dpi-desync-repeats=10 --dpi-desync-any-protocol=1 --dpi-desync-fake-unknown-udp=/opt/zapret/files/fake/quic_initial_www_google_com.bin --dpi-desync-cutoff=n2 --new
–filter-tcp=443,80 --hostlist=“/opt/zapret/ipset/zapret-hosts-user.txt” --dpi-desync=fake --dpi-desync-fooling=ts --dpi-desync-fake-tls=/opt/zapret/files/fake/tls_clienthello_www_google_com.bin --new
может кто подскажет как перевести для zapret2? а то я уже запутался.
Для youtube вроде подобрал а вот для другух не в какую
Спойлер
–filter-tcp=443 --payload=tls_client_hello --hostlist=“%~dp0files\list-youtube.txt” –lua-desync=multidisorder:pos=2,midsld:seqovl=1 –new
я взял строку i1 из генератора warp, используя вот этот конвертер, получил на выходе файл, у которого байты при hex-просмотре соответствуют тем, что в оригинальной строке.
Судя по подробному описанию здесь, client initial packet должен быть 1200 байт, у меня получился файл 1250, но во вложении что-то другое оказалось. Возможно, я ошибся и приложил не тот файл (но какой?), сейчас попробую еще раз, может, движок форума как-то исказил.
ozon.bin (1,2 КБ)
Файл на 1.2 КБ нормальный, содержит в себе корректный QUIC Initial, сейчас проверил, Wireshark не показывает никаких ошибок расшифровки и определяет SNI правильно, да и дурение на моём провайдере срабатывает с ним нормально. QUIC Initial не обязан быть строго 1200 байт, это его минимально допустимый размер согласно стандарту, но некоторые браузеры отправляют его чуть большего размера (какие-то 1230, какие-то 1250, не вдавался в подробности). Потому с ним всё хорошо.
А тот на 1.8 КБ, который вы выше выкладывали, как раз и был битый, там произошла замена кодировки, сохранён он был криво.
да, я понял, по ошибке вставил не тот файл, ошибку исправил
Скажите, а можно каким-то образом перевести в блобы параметры AWG1.5 Jc, Jmin, Jmax?
Они добавляют случайный шум, раньше только их было достаточно, но теперь в AmneziaWG это требуется применять вместе с i1, чтобы это работало, например, на МГТС
В preset2_wireguard.cmd поглядите пример с рандомными пакетами, в параметр repeats= вместо 3 укажите цифру из Jc, а вместо (32, 64) поставьте цифры из (Jmin, Jmax). Если объединять это с блобом из I1, то строку отправки блоба поставьте между строками с параметрами --payload=… и --lua-desync=repeater, чтоб она была выше репитера рандомных пакетов
Все, что случайно, генерится программой, которую пишет юзер
Не декларативно. Декларации ушли вместе с z1.
Как правило для этого хватает luaexec
После обновления тспу они сломали ваш дефолтный фейк. Пришлось добавлять кастомный. Правда я ещё на версии 0.7.4 проверял.