О, спасибо Поизучаю.
Нашел два живучих конфига под ютуб
Спойлер
–dpi-desync=rst,split2
–dpi-desync=rst,disorder2
А в чём загвоздка-то? Если в ядре NF_DUP
включён, так клонируй исходящий пакет, каждому свою метку присвой и по разным очередям рассылай. А в этом случае, коли один хостлист короткий, можно и без клонирования обойтись: если пакет новый да домен американского видеосервиса содержит - сразу пихай сюды, а если нет - туды отправляй, там разберутся. Всяко веселей, чем прокси со своими причудами и опциями. Или, может, я какую-то другую проблему упускаю?
Не нужен этот изврат, скоро будут мульти-профили
Свежеустановленный Zapret на OpenWRT на роутере, попытки посмотреть Youtube без успеха.
(на ноуте и смартфоне)
Хотя на телефоне ByeDPI пробивает легко при split в позиции 2.
Zapret status = running. При вводе iptables -L не показывает ни одного правила (может так и должно быть? не знаю…)
В zapret пробовал параметры
–dpi-desync=split --dpi-desync-split-pos=2
–dpi-desync=split2 --dpi-desync-split-pos=2
–dpi-desync=split2 --dpi-desync-split-pos=10
–dpi-desync=split2 --dpi-desync-split-tls=sni
из них последние два варианта рекомендованы после blockcheck.
stop_fw не влияет
Что еще можно посмотреть, где искать причину?
Я пока остановился на этом:
NFQWS_OPT_DESYNC=“–dpi-desync=disorder2 --dpi-desync-fooling=badsum”
билайн, одна строка
iptables -nvL POSTROUTING -t mangle
Еще у nfqws есть --debug=@/path/to/logfile
Chain POSTROUTING (policy ACCEPT 0 packets, 0 bytes)
pkts bytes target prot opt in out source destination
0 0 NFQUEUE tcp -- * br-lan 0.0.0.0/0 0.0.0.0/0 multiport dports 80,443 connbytes 1:6 connbytes mode packets connbytes direction original mark match ! 0x40000000/0x40000000 ! match-set nozapret dst NFQUEUE num 200 bypass
0 0 NFQUEUE tcp -- * br-lan 0.0.0.0/0 0.0.0.0/0 multiport dports 443 connbytes 1:6 connbytes mode packets connbytes direction original mark match ! 0x40000000/0x40000000 ! match-set nozapret dst NFQUEUE num 200 bypass
0 0 NFQUEUE tcp -- * br-lan 0.0.0.0/0 0.0.0.0/0 multiport dports 80 mark match ! 0x40000000/0x40000000 ! match-set nozapret dst NFQUEUE num 200 bypass
да, так показывает
всё ли здесь правильно?
На новом openwrt используются nftables. Если были выбраны iptables - это плохо.
Без ограничителей split 100% ломает соединение, поскольку отсылкает фейки.
split2 фейков не отсылает и не нуждается в ограничителях
Надо смотреть дебаг log nfqws
Спасибо вам, маэстро, что помогаете! Всем спасибо.
сейчас с логом разберемся, пока ничего не трогаю, и поменяю на nftables.
вот так?
/opt/zapret/binaries/mips32r1-lsb/nfqws “–qnum=1 --debug=syslog --dpi-desync=split2 --dpi-desync-split-pos=2”
данная команда выдала в терминал
opening library handle
unbinding existing nf_queue handler for AF_INET (if any)
binding nfnetlink_queue as nf_queue handler for AF_INET
binding this socket to queue ‘1’
setting copy_packet mode
initializing raw sockets bind-fix4=0 bind-fix6=0
Running as UID=******* GID=********
…и остановилась, не закрылась. Ничего не происходит. Прервал по Ctrl+C.
Так нормально. Запустилась и работает, тестируйте.
Хотите иметь фоном - устанавливайте по полной форме, в README описано.
сислог читается по logread в openwrt
можно так : logread | grep nfqws
если надо на консоль, то надо было --debug без параметров указывать
Скрипт для тех, кто хочет сделать свой собственный fake пакет с TLS ClientHello с определённым доменом.
Вариант использования: ./capture_tls_client_hello.sh example.com
capture_tls_clienthello.sh (1.1 KB)
Круто, спасибо!
а под openwrt такое не получится?
Попробуйте накатить curl, tshark, jq самостоятельно и удалите строчки с apt install. В пакетах на openwrt не разбираюсь, не знаю есть ли tshark (jq вроде как должен быть)
(nc -l -p 4343 > hello.bin) & curl https://www.google.com --connect-to ::127.0.0.1:4343 -m 1
Подскажи пожалуйста, четвертый день мучаюсь с подбором стабильного конфига в итоге после очередного изменения и перезапуска:
service zapret stop
service zapret start
проверка по curl --connect-to ::speedtest.selectel.ru https://manifest.googlevideo.com/100MB -k -o/dev/null перестала показывать скорость и ютюб перестал быстро открывать видео.
С tpws вроде работает, но тоже нестабильно.
Снес скрипт полностью, установил заново с выбором nfqws, не помогло.
Вот лог, если правильно снял, не разобрался как запускать /opt/zapret/binaries/aarch64/nfqws --debug=@/tmp
пишет - cannot create /tmp
root@OpenWrt:/# logread | grep nfqws
Tue Sep 17 19:42:28 2024 daemon.notice procd: /etc/rc.d/S21zapret: Starting daemon 2: /opt/zapret/nfq/nfqws --qnum=200 --user=daemon --dpi-desync-fwmark=0x40000000 --dpi-desync=rst,disorder2 --dpi-desync-ttl=0 --dpi-desync-ttl6=0 --dpi-desync-fooling=badsum --hostlist=/opt/zapret/ipset/zapret-hosts-user.txt --hostlist-exclude=/opt/zapret/ipset/zapret-hosts-user-exclude.txt
Tue Sep 17 19:42:28 2024 daemon.notice procd: /etc/rc.d/S21zapret: Starting daemon 10: /opt/zapret/nfq/nfqws --qnum=210 --user=daemon --dpi-desync-fwmark=0x40000000 --dpi-desync=fake --dpi-desync-repeats=6 --hostlist=/opt/zapret/ipset/zapret-hosts-user.txt --hostlist-exclude=/opt/zapret/ipset/zapret-hosts-user-exclude.txt
Tue Sep 17 19:42:28 2024 daemon.notice procd: /etc/rc.d/S21zapret: Adding nftables ipv4 rule for nfqws postrouting (qnum 200) : tcp dport {443} ct original packets 1-6 mark and 0x40000000 == 0
Tue Sep 17 19:42:28 2024 daemon.notice procd: /etc/rc.d/S21zapret: Adding nftables ipv4 rule for nfqws prerouting (qnum 200) : tcp sport {443} ct reply packets 1
Tue Sep 17 19:42:28 2024 daemon.notice procd: /etc/rc.d/S21zapret: Adding nftables ipv4 rule for nfqws postrouting (qnum 210) : udp dport {443} ct original packets 1-6 mark and 0x40000000 == 0
zapret-hosts-user.txt заполнен по инструкции “Обход замедления youtube в России”
Провайдер домру Казань
до этого работало не стабильно, то 50,000-170,000 kbps скорость, то падает до 4000 kbps. Протокол в основном http/1.1 во вкладке сеть в хроме, или по h3 пытается загрузить.
nc_tls_clienthello.sh (712 Bytes)
Чем больше я пытаюсь разобраться в логике работы программы, тем меньше я понимаю. Например, блокчек выдал такой результат для nfqws
nfqws --dpi-desync=fake,split2 --dpi-desync-ttl=3
-
fake и split2 можно применять вместе, но НУЖНО ЛИ? или лучше/достаточно выбрать что-то одно?
-
почему с опциями nfqws --dpi-desync=fake,split2 программа запускается, но если fake и split2 поменять местами: nfqws --dpi-desync=split2,fake, программа выдает ошибку invalid desync combo : split2+fake
-
Блокчек выдал значение --dpi-desync-ttl=3, но в руководстве при этом написано следующее:
Опции nfqws для атаки десинхронизации DPI :
DESYNC_MARK=0x40000000
DESYNC_MARK_POSTNAT=0x20000000
NFQWS_OPT_DESYNC="–dpi-desync=fake –dpi-desync-ttl=0
Что вообще значит ttl=0 ? (и -dpi-desync-ttl=5 для ip v6)