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

если сделаем, будет и 32 битная тоже в релизе.
но zapert-winws будет выкинут.
в релизе только бинарии останутся.
zapret-winws пойдет в bundle

А где бы теперь взять всю историю?
Лично я пытался проследить, когда и как wsize стал устаревшим, но это вообще вещь полезная. А склонить до сегодняшних изменений не догадался.

В форкнутых репо история сохранилась.

–wsize до сих пор работает. И в некоторых случаях он нужен.
Чтобы победить провайдера, пытающегося обходить DPI для своих клиентов, и ломающего работу zapret. Например.
Но для сплита tcp он больше не нужен. Его заменил split2, который имеет гораздо меньше побочных эффектов.
split2 был сделан много лет назад. Даже старая репа вряд ли сохранила те изменения, потому что я ее сносил не раз полностью

Немного накосячили в предыдущем поэтому блеклист не работал кроме ютуба,
Вот так всё работает как в оригинале за исключением автохостлиста который был в конце и не нужен как по мне из-за наличия блеклиста. Если всё равно будут сайты отваливаться, то autottl надо на фиксированный поменять.

Спойлер

NFQWS_ENABLE=1
NFQWS_PORTS_TCP=80,443
NFQWS_PORTS_UDP=443,50000-50090
NFQWS_TCP_PKT_OUT=9
NFQWS_TCP_PKT_IN=3
NFQWS_UDP_PKT_OUT=9
NFQWS_UDP_PKT_IN=0
NFQWS_OPT="
–filter-tcp=80 --hostlist=/opt/zapret-lists/netrogat.txt --new
–filter-tcp=443 --hostlist=/opt/zapret-lists/netrogat.txt --new
–filter-udp=443 --hostlist=/opt/zapret-lists/russia-youtubeQ.txt --dpi-desync=fake --dpi-desync-repeats=2 --dpi-desync-cutoff=n2 --dpi-desync-fake-quic=/opt/zapret/files/fake/quic_pl_by_ori.bin --new
–filter-tcp=443 --hostlist=/opt/zapret-lists/russia-youtubeGV.txt --dpi-desync=split --dpi-desync-split-pos=1 --dpi-desync-fooling=badseq --dpi-desync-repeats=10 --dpi-desync-autottl --new
–filter-tcp=443 --hostlist=/opt/zapret-lists/russia-youtube.txt --dpi-desync=fake,split2 --dpi-desync-split-seqovl=2 --dpi-desync-split-pos=2 --dpi-desync-fake-tls=/opt/zapret/files/fake/tls_clienthello_www_google_com.bin --dpi-desync-autottl --new
–filter-tcp=80 --hostlist=/opt/zapret-lists/russia-blacklist.txt --dpi-desync=fake,split2 --dpi-desync-fooling=md5sig --dpi-desync-autottl --new
–filter-tcp=443 --hostlist=/opt/zapret-lists/russia-blacklist.txt --hostlist=/opt/zapret-lists/myhostlist.txt --dpi-desync=fake,split2 --dpi-desync-split-seqovl=1 --dpi-desync-split-tls=sniext --dpi-desync-fake-tls=/opt/zapret/files/fake/tls_clienthello_www_google_com.bin --dpi-desync-autottl --new
–filter-udp=443 --hostlist=/opt/zapret-lists/russia-discord.txt --dpi-desync=fake --dpi-desync-udplen-increment=10 --dpi-desync-repeats=7 --dpi-desync-udplen-pattern=0xDEADBEEF --dpi-desync-fake-quic=/opt/zapret/files/fake/quic_pl_by_ori.bin --dpi-desync-cutoff=n2 --new
–filter-udp=50000-50090 --dpi-desync=fake --dpi-desync-any-protocol --dpi-desync-cutoff=d2 --dpi-desync-fake-quic=/opt/zapret/files/fake/quic_pl_by_ori.bin --new
–filter-tcp=443 --hostlist=/opt/zapret-lists/russia-discord.txt --dpi-desync=split --dpi-desync-split-pos=1 --dpi-desync-fooling=badseq --dpi-desync-repeats=10 --dpi-desync-autottl --new"

У меня, почему то, все с точностью “до наоборот”. Вот так ЮТ еще,кое как , но работает :
–filter-tcp=443
–dpi-desync=split
–dpi-desync-fooling=badseq
–wssize 1:6

А так :
–filter-tcp=443
–dpi-desync=split2
–dpi-desync-fooling=badseq
уже нет. Провайдер пытается обходить DPI ?

А возможно собирать winws только в mingw? Или в msys2/ucrt64?

offtopic

Сегодня YT на угмк прове внезапно начал отдавать новые домены для московских ggc, которые пусть по tcp (h3 так и не робит), но обходятся запретом, в отличие от предыдущих. Что-то поменялось на магистральном. Дышать стало свободнее. :sweat_smile:

Всем привет. Может кто пожалуйста поделится конфигом запрета под SkyNet (СПБ)? Видел где-то здесь выше кому-то скидывали в ЛС. Просто уже перепробовал всё что в своих силах, ютуб работает, но с косяками: иногда первая загрузка долгая, на телефоне всё еще хуже бывает, что шорсты могут по секунд 10-20 грузится. Свежие видео вообще с трудом большим грузятся.

Нет. Он сильно зависит от unix обертки. mdig и ip2net не зависят.
cygwin и был выбран, чтобы не переписывать дофига кода. К тому же там blockcheck , и он точно не будет работать без unix обертки.

Тестировалось только на тарифе с внешним IP и ipv6 на роутере, а не за ним.
Для последней версии zapret из репы.
Телики не тестировались.

Спойлер
NFQWS_ENABLE=1
# redirect outgoing traffic with connbytes limiter applied in both directions.
NFQWS_PORTS_TCP=80,443
NFQWS_PORTS_UDP=443
# PKT_OUT means connbytes dir original
# PKT_IN means connbytes dir reply
# this is --dpi-desync-cutoff=nX kernel mode implementation for linux. it saves a lot of CPU.
NFQWS_TCP_PKT_OUT=9
NFQWS_TCP_PKT_IN=3
NFQWS_UDP_PKT_OUT=9
NFQWS_UDP_PKT_IN=0
# redirect outgoing traffic without connbytes limiter and incoming with connbytes limiter
# normally it's needed only for stateless DPI that matches every packet in a single TCP session
# typical example are plain HTTP keep alives
# this mode can be very CPU consuming. enable with care !
#NFQWS_PORTS_TCP_KEEPALIVE=
#NFQWS_PORTS_UDP_KEEPALIVE=
# use <HOSTLIST> and <HOSTLIST_NOAUTO> placeholders to engage standard hostlists and autohostlist in ipset dir
# hostlist markers are replaced to empty string if MODE_FILTER does not satisfy
# <HOSTLIST_NOAUTO> appends ipset/zapret-hosts-auto.txt as normal list
NFQWS_OPT="--filter-udp=443 --hostlist=/opt/zapret-lists/list-youtube.txt --dpi-desync=fake --dpi-desync-repeats=3 --dpi-desync-fake-quic=/opt/zapret/files/fake/quic_initial_www_google_com.bin --new --filter-udp=443 --dpi-desync=fake --dpi-desync-repeats=3 <HOSTLIST_NOAUTO> --new --hostlist=/opt/zapret-lists/list-youtube.txt --dpi-desync=fake,split2 --dpi-desync-repeats=8 --dpi-desync-fooling=datanoack --dpi-desync-fake-tls=/opt/zapret/files/fake/tls_clienthello_www_google_com.bin --new --dpi-desync=fake,split2 --dpi-desync-fooling=datanoack <HOSTLIST>"
cat /opt/zapret-lists/list-youtube.txt 
googlevideo.com
youtubei.googleapis.com
ytimg.com
youtube.com

wssize и wsize - вещи совершенно разные.
Первый заставляет сервер сплитать запросы , второй - клиент.
wssize так любят, потому что ТСПУ сечет ответы сервера TLS 1.2 и высекает из них сертификат с именем домена. Но часто без него можно обойтись, ограничившись fake. В этом случае ТСПУ может отстать от запроса и не проверять ответ сервера.
fake для youtube должен быть специальный, содержащий неблокируемые домены гугла. Иногда требуется несколько повторов (–dpi-desync-repeats"

у тебя только udp дурится?

Там длинная строка без переносов.
Инсталятор ее засовывает в 1 строку. При редактировании разбивает по --new

это я вижу
у тебя там только --filter-udp=443 (причём 2 раза) без tcp
ну и настройки после 2го udp применяются тисипишные

Для информации, может будет полезно. Роутер Keenetic Extra (KN-1711) + Entware, заработало с помощью данного конфига, youtube на компах \ смартфонах работает (просто летает), на теликах (LG и Samsung) нет. Провайдер МТС, Казань.
P.S. проверка curl’ом:

curl --connect-to ::speedtest.selectel.ru https://manifest.googlevideo.com/100MB -k -o nul
curl --connect-to ::speedtest.selectel.ru https://rr3---sn-hgn7yn7e.googlevideo.com/100MB -k -o nul

так и не работает, т.е. не показывает активность … тем не менее youtube работает.

Да. Первые 2 профиля принимают на себя весь udp 443, а другого и не перехватывается.
Остальное без фильтра по l4, но туда ничего, кроме tcp , и не может придти

Этот конфиг спрашивали для skynet СПБ. Конфиг не является таблеткой для всех случаев жизни

Не конфликтует ли с “–dpi-desync-repeats=10”?

то есть если фильтр не указан это l4 (хз что за эль4:D) в общем если фильтр не указан, идёт применение к tcp?

никак не связано