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

Фиг знает, у меня ваш сайт открылся достаточно легко, может у меня блокировки слабее. Вот с таким пробовал, слегка переделанная ваша изначальная стратегия для tcp.
winws --wf-tcp=80,443 --dpi-desync=fake,split2 --dpi-desync-fooling=md5sig,badsum --dpi-desync-split-seqovl=1 --dpi-desync-fake-tls="tls_clienthello_www_google_com.bin"

Я менял еще md5sig,badsum на badseq, может в этом дело было. Сейчас все работает с таким конфигом:

Спойлер

start “zapret: http,https,autohostlist” /min “%~dp0winws.exe” --wf-tcp=80,443 --dpi-desync=fake,split2 --dpi-desync-split-seqovl=1 --dpi-desync-split-pos=2 --dpi-desync-fooling=md5sig,badsum --dpi-desync-any-protocol --dpi-desync-fake-tls=“%~dp0tls_clienthello_www_google_com.bin” --hostlist=“%~dp0#russia-list.txt” --hostlist=“%~dp0#russia-additional-list.txt” --hostlist=“%~dp0#youtube-list.txt” --hostlist-auto=“%~dp0autohostlist.txt”
start “zapret: quic,autohostlist” /min “%~dp0winws.exe” /min --wf-udp=443 --dpi-desync=fake --dpi-desync-fooling=md5sig,badsum --hostlist=“%~dp0#youtube-list.txt” --hostlist-auto=“%~dp0autohostlist.txt”

Спасибо за помощь.
Мультистратегию пока можно отложить. Включил дебаг для нее, но по-моему он работает не так как положено, там везде hostname=' ' и desync profile 0 matches.

Я Developers Tools на вкладке “Сеть” немного понаблюдал за тем что происходит во время просмотра Ютуба. Для адресов вида https://rr---что-то-там. googlevideo.com заметил такую особенность. Часто у них статус 204 или 403. Наверное это не связона с блокировками. Но также встречаю случаи, когда какой-то адрес сначала заблокирован, а потом он же имеет статус 200. Например:

В одном случае имеем NS_BINDING_ABORTED, в другом - Blocked, а затем у них же статус 200. Не уверен, но по-моему когда эти адреса заблокированы, у меня приостанавливается воспроизведение видео, а через некоторое время продолжается. Что это могло бы значить?

Здравствуйте. Zapret запущен на роутере, стратегии сейчас такие:
NFQWS_OPT_DESYNC=“–dpi-desync=fake,split2 --dpi-desync-ttl=5 --dpi-desync-fooling=md5sig,badseq --dpi-desync-fake-tls=/opt/zapret/files/fake/tls_clienthello_www_google_com.bin”

NFQWS_OPT_DESYNC_QUIC=“–dpi-desync=fake --dpi-desync-repeats=6”

Ютуб работает через вай-фай на телефонах, на компе в опере и в edge, но не работает в firefox и в chrome. Пробовал в них включать/отключать QUIC, разницы нет. С чем это может быть связано?

Уважаемые, посоветуйте какой сейчас есть рабочий конфиг для обхода ютуба?

NFQWS_OPT_DESYNC=“–dpi-desync=fake,split2 --dpi-desync-ttl=5 --dpi-desync-fooling=md5sig,badseq --dpi-desync-fake-tls=/opt/zapret/files/fake/tls_clienthello_www_google_com.bin”

С таким конфигом не работает. Какие есть варианты еще?

У меня заработал с
NFQWS_OPT_DESYNC=“–dpi-desync=split2 --dpi-desync-split-seqovl=1 --dpi-desync-ttl=0 --dpi-desync-ttl6=0 --dpi-desync-fooling=badsum”
Не знаю насколько тут все корректно, но все сайты открываются. Использую автохостлист.

desync-any-protocol без ограничителей включает мощное изнасилование вашего соединения
каждый исходящий пакет будет извращен
это то, что задумывалось ?

Включил дебаг для нее, но по-моему он работает не так как положено, там везде hostname=' ' и desync profile 0 matches.

Дебаг лог и параметры в студию, а так же содержимое хост листов

blocked не из-за блокировок
в первых строчках ясно сказано “blocked by ublock origin”. блокировщик рекламы
что такое blocked во втором случае - неизвестно. но очень сомнительно, что это какая-то магическая определилка блокировки провайдером. у мозиллы сообщения часто путают.
NS_BINDING_ABORTED многие воспринимают как ошибка DNS. на самом деле это какой-то разрыв соединения вроде бы. а может и не только

Ворк! Спасибо

Насилие как я понимаю ограничено хостами из листов? Если так, то пусть. Если этот параметр убрать, ютуб перестает работать у меня. cutoff=d4 ограничивает насилие первыми 4 пакетами данных?

Параметры были такие:

cfg

start “zapret: http,https,quic,hostlist” /min “%~dp0winws.exe” --wf-tcp=80,443 --wf-udp=443 --filter-udp=443 --hostlist=“%~dp0#youtube-list.txt” --dpi-desync=fake --dpi-desync-fake-quic=“%~dp0quic_initial_google_com.bin” --dpi-desync-repeats=2 --new --filter-udp=443 --dpi-desync=fake --dpi-desync-repeats=2 --new --filter-tcp=443 --hostlist=“%~dp0#minimum-impact-list.txt” --dpi-desync=fake,disorder2 --dpi-desync-ttl=5 --dpi-desync-fooling=md5sig --new --filter-tcp=443 --hostlist=“%~dp0#youtube-list.txt” --dpi-desync-any-protocol --dpi-desync=fake,split2 --dpi-desync-split-pos=1 --dpi-desync-fooling=md5sig,badsum --dpi-desync-fake-tls=“%~dp0tls_clienthello_www_google_com.bin” --new --filter-tcp=80 --hostlist=“%~dp0#youtube-list.txt” --dpi-desync-any-protocol --dpi-desync=fake,split2 --dpi-desync-split-pos=1 --dpi-desync-fooling=md5sig,badsum --new --hostlist=“%~dp0#russia-list.txt” --hostlist=“%~dp0#russia-additional-list.txt” --dpi-desync-any-protocol --dpi-desync=fake,disorder2 --dpi-desync-split-pos=1 --dpi-desync-fooling=md5sig,badsum

листы и дебаг тут один из них великоват, чтобы его сюда вставлять. Дебаг я снимал открыв страницу ютуба и подождав пока она попытается открыться. Возможно он неполный, т.к. копировал его из консоли, не знаю как под cygwin включить перенаправление в файл. Добавлять desync-any-protocol в мультистратегию пробовал, не помогло, страница ютуба открывается но видео все равно не грузятся.

да, но для этих хостов будет каждый исходящий пакет мучаться
d4 - 4 тут означает номер пакета данных, на котором обрезается. 3 пакета будет изнасиловано.

я неоднократно встречал это нечто с cutoff=d4, назвал его крокодилом
все это бездумно копируют, но мне так и непонятно что он дает
если брать TLS сессию, то в исходящих пакетах идет с пейлоадом идет

  1. ClientHello
  2. Client key exchange, Change cipher spec, Encrypted handshake message
  3. Application data

Без any protocol 1 и так насилуется
2 содержит параметры diffie-hellman и прочую ересь для настройки шифрования. идет и так с каждым TLS соединением вне зависимости от домена и блокировки
в 3+ уже идут зашифрованные данные и ничего больше

что дает разрезание 2 и 3 и отсылка фейков TLS ClientHello уже после прохода реального TLS ClientHello ?

Мне приходил на ум только 1 вариант. Что некоторые TLS ClientHello не распознаются nfqws как таковые. Такое уже было со старыми теликами самсунг, но эта проблема давно пофиксена.
Зачем d4 так и не понятно.

Если снять any protocol, в --debug он реагирует на TLS ClientHello ?

Я это тоже скопировал. По-моему смысл в том, чтобы ограничить насилие первыми пакетами, а почему именно 3 не в курсе. Надо будет попробовать уменьшить.

Без any protocol насилие ограничивается только пакетами с известным содержимым

Можете подсказать, что тут можно исправить, чтобы было по-человечески?

Я так понимаю, что --dpi-desync-ttl6=0 можно убрать, если не используется ipv6
–dpi-desync-fooling=badsum тоже можно оставить, пока работает? Вижу, что у людей используется md5sig, но как понимаю, это не особо принципиально пока оно работает. У меня zapret установлен на роутере keenetic.
Хотелось бы не иметь в конфигах ничего лишнего.

Подскажите, если я при установке указал использование автохостлиста, то читается только zapret-host-auto? К остальным файлам хостлистов программа не обращается? Не нашел в конфиге указание на файлы с хостлистами

Установка на Кинетик - реально рабочий вариант. Проверено на своем роутере GIGA KN-1010 и GIGA3

Убрал any-protocol, запустил с таким конфигом:

Спойлер

start “zapret: http,https,quic,hostlist” /min “%~dp0winws.exe” --wf-tcp=80,443 --wf-udp=443 --debug=1 --filter-udp=443 --hostlist=“%~dp0#youtube-list.txt” --dpi-desync=fake --dpi-desync-fake-quic=“%~dp0quic_initial_google_com.bin” --dpi-desync-repeats=2 --new --filter-udp=443 --dpi-desync=fake --dpi-desync-repeats=2 --new --filter-tcp=443 --hostlist=“%~dp0#minimum-impact-list.txt” --dpi-desync=fake,disorder2 --dpi-desync-ttl=5 --dpi-desync-fooling=md5sig --new --filter-tcp=443 --hostlist=“%~dp0#youtube-list.txt” --dpi-desync=fake,split2 --dpi-desync-split-pos=1 --dpi-desync-fooling=md5sig,badsum --dpi-desync-fake-tls=“%~dp0tls_clienthello_www_google_com.bin” --new --filter-tcp=80 --hostlist=“%~dp0#youtube-list.txt” --dpi-desync=fake,split2 --dpi-desync-split-pos=1 --dpi-desync-fooling=md5sig,badsum --new --hostlist=“%~dp0#russia-list.txt” --hostlist=“%~dp0#russia-additional-list.txt” --dpi-desync=fake,disorder2 --dpi-desync-split-pos=1 --dpi-desync-fooling=md5sig,badsum

Остановил windivert, запустил новое приватное окно фокса, открыл youtube.com и через 4,5 минуты получил это Дебаг там неполный, только конец, начало консоль обрезала.
Судя по строке с fonts.googleapis.com разделение по профилям работает. Но ютубу это не помогает. И раньше на goodbyedpi он у меня открывался только с опцией allow-no-sni, это тамошний аналог any-protocol. А все остальное нормально открывается.

ttl6 - это специализация ttl для ipv6. можно убрать
удивительно, но cloudflare принимает пакеты с badsum, поэтому на нем этого ограничителя мало. md5sig позволяет запустить cloudflare. badsum - не linux серваки.
но как показывает практика, badsum не работает на всех провайдерах. DPI секут суммы кое-где

Нет. autohostlist - это дополнение к hostlist. файлы для обычного хостлист тоже берутся
exclude работает как недопущение работы с автолистом

packet: id=60 reinject unmodified
packet: id=61 len=42 outbound IPv6=0 IPChecksum=1 TCPChecksum=0 UDPChecksum=1 IfIdx=12.0
IP4: 192.168.219.103 => 142.250.186.163 proto=tcp ttl=128 sport=14216 dport=80 flags=A seq=3930759458 ack_seq=274232449
TCP: 50 4F : PO
using cached desync profile 0
packet: id=62 reinject unmodified
packet: id=63 len=509 outbound IPv6=0 IPChecksum=1 TCPChecksum=0 UDPChecksum=1 IfIdx=12.0
IP4: 192.168.219.103 => 142.250.186.163 proto=tcp ttl=128 sport=14216 dport=80 flags=AP seq=3930759460 ack_seq=274232449
TCP: 53 54 20 2F 77 72 32 20 48 54 54 50 2F 31 2E 31 0D 0A 48 6F 73 74 3A 20 6F 2E 70 6B 69 2E 67 6F ... : ST /wr2 HTTP/1.1..Host: o.pki.go ...

Видимо запущено 2 копии winws с пересекающимся фильтром или гудбай DPI или еще что-то подобное
На вход winws идет уже резаный трафик, потому и не детектируется
Обманываем обманывалку

Если это и есть причина создания крокодилаа с катоффом, то это горе от ума

Я так понимаю, мне нужно написать –dpi-desync-fooling=badsum –dpi-desync-fooling=md5sig? 2 аргумента через запятую он не поймет?
У меня сейчас все работает идеально, просто по возможности хотелось бы избавиться от того, что не нужно
Не будет проблем если я все хосты буду прописывать в host-auto, а host оставлю пустым?

Через запятую поймет. В вашем написании badsum замещается md5sig и не случается