Спасибо! Правила к себе скопипастил - кажется они редиректят нормально, но ютуб стабилен давно и одинаково - просто стоит колом.
Нет смысла в скрипт blockcheck`а добавить опцию “/etc/init.d/zapret stop” и “start” после его окончания?
Ведь это требуется для его более корректной работы, а про это узнаешь не из ридмишки а от тебя либо других людей на форуме.
зы
наверняка умные люди и так это будут понимать, но вот не очень умных как я не мало )
Такие правила верные?
#!/bin/bash
iptables -P INPUT ACCEPT
iptables -P FORWARD ACCEPT
iptables -P OUTPUT ACCEPT
iptables -F
iptables -X
iptables -t nat -F
iptables -t nat -X
iptables -t mangle -F
iptables -t mangle -X
#Forwarding
echo 1 > /proc/sys/net/ipv4/ip_forward
iptables -t nat -A POSTROUTING -o eth1 -j MASQUERADE
# Проверяем наличие таблицы
if nft list tables | grep -q "ztest"; then
# Если таблица существует, удаляем ее
echo "Таблица ztest существует. Удаляю..."
fi
# Создаем новую таблицу
nft create table inet ztest
nft add chain inet ztest post "{type filter hook postrouting priority mangle;}"
nft add rule inet ztest post tcp dport "{80,443}" ct original packets 1-12 queue num 200 bypass
Запускаю затем уже /opt/zapret/nfqws --qnum=200 --user=zapret --debug --dpi-desync=всякое
Берем коммит до добавления мультистратегий, все работает:
nfqws --qnum=200 --user=nobody --hostlist=/opt/etc/zapret/xvideos.txt --dpi-desync=fake --dpi-desync-ttl=4 --debug
Loading hostlist /opt/etc/zapret/xvideos.txt
loading plain text list
Loaded 1 hosts from /opt/etc/zapret/xvideos.txt
initializing conntrack with timeouts tcp=60:300:60 udp=60
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 ‘200’
setting copy_packet mode
initializing raw sockets bind-fix4=0 bind-fix6=0
set_socket_buffers fd=4 rcvbuf=2048 sndbuf=32768
fd=4 SO_RCVBUF=4096
fd=4 SO_SNDBUF=65536
set_socket_buffers fd=5 rcvbuf=2048 sndbuf=32768
fd=5 SO_RCVBUF=4096
fd=5 SO_SNDBUF=65536
seccomp: Invalid argument
seccomp: this can be safely ignored if kernel does not support seccomp
Running as UID=65534 GID=65534
set_socket_buffers fd=3 rcvbuf=65536 sndbuf=32768
fd=3 SO_RCVBUF=131072
fd=3 SO_SNDBUF=65536
packet: id=1 len=693 mark=00000000
IP4: 192.168.1.2 => 185.88.181.4 proto=tcp ttl=64 sport=32116 dport=443 flags=AP seq=1118562450 ack_seq=3026306098
TCP: 16 03 01 02 88 01 00 02 84 03 03 7D 3A D9 41 53 A3 A4 F2 3A 20 B8 4F EC CD 01 84 E3 E2 C0 39 1D … : …}:.AS…: .O…9. …
packet contains full TLS ClientHello
hostname: www.xvideos.com
Checking include hostlist
Hostlist check for www.xvideos.com : negative
Hostlist check for xvideos.com : positive
dpi desync src=192.168.1.2:32116 dst=185.88.181.4:443
split pos 2
sending fake request : 16 03 01 02 83 01 00 02 7F 03 03 83 FD E4 78 0F 92 91 4B BC 5C C9 83 9F AC 19 16 63 3B 3A A3 4F … : ……x…K..…c;:.O …
reinjecting original packet. len=693 len_payload=653
packet: id=1 drop
packet: id=2 len=706 mark=00000000
Берем последний коммит, и ничего не работает:
nfqws --qnum=200 --user=nobody --hostlist=/opt/etc/zapret/xvideos.txt --dpi-desync=fake --dpi-desync-ttl=4 --debug
adding low-priority default empty desync profile
we have 1 user defined desync profile(s) and default low priority profile 0
Loading hostlist /opt/etc/zapret/xvideos.txt
loading plain text list
Loaded 1 hosts from /opt/etc/zapret/xvideos.txt
initializing conntrack with timeouts tcp=60:300:60 udp=60
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 ‘200’
setting copy_packet mode
initializing raw sockets bind-fix4=0 bind-fix6=0
set_socket_buffers fd=4 rcvbuf=2048 sndbuf=32768
fd=4 SO_RCVBUF=4096
fd=4 SO_SNDBUF=65536
set_socket_buffers fd=5 rcvbuf=2048 sndbuf=32768
fd=5 SO_RCVBUF=4096
fd=5 SO_SNDBUF=65536
seccomp: Invalid argument
seccomp: this can be safely ignored if kernel does not support seccomp
Running as UID=65534 GID=65534
set_socket_buffers fd=3 rcvbuf=65536 sndbuf=32768
fd=3 SO_RCVBUF=131072
fd=3 SO_SNDBUF=65536
packet: id=1 len=693 mark=00000000
IP4: 192.168.1.2 => 185.88.181.8 proto=tcp ttl=64 sport=32698 dport=443 flags=AP seq=390301676 ack_seq=2079868259
TCP: 16 03 01 02 88 01 00 02 84 03 03 2B AA 3A 94 C2 07 53 CE 53 D3 27 44 90 B0 33 CA 0A BF 1F 31 97 … : …+.:…S.S.‘D…3…1. …
desync profile search for hostname=’’ ipv6=0 tcp_port=443 udp_port=0
desync profile 0 matches
packet contains full TLS ClientHello
hostname: www.xvideos.com
packet: id=1 pass unmodified
packet: id=2 len=693 mark=00000000
Почему search for hostname=‘’ не показывает домен из файла, который он должен искать? Вроде же старые правила не должны были измениться при добавлении функции мультистратегий. В xvideos.txt находится только xvideos.com.
На GPON MTS какое-то странное поведение с большинством стратегий, например:
- checking nfqws --dpi-desync=fake,split --dpi-desync-ttl=3 --dpi-desync-split-pos=1
[attempt 1] curl: (35) Recv failure: Connection reset by peer
[attempt 2] AVAILABLE
[attempt 3] curl: (28) Connection timed out after 2002 milliseconds
[attempt 4] AVAILABLE
[attempt 5] curl: (35) Recv failure: Connection reset by peer
Чередуется timed out и connection reset.
Второй ТСПУ или какой-то фильтр на пути в зависимости от балансировки?
А ютуб работает в хроме без обхода блокировок? У меня наблюдалось похожее поведение блокчека из-за манипуляций провайдера с размером TCP окна. Вылечилось добавлением в конфиг параметра --wsize=1500
.
Сегодня для YT у меня отвалился --dpi-desycn=split2
, который работал после отвала disorder2
.
Блокчек показал гораздо меньше рабочих стратегий. Пока завелось на:
--dpi-desync=split --dpi-desync-fooling=badseq
Здравствуйте, подобрал рабочие параметры на windows в cmd файле с ними ютуб работает:
winws --wf-l3=ipv4 --wf-tcp=443 --dpi-desync=split2 --dpi-desync-fake-tls=tls_clienthello_www_google_com.bin
, Но мне нужно поставить их в роутер,
# CHOOSE NFQWS DAEMON OPTIONS for DPI desync mode. run "nfq/nfqws --help" for option list
DESYNC_MARK=0x40000000
DESYNC_MARK_POSTNAT=0x20000000
NFQWS_OPT_DESYNC="--dpi-desync=split2 --dpi-desync-fake-tls=/opt/zapret/files/fake/tls_clienthello_www_google_com.bin"
#NFQWS_OPT_DESYNC_HTTP=
#NFQWS_OPT_DESYNC_HTTPS=
#NFQWS_OPT_DESYNC_HTTP6=
#NFQWS_OPT_DESYNC_HTTPS6=
NFQWS_OPT_DESYNC_QUIC="--dpi-desync=split2 --dpi-desync-fake-tls=/opt/zapret/files/fake/tls_clienthello_www_google_com.bin"
#NFQWS_OPT_DESYNC_QUIC6=
С этими параметрами не работает, как их адаптировать под роутер? --wf-l3=ipv4 --wf-tcp=443 - нужно ли писать?
У split2 нет фейков, следовательно -fake-tls ничего не делает.
Для quic нет стратегии split2, а -fake-tls он для tls, а не для quic.
Т.е. по идее у вас можно попробовать как-то так:
NFQWS_OPT_DESYNC="--dpi-desync=split2"
NFQWS_OPT_DESYNC_QUIC="--dpi-desync=fake --dpi-desync-repeats=$"
$ подобрать от 2 до 11.
Попробовал, без изменений.
Как будто бы стратегии с badseq или md5sig работают стабильнее.
Его надо в самый конец добавлять. У меня вот так сейчас:
Спойлер
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-repeats=2 --dpi-desync=fake --dpi-desync-fake-quic=“%~dp0quic_ietf_google_com_2.bin” --new --filter-udp=443 --dpi-desync=fake --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-repeats=2 --dpi-desync=fake,split2 --dpi-desync-split-seqovl=1 --dpi-desync-split-pos=2 --dpi-desync-fooling=md5sig --dpi-desync-fake-tls=“%~dp0tls_clienthello_www_google_com.bin” --new --filter-tcp=80 --hostlist=“%~dp0#youtube-list.txt” --dpi-desync-repeats=2 --dpi-desync=fake,split2 --dpi-desync-split-pos=1 --dpi-desync-fooling=md5sig --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 --new --filter-tcp=443 --wsize=1500 --new --filter-tcp=80 --wsize=1500
На обычный http (80 порт) я забил, и в общем у меня конструкция как-то значительно проще получилась, и без мульти-стратегий (в exclude пока чисто одинокий домен гос-услуг).
"C:\Users\sora\Downloads\Soft\git\zapret-win-bundle\zapret-winws\winws.exe" --wf-l3=ipv4 --wf-tcp=443 --wf-udp=443 --dpi-desync=split2 --dpi-desync-fooling=badseq --dpi-desync-split-seqovl=652 --dpi-desync-split-pos=2 --dpi-desync-split-seqovl-pattern=C:\Users\sora\Downloads\Soft\git\zapret-win-bundle\blockcheck\zapret\files\fake\tls_clienthello_www_google_com.bin --hostlist-exclude=C:\Users\sora\Downloads\Soft\git\zapret-win-bundle\zapret-winws\exclude.txt --wsize=1500
Можно и без полных путей, лишь бы все файлы в той же папке лежали. И если не путаю, то со split2 фейк не используется, а с udp не работает, т.е. можно и еще подсократить:
winws.exe --wf-l3=ipv4 --wf-tcp=443 --dpi-desync=split2 --dpi-desync-split-seqovl=652 --dpi-desync-split-pos=2 --dpi-desync-split-seqovl-pattern=tls_clienthello_www_google_com.bin --hostlist-exclude=exclude.txt --wsize=1500
Ну либо добавить перед split2 фейк, если он нужен:
winws.exe --wf-l3=ipv4 --wf-tcp=443 --wf-udp=443 --dpi-desync=fake,split2 --dpi-desync-fooling=badseq --dpi-desync-split-seqovl=652 --dpi-desync-split-pos=2 --dpi-desync-split-seqovl-pattern=tls_clienthello_www_google_com.bin --hostlist-exclude=exclude.txt --wsize=1500
Перепробовал все --dpi-desync-repeats c 2 по 11, но не работает
А почему -fake-tls не нужен? Я делал по гайду Подбор рабочего конфига для GGC ютуба через blockcheck - #39 by shiko
Дак вот это и есть же fake-часть Просто чуть иначе прописана у меня, чем это обычно тут делают.
А насчёт полных путей - без разницы по сути, у меня работает как служба и это никак не мешает. Ну и да, насчёт udp вы правы, это точно лишнее тут.
И работает? В ридми сказано, что dpi-desync-split-seqovl
обязательно должен быть меньше, чем dpi-desync-split-pos
.
Тогда что это из вывода blockcheck’a? Зачем он это проверяет?
- checking winws --wf-l3=ipv4 --wf-tcp=443 --dpi-desync=fake,split2 --dpi-desync-fooling=badsum
!!!!! AVAILABLE !!!!!
- checking winws --wf-l3=ipv4 --wf-tcp=443 --dpi-desync=fake,split2 --dpi-desync-fooling=badseq
!!!!! AVAILABLE !!!!!
- checking winws --wf-l3=ipv4 --wf-tcp=443 --dpi-desync=fake,split2 --dpi-desync-fooling=datanoack
!!!!! AVAILABLE !!!!!
- checking winws --wf-l3=ipv4 --wf-tcp=443 --dpi-desync=fake,split2 --dpi-desync-fooling=md5sig
!!!!! AVAILABLE !!!!!
Ну да, отлично работает. И ютуб без тормозов, и всё остальное открывается.
Собственно поправил меня насчёт dpi-desync-split-seqovl
как раз @bolvan
Acindaz абсолютно правильно написал, в инструкции неточность, прошу прощения, пойду исправлять
Обратите внимание, что перед split2 стоит fake