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

Для дискорда трафик делится на веб и voice части, которая реализована не через http/https.
Веб часть должна обходится стандартным образом.
Если чтобы ее обойти якобы нужны какие-то листы, то значит вы идете в неверном направлении.

ВАЖНО : множественные стратегии создавались только для случаев, когда невозможно обьединить имеющиеся стратегии для разных ресурсов. Копирование стратегий из blockcheck для разных сайтов во множество профилей без понимания как они работают приведет к нагромождению параметров, которые все равно не покроют все возможные заблокированные ресурсы. Вы только увязните в этой каше.

для voice части существует custom script

эксперимента для

Какого эксперимента, чтобы выяснить что? Не очень понимаю

это для меня, есть мысль, что не так уж там и много “стратегий”, то что было до августа идет одним списком, то что вместе с гуглвидео другим, а теперь вот еще UDP добавился.

Как мне кажется с гуглвидео уникальная ситуация. Без каких-либо средств обхода все еще можно еле как-то загрузить видео на 144р, с disorder2 можно достичь 1080p но оно регулярно зависает, и наконец с fake он полностью работоспособен. Учитывая что дискорд заблочили после ютуба и он - помимо войса - у меня обходится простым disorder2, я думаю что-то мутят конкретно с ютубом.

Верно, для ютуба действительно есть особые правила.
Там явно прослеживается запрет SNI, кроме гугловских. Видимо это борьба с фейками от гудбая и от слишком умных провайдеров.

Есть 3 факта

  1. У провайдеров РКН клянчил адреса GGC
  2. Провайдеры , пользуясь отсутствием официального запрета ютубе, пытались надуть РКН путем применения обмана DPI, что заставило РКН реагировать. Провайдеры нихрена не достигли, им погрозили пальчиком, а всем остальным обход усложнился из-за действия этих глупых провайдеров.
  3. Не-гугловские фейки работают везде, кроме GGC гуглевидео. См пункт 1

Ну значит я просто везунчик и новые блокировки просто добавляю к гуглвидео и оно работает. Про ограничение скорости тоже не видел, либо не работает вовсе, либо валит на все деньги.

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

Нет так нет.

Сейчас это не реализовано.
Поддерживаются только файлы, которые могут перечитываться по сигналу HUP

Хорошо, спасибо за ответ

Не знаю что случилось, но не работает теперь ни один конфиг… на пк всё также работает любой из этих, на роутере нет… переустановил уже дважды :pensive:

На ютубе Код ошибки: SSL_ERROR_RX_MALFORMED_SERVER_HELLO при открытии через мозилу

Не разбираюсь в роутерах совсем, но мб проблема в том что у NFQWS_OPT_DESYNC не закрыта кавычка?

1 Like

Это я уже заметил, спасибо, но не помогло :frowning:

# this file is included from init scripts
# change values here

# can help in case /tmp has not enough space
#TMPDIR=/opt/zapret/tmp

# redefine user for zapret daemons. required on Keenetic
#WS_USER=nobody

# override firewall type : iptables,nftables,ipfw
FWTYPE=nftables

# options for ipsets
# maximum number of elements in sets. also used for nft sets
SET_MAXELEM=522288
# too low hashsize can cause memory allocation errors on low RAM systems , even if RAM is enough
# too large hashsize will waste lots of RAM
IPSET_OPT="hashsize 262144 maxelem $SET_MAXELEM"
# dynamically generate additional ip. $1 = ipset/nfset/table name
#IPSET_HOOK="/etc/zapret.ipset.hook"

# options for ip2net. "-4" or "-6" auto added by ipset create script
IP2NET_OPT4="--prefix-length=22-30 --v4-threshold=3/4"
IP2NET_OPT6="--prefix-length=56-64 --v6-threshold=5"
# options for auto hostlist
AUTOHOSTLIST_RETRANS_THRESHOLD=3
AUTOHOSTLIST_FAIL_THRESHOLD=3
AUTOHOSTLIST_FAIL_TIME=60
# 1 = debug autohostlist positives to ipset/zapret-hosts-auto-debug.log
AUTOHOSTLIST_DEBUGLOG=0

# number of parallel threads for domain list resolves
MDIG_THREADS=30

# ipset/*.sh can compress large lists
GZIP_LISTS=1
# command to reload ip/host lists after update
# comment or leave empty for auto backend selection : ipset or ipfw if present
# on BSD systems with PF no auto reloading happens. you must provide your own command
# set to "-" to disable reload
#LISTS_RELOAD="pfctl -f /etc/pf.conf"

# override ports
#HTTP_PORTS=80-81,85
#HTTPS_PORTS=443,500-501
#QUIC_PORTS=443,444

# CHOOSE OPERATION MODE
# MODE : nfqws,tpws,tpws-socks,filter,custom
# nfqws : nfqws for dpi desync
# tpws : tpws transparent mode
# tpws-socks : tpws socks mode
# filter : no daemon, just create ipset or download hostlist
# custom : custom mode. should modify custom init script and add your own code
MODE=nfqws
# apply fooling to http
MODE_HTTP=1
# for nfqws only. support http keep alives. enable only if DPI checks for http request in any outgoing packet
MODE_HTTP_KEEPALIVE=1
# apply fooling to https
MODE_HTTPS=1
# apply fooling to quic
MODE_QUIC=1
# none,ipset,hostlist,autohostlist
MODE_FILTER=autohostlist

# CHOOSE NFQWS DAEMON OPTIONS for DPI desync mode. run "nfq/nfqws --help" for option list
# SUFFIX VARS define additional lower priority desync profile. it's required if MODE_FILTER=hostlist and strategy has hostlist-incompatible 0-phase desync methods (syndata,wssize)
DESYNC_MARK=0x40000000
DESYNC_MARK_POSTNAT=0x20000000
NFQWS_OPT_DESYNC="--hostlist=/opt/zapret/zapret_lists/russia-youtubeGV.txt --filter-tcp=443 --dpi-desync=split --dpi-desync-split-pos=1 --dpi-desync-fooling=badseq --dpi-desync-repeats=10 --dpi-desync-autottl --new
--hostlist=/opt/zapret/zapret_lists/russia-youtube.txt --filter-tcp=443 --dpi-desync=fake,split2 --dpi-desync-split-seqovl=2 --dpi-desync-split-pos=3 --dpi-desync-fake-tls=/opt/zapret/files/fake/tls_clienthello_www_google_com.bin --dpi-desync-ttl=autottl --new
--hostlist=/opt/zapret/zapret_lists/russia-blacklist.txt --filter-tcp=80 --dpi-desync=fake,split2 --dpi-desync-fooling=md5sig --dpi-desync-autottl --new
--hostlist=/opt/zapret/zapret_lists/russia-blacklist.txt --filter-tcp=443 --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-skip-nosni=1 --dpi-desync-autottl --new
--dpi-desync=fake,split2 --filter-tcp=443 --dpi-desync=split --dpi-desync-split-pos=1 --dpi-desync-fooling=badseq --dpi-desync-repeats=10 --dpi-desync-autottl"
#NFQWS_OPT_DESYNC_SUFFIX="--dpi-desync=syndata"
#NFQWS_OPT_DESYNC_HTTP=""
#NFQWS_OPT_DESYNC_HTTP_SUFFIX="--dpi-desync=syndata"
#NFQWS_OPT_DESYNC_HTTPS=""
#NFQWS_OPT_DESYNC_HTTPS_SUFFIX="--wssize 1:6"
#NFQWS_OPT_DESYNC_HTTP6=""
#NFQWS_OPT_DESYNC_HTTP6_SUFFIX="--dpi-desync=syndata"
#NFQWS_OPT_DESYNC_HTTPS6=""
#NFQWS_OPT_DESYNC_HTTPS6_SUFFIX="--wssize 1:6"
NFQWS_OPT_DESYNC_QUIC="--dpi-desync=fake --dpi-desync-repeats=10"
#NFQWS_OPT_DESYNC_QUIC_SUFFIX=""
#NFQWS_OPT_DESYNC_QUIC6="--dpi-desync=hopbyhop"
#NFQWS_OPT_DESYNC_QUIC6_SUFFIX=""

# CHOOSE TPWS DAEMON OPTIONS. run "tpws/tpws --help" for option list
# SUFFIX VARS define additional lower priority desync profile. it's required if MODE_FILTER=hostlist and strategy has hostlist-incompatible 0-phase desync methods (mss)
TPWS_OPT="--hostspell=HOST --split-http-req=method --split-pos=3 --oob"
#TPWS_OPT_SUFFIX="--mss 88"

# openwrt only : donttouch,none,software,hardware
FLOWOFFLOAD=donttouch

# openwrt: specify networks to be treated as LAN. default is "lan"
#OPENWRT_LAN="lan lan2 lan3"
# openwrt: specify networks to be treated as WAN. default wans are interfaces with default route
#OPENWRT_WAN4="wan vpn"
#OPENWRT_WAN6="wan6 vpn6"

# for routers based on desktop linux and macos. has no effect in openwrt.
# CHOOSE LAN and optinally WAN/WAN6 NETWORK INTERFACES
# or leave them commented if its not router
# it's possible to specify multiple interfaces like this : IFACE_LAN="eth0 eth1 eth2"
# if IFACE_WAN6 is not defined it take the value of IFACE_WAN
#IFACE_LAN=eth0
#IFACE_WAN=eth1
#IFACE_WAN6="ipsec0 wireguard0 he_net"

# should start/stop command of init scripts apply firewall rules ?
# not applicable to openwrt with firewall3+iptables
INIT_APPLY_FW=1
# firewall apply hooks
#INIT_FW_PRE_UP_HOOK="/etc/firewall.zapret.hook.pre_up"
#INIT_FW_POST_UP_HOOK="/etc/firewall.zapret.hook.post_up"
#INIT_FW_PRE_DOWN_HOOK="/etc/firewall.zapret.hook.pre_down"
#INIT_FW_POST_DOWN_HOOK="/etc/firewall.zapret.hook.post_down"

# do not work with ipv4
#DISABLE_IPV4=1
# do not work with ipv6
DISABLE_IPV6=0

# select which init script will be used to get ip or host list
# possible values : get_user.sh get_antizapret.sh get_combined.sh get_reestr.sh get_hostlist.sh
# comment if not required
#GETLIST=

Почему так?

Как-то там все не очень хорошо с этим родительским контролем, я изучал вопрос уже:

Гугл - очень душный однозначно нет!
Встроенный в андроид - возможно, но очень жидкий функционал по сути ограничение времени работы приложений и блокировка запуска приложений хорошо но недостаточно
Сторонние приложения - однозначно нет, все они платные и крайне низкого качества…

Может как-то можно изготовить параметр для тестирования чего-то там --drop-all например
Можно даже в документацию ничего не писать

я даже готов оказать посильную финансовую помощь
javoroleg@yandex.ru
Спасибо.

Потому что начинать надо с наименее инвазивных техник.
Можно чуток кожу надрезать. Можно отрезать палец. потом руку. Потом голову.
Если можно мелким разрезом вылечить, зачем сразу секир бошка ?
Чем сильнее порежешь, тем скорее пациент где-нибудь споткнется или умрет.
А потом будете писать крокодила с 20 профилями и листами и потом обсуждать здесь что не работает на 200 постов.

Если надо лишь управлять проксированием в зависимости от домена, то уже давно существует универсальное готовое решение. xray. Велик изобретать смысла нет. Составить список разрешенных, которые запустить на свободный выход. Остальные в унитаз
xray можно даже запустить в режиме прозрачного прокси

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

Я думаю можно просто флаги вытащить из батников и к себе применить ради теста…ну и листы посмотреть вдруг у себя какой то сайт пропустили. Вирус-то так не словить, а сама репа наверное для удобства. (Ну чтобы простой человек нажал 1 кнопку и все и не думал о том какие где параметры применяются).