Все вопросы по поводу zapret пишите сюда.
Добрый день, использовал программу для Linux nfqws. До недавнего времени все работало. Но что то поменяли в настройках сети, либо придумали ещё что то мои настройки nfqws перестали работать. Использовали эти команды, также изменял размер пакета. ИСпользовал на линукс сервере.
iptables -A OUTPUT -p tcp -m tcp --sport 443 --tcp-flags SYN,ACK SYN,ACK -j NFQUEUE --queue-num 200 --queue-bypass
плюс изменял размер:
zapret/binaries/x86_64/nfqws --qnum=200 --wsize=8 --daemon
Но к сожалению это уже не работает. Выдает ошибку на у клиента опен transport error. Посоветуйте как можно изменить настройки этой проги
Фрагментация на сервере - не панацея. Этой технике уже много лет, она начала использоваться давным давно для борьбы с китайским фаерволом. Разумеется, сейчас это уже там не работает.
И у нас это сработает лишь на тех провайдерах, DPI которых достаточно для обмана лишь фрагментация TLS ClientHello. Такие провайдеры существуют, но их меньшинство.
DPI развиваются. Посмотрите какие техники используются в атаке десинхронизации. Вы не сможете без помощи со стороны клиента преодолеть такие DPI. И уж точно никогда не сможете сделать универсальную пиллюлю, которая работала бы везде и гарантированно.
Попробуйте посмотреть в сторону TLS 1.3+ESNI. Это тоже не панацея, требует поддержку в броузере (не всегда включено по умолчанию), спецификация еще не RFC, потому поддержки в веб серверах нет. Но уже есть proxy-поделки.
Думаю попробовать какие то другие техники, возможно помогут, или zapret уже не справиться с задачей которую я ставлю? Я могу с вами пообщаться в приватном чате? Или могу ли я написать вам в личку?
Как можно реализовать эту технологию? Мне в этом поможет программа zapret?
Я с этим не связывался сам, но полагаю у cloudflare можно заказать fronting с поддержкой ESNI.
Или ищите прокси-поделку для терминации TLS у себя на сервере. Где-то проскакивало, но не запомнил как называется.
zapret предназначен для обмана DPI на стороне клиента. даже не думал, что кто-то это будет использовать на сервере
Большинство DPI способно принять решение о запрете по первому пакету с данными от клиента. TLS client hello или http request. С сервера можно повлиять только на разбивку посредством wsize, но как уже сказал это далеко не всегда сработает
Возможно это поможет, мне? Пожалуйста подскажите как мне запустить этот парметр в nfqws. А то я немного затрудняюсь.Я хочу попробовать реализовать это на сервере.
Это ничем вам не поможет. Даже если вы разобьете ответ от сервера, клиент без специальных средств будет отсылать обычный ClientHello, на который тут же ополчится DPI. Вашему серверу даже отвечать не придется. DPI отрежет клиента до того, как серверу представится шанс что-то сделать
Это ничем вам не поможет. Вашему серверу даже отвечать не придется.
О каких способах обхода блокировки тогда могла идти речь в следующей теме?
Если порассуждать немного…
Большинство DPI заблокируют стрим при первом же пакете с данными от клиента, где http запрос или TLS client hello.
Значит действовать надо уже на этапе 3-way handshake.
Можно попытаться сделать реверс-десинхронизацию, базируясь на пришедшем TTL. Или badsum, badseq
Чтобы desync пакеты доходили до DPI, но не доходили до клиента.
Попробовать от сервера послать RST. Как будто сервер сбросил конект. Но чтобы не дошло до клиента. Или послать какой-то левый пакет данных, например левый http response.
Возможно, какие-то DPI это задурит
По IP можно определить провайдера, и имея базу провайдеров что работает на каком, изменять тип реверс-дурения
Как запускать custom-скрипты, такие как custom-nfqws-dht4all? Хотелось бы подробную иструкцию для работы со скриптами.
Попробная инструкция написана в readme. Раздел “вариант custom”.
Готовые скрипты включаются копированием соотв. файла в файл “custom” с его замещением, затем выбор в config MODE=custom.
Код скрипта следует прочитать, там в коментах пишу необходимые дополнительные переменные в config.
dht скрипт наследует режим nfqws, потому вся остальная конфигурация ему соответствует.
Можно прогнать install_easy с MODE=nfqws, настроить, убедиться в работоспособности, затем перейти на custom