mirror of
https://github.com/bol-van/zapret.git
synced 2024-12-02 22:50:53 +03:00
Compare commits
No commits in common. "1fbc26b77b89762fb415b85a0e0142a1dd9de9e8" and "03d51a3ccc8ffb40cdf934a7d14dd48c4db9c48f" have entirely different histories.
1fbc26b77b
...
03d51a3ccc
@ -500,7 +500,6 @@ write_config_var()
|
|||||||
fi
|
fi
|
||||||
else
|
else
|
||||||
# var does not exist in config. add it
|
# var does not exist in config. add it
|
||||||
contains "$M" " " && M="\"$M\""
|
|
||||||
if [ -n "$M" ]; then
|
if [ -n "$M" ]; then
|
||||||
echo "$1=$M" >>"$ZAPRET_CONFIG"
|
echo "$1=$M" >>"$ZAPRET_CONFIG"
|
||||||
else
|
else
|
||||||
|
@ -84,9 +84,7 @@ NFQWS_OPT_DESYNC_QUIC="--dpi-desync=fake --dpi-desync-repeats=6"
|
|||||||
#NFQWS_OPT_DESYNC_QUIC6_SUFFIX=""
|
#NFQWS_OPT_DESYNC_QUIC6_SUFFIX=""
|
||||||
|
|
||||||
# CHOOSE TPWS DAEMON OPTIONS. run "tpws/tpws --help" for option list
|
# 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="--hostspell=HOST --split-http-req=method --split-pos=3 --oob"
|
||||||
#TPWS_OPT_SUFFIX="--mss 88"
|
|
||||||
|
|
||||||
# openwrt only : donttouch,none,software,hardware
|
# openwrt only : donttouch,none,software,hardware
|
||||||
FLOWOFFLOAD=donttouch
|
FLOWOFFLOAD=donttouch
|
||||||
|
@ -313,7 +313,3 @@ v62:
|
|||||||
|
|
||||||
tpws: connection close logic rewrite. tcp user timeout parameters for local and remote leg.
|
tpws: connection close logic rewrite. tcp user timeout parameters for local and remote leg.
|
||||||
nfqws: multi-strategy
|
nfqws: multi-strategy
|
||||||
|
|
||||||
v63:
|
|
||||||
|
|
||||||
tpws: multi-strategy
|
|
||||||
|
@ -97,6 +97,7 @@ blockcheck не всегда может выдать вам в итогах оп
|
|||||||
--dpi-desync-fooling, чтобы не сломать сайты на более коротких дистанциях.
|
--dpi-desync-fooling, чтобы не сломать сайты на более коротких дистанциях.
|
||||||
md5sig наиболее совместим, но работает только на linux серверах.
|
md5sig наиболее совместим, но работает только на linux серверах.
|
||||||
badseq может работать только на https и не работать на http.
|
badseq может работать только на https и не работать на http.
|
||||||
|
badsum и вовсе перестал работать на многих провайдерах с некоторых пор, видимо включили проверку чексумм на DPI.
|
||||||
Чтобы выяснить какие дополнительные ограничители работают, смотрите результат теста аналогичных стратегий без TTL
|
Чтобы выяснить какие дополнительные ограничители работают, смотрите результат теста аналогичных стратегий без TTL
|
||||||
с каждым из этих ограничителей.
|
с каждым из этих ограничителей.
|
||||||
|
|
||||||
@ -104,11 +105,6 @@ badseq может работать только на https и не работа
|
|||||||
может на одних провайдерах работать стабильно, на других потребуется выяснить при каких параметрах
|
может на одних провайдерах работать стабильно, на других потребуется выяснить при каких параметрах
|
||||||
она стабильна, на третьих полный хаос, и проще отказаться.
|
она стабильна, на третьих полный хаос, и проще отказаться.
|
||||||
|
|
||||||
Если используются методы нулевой фазы десинхронизации (--mss, --wssize, --syndata) и режим фильтрации hostlist,
|
|
||||||
то все параметры, относящиеся к этим методам, следует помещать не в основные параметры (например, NFQWS_OPT_DESYNC),
|
|
||||||
а в suffix (NFQWS_OPT_DESYNC_SUFFIX). Чтобы не ошибиться, можно их продублировать и там, и там.
|
|
||||||
Иначе они могут не работать.
|
|
||||||
|
|
||||||
8) Запустите install_easy.sh.
|
8) Запустите install_easy.sh.
|
||||||
Выберите nfqws или tpws, затем согласитесь на редактирование параметров.
|
Выберите nfqws или tpws, затем согласитесь на редактирование параметров.
|
||||||
Откроется редактор, куда впишите найденные стратегии.
|
Откроется редактор, куда впишите найденные стратегии.
|
||||||
|
@ -87,11 +87,6 @@ badseq может работать только на https и не работа
|
|||||||
может на одних провайдерах работать стабильно, на других потребуется выяснить при каких параметрах
|
может на одних провайдерах работать стабильно, на других потребуется выяснить при каких параметрах
|
||||||
она стабильна, на третьих полный хаос, и проще отказаться.
|
она стабильна, на третьих полный хаос, и проще отказаться.
|
||||||
|
|
||||||
Если используются методы нулевой фазы десинхронизации (--wssize, --syndata) и фильтр hostlist,
|
|
||||||
то все параметры, относящиеся к этим методам, следует помещать в следующий профиль без хостлиста,
|
|
||||||
к которому перейдет управление, когда имя хоста еще неизвестно.
|
|
||||||
Используйте параметр --debug для отладки вашего сценария.
|
|
||||||
|
|
||||||
7) Протестируйте найденные стратегии на winws. winws следует брать из zapret-winws.
|
7) Протестируйте найденные стратегии на winws. winws следует брать из zapret-winws.
|
||||||
Для этого откройте командную строку windows от имени администратора в директории zapret-winws.
|
Для этого откройте командную строку windows от имени администратора в директории zapret-winws.
|
||||||
Проще всего это сделать через _CMD_ADMIN.cmd. Он сам поднимет права и зайдет в нужную директорию.
|
Проще всего это сделать через _CMD_ADMIN.cmd. Он сам поднимет права и зайдет в нужную директорию.
|
||||||
|
@ -633,10 +633,6 @@ tpws is transparent proxy.
|
|||||||
; its worth to make a reserve with 1.5 multiplier. by default maxfiles is (X*connections)*1.5+16
|
; its worth to make a reserve with 1.5 multiplier. by default maxfiles is (X*connections)*1.5+16
|
||||||
--max-orphan-time=<sec> ; if local leg sends something and closes and remote leg is still connecting then cancel connection attempt after N seconds
|
--max-orphan-time=<sec> ; if local leg sends something and closes and remote leg is still connecting then cancel connection attempt after N seconds
|
||||||
|
|
||||||
--new ; begin new strategy
|
|
||||||
--filter-l3=ipv4|ipv6 ; L3 protocol filter. multiple comma separated values allowed.
|
|
||||||
--filter-tcp=[~]port1[-port2] ; TCP port filter. ~ means negation
|
|
||||||
|
|
||||||
--hostlist=<filename> ; only act on hosts in the list (one host per line, subdomains auto apply, gzip supported, multiple hostlists allowed)
|
--hostlist=<filename> ; only act on hosts in the list (one host per line, subdomains auto apply, gzip supported, multiple hostlists allowed)
|
||||||
--hostlist-exclude=<filename> ; do not act on hosts in the list (one host per line, subdomains auto apply, gzip supported, multiple hostlists allowed)
|
--hostlist-exclude=<filename> ; do not act on hosts in the list (one host per line, subdomains auto apply, gzip supported, multiple hostlists allowed)
|
||||||
--hostlist-auto=<filename> ; detect DPI blocks and build hostlist automatically
|
--hostlist-auto=<filename> ; detect DPI blocks and build hostlist automatically
|
||||||
@ -741,17 +737,11 @@ Server replies with it's own MSS in SYN,ACK packet. Usually servers lower their
|
|||||||
fit to supplied MSS. The greater MSS client sets the bigger server's packets will be.
|
fit to supplied MSS. The greater MSS client sets the bigger server's packets will be.
|
||||||
If it's enough to split TLS 1.2 ServerHello, it may fool DPI that checks certificate domain name.
|
If it's enough to split TLS 1.2 ServerHello, it may fool DPI that checks certificate domain name.
|
||||||
This scheme may significantly lower speed. Hostlist filter is possible only in socks mode if client uses remote resolving (firefox `network.proxy.socks_remote_dns`).
|
This scheme may significantly lower speed. Hostlist filter is possible only in socks mode if client uses remote resolving (firefox `network.proxy.socks_remote_dns`).
|
||||||
`--mss` is not required for TLS1.3. If TLS1.3 is negotiable then MSS make things only worse.
|
TLS version filters are not possible.
|
||||||
|
`--mss-pf` sets port filter for MSS. Use `mss-pf=443` to apply MSS only for https.
|
||||||
|
Likely not required for TLS1.3. If TLS1.3 is negotiable then MSS make things only worse.
|
||||||
Use only if nothing better is available. Works only in Linux, not BSD or MacOS.
|
Use only if nothing better is available. Works only in Linux, not BSD or MacOS.
|
||||||
|
|
||||||
### multiple strategies
|
|
||||||
|
|
||||||
`tpws` supports multiple strategies as well. They work mostly like with `nfqws` with minimal differences.
|
|
||||||
`filter-udp` is absent because `tpws` does not support udp. 0-phase desync methods (`--mss`) can work with hostlist in socks modes with remote hostname resolve.
|
|
||||||
This is the point where you have to plan profiles carefully. If you use `--mss` and hostlist filters, behaviour can be different depending on remote resolve feature enabled or not.
|
|
||||||
Use `--mss` both in hostlist profile and profile without hostlist.
|
|
||||||
Use `curl --socks5` and `curl --socks5-hostname` to issue two kinds of proxy queries.
|
|
||||||
See `--debug` output to test your setup.
|
|
||||||
|
|
||||||
## Ways to get a list of blocked IP
|
## Ways to get a list of blocked IP
|
||||||
|
|
||||||
@ -949,12 +939,6 @@ Its possible to change manipulation options used by tpws :
|
|||||||
|
|
||||||
`TPWS_OPT="--hostspell=HOST --split-http-req=method --split-pos=3"`
|
`TPWS_OPT="--hostspell=HOST --split-http-req=method --split-pos=3"`
|
||||||
|
|
||||||
Additional low priority desync profile for `MODE_FILTER=hostlist`.
|
|
||||||
With multiple profile support 0-phase desync methods are no more applied with hostlist !
|
|
||||||
To apply them additional profile is required without hostlist filter.
|
|
||||||
|
|
||||||
`TPWS_OPT_SUFFIX="--mss=88"`
|
|
||||||
|
|
||||||
nfqws options for DPI desync attack:
|
nfqws options for DPI desync attack:
|
||||||
|
|
||||||
```
|
```
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
zapret v.63
|
zapret v.62
|
||||||
|
|
||||||
English
|
English
|
||||||
-------
|
-------
|
||||||
@ -774,9 +774,6 @@ tpws - это transparent proxy.
|
|||||||
--hostlist-auto-fail-threshold=<int> ; сколько раз нужно обнаружить ситуацию, похожую на блокировку, чтобы добавить хост в лист (по умолчанию: 3)
|
--hostlist-auto-fail-threshold=<int> ; сколько раз нужно обнаружить ситуацию, похожую на блокировку, чтобы добавить хост в лист (по умолчанию: 3)
|
||||||
--hostlist-auto-fail-time=<int> ; все эти ситуации должны быть в пределах указанного количества секунд (по умолчанию: 60)
|
--hostlist-auto-fail-time=<int> ; все эти ситуации должны быть в пределах указанного количества секунд (по умолчанию: 60)
|
||||||
--hostlist-auto-debug=<logfile> ; лог положительных решений по autohostlist. позволяет разобраться почему там появляются хосты.
|
--hostlist-auto-debug=<logfile> ; лог положительных решений по autohostlist. позволяет разобраться почему там появляются хосты.
|
||||||
--new ; начало новой стратегии
|
|
||||||
--filter-l3=ipv4|ipv6 ; фильтр версии ip для текущей стратегии
|
|
||||||
--filter-tcp=[~]port1[-port2] ; фильтр портов tcp для текущей стратегии. ~ означает инверсию.
|
|
||||||
|
|
||||||
|
|
||||||
--debug позволяет выводить подробный лог действий на консоль, в syslog или в файл.
|
--debug позволяет выводить подробный лог действий на консоль, в syslog или в файл.
|
||||||
@ -906,12 +903,13 @@ tpws поддерживает эту возможность асинхронно
|
|||||||
С фильтром по hostlist совместимо только в режиме socks при включенном удаленном ресолвинге хостов.
|
С фильтром по hostlist совместимо только в режиме socks при включенном удаленном ресолвинге хостов.
|
||||||
(firefox network.proxy.socks_remote_dns). Это единственный вариант, когда tpws может узнать имя хоста
|
(firefox network.proxy.socks_remote_dns). Это единственный вариант, когда tpws может узнать имя хоста
|
||||||
еще на этапе установления соединения.
|
еще на этапе установления соединения.
|
||||||
|
Невозможен фильтр по версии TLS.
|
||||||
|
Взамен имеется фильтр по портам --mss-pf. --mss-pf=443 применяет дурение только к https.
|
||||||
Применяя данную опцию к сайтам TLS1.3, если броузер тоже поддерживает TLS1.3, то вы делаете только хуже.
|
Применяя данную опцию к сайтам TLS1.3, если броузер тоже поддерживает TLS1.3, то вы делаете только хуже.
|
||||||
Но нет способа автоматически узнать когда надо применять, когда нет, поскольку MSS идет только в
|
Но нет способа автоматически узнать когда надо применять, когда нет, поскольку MSS идет только в
|
||||||
3-way handshake еще до обмена данными, а версию TLS можно узнать только по ответу сервера, который
|
3-way handshake еще до обмена данными, а версию TLS можно узнать только по ответу сервера, который
|
||||||
может привести к реакции DPI.
|
может привести к реакции DPI.
|
||||||
Использовать только когда нет ничего лучше или для отдельных ресурсов.
|
Использовать только когда нет ничего лучше или для отдельных ресурсов.
|
||||||
Для http использовать смысла нет, поэтому заводите отдельный desync profile с фильтром по порту 443.
|
|
||||||
Работает только на linux, не работает на BSD и MacOS.
|
Работает только на linux, не работает на BSD и MacOS.
|
||||||
|
|
||||||
--skip-nodelay может быть полезен, чтобы привести MTU к MTU системы, на которой работает tpws.
|
--skip-nodelay может быть полезен, чтобы привести MTU к MTU системы, на которой работает tpws.
|
||||||
@ -926,20 +924,6 @@ TCP_USER_TIMEOUT. Под таймаутом подразумевается вр
|
|||||||
что данных для передачи нет. Полезно для сокращения время закрытия подвисших соединений.
|
что данных для передачи нет. Полезно для сокращения время закрытия подвисших соединений.
|
||||||
Поддерживается только на Linux и MacOS.
|
Поддерживается только на Linux и MacOS.
|
||||||
|
|
||||||
МНОЖЕСТВЕННЫЕ СТРАТЕГИИ
|
|
||||||
Работают аналогично nfqws, кроме некоторых моментов.
|
|
||||||
Нет параметра --filter-udp, поскольку tpws udp не поддерживает.
|
|
||||||
Методы нулевой фазы (--mss) могут работать по хостлисту в одном единственном случае :
|
|
||||||
если используется режим socks и удаленный ресолвинг хостов через прокси.
|
|
||||||
То есть работоспособность вашей настройки в одном и том же режиме может зависеть от того,
|
|
||||||
применяет ли клиент удаленный ресолвинг. Это может быть неочевидно.
|
|
||||||
В одной программе работает, в другой - нет.
|
|
||||||
Если вы используете профиль с хостлистом , и вам нужен mss, укажите mss в профиле с хостлистом,
|
|
||||||
создайте еще один профиль без хостлиста, если его еще нет, и в нем еще раз укажите mss.
|
|
||||||
Тогда при любом раскладе будет выполняться mss.
|
|
||||||
Используйте `curl --socks5` и `curl --socks5-hostname` для проверки вашей стратегии.
|
|
||||||
Смотрите вывод --debug, чтобы убедиться в правильности настроек.
|
|
||||||
|
|
||||||
Способы получения списка заблокированных IP
|
Способы получения списка заблокированных IP
|
||||||
-------------------------------------------
|
-------------------------------------------
|
||||||
|
|
||||||
@ -1385,12 +1369,6 @@ MODE_FILTER=none
|
|||||||
|
|
||||||
TPWS_OPT="--hostspell=HOST --split-http-req=method --split-pos=3"
|
TPWS_OPT="--hostspell=HOST --split-http-req=method --split-pos=3"
|
||||||
|
|
||||||
Дополнительный низкоприоритетный профиль десинхронизации для режимов с MODE_FILTER=hostlist.
|
|
||||||
После реализации поддержки множественных профилей режимы нулевой фазы десинхронизации больше не применяются с хостлистом !
|
|
||||||
Для их применения требуется дополнительный профиль без хостлист фильтра.
|
|
||||||
|
|
||||||
#TPWS_OPT_SUFFIX="--mss 88"
|
|
||||||
|
|
||||||
Опции nfqws для атаки десинхронизации DPI :
|
Опции nfqws для атаки десинхронизации DPI :
|
||||||
|
|
||||||
DESYNC_MARK=0x40000000
|
DESYNC_MARK=0x40000000
|
||||||
|
BIN
files/fake/quic_initial_google_com.bin
Normal file
BIN
files/fake/quic_initial_google_com.bin
Normal file
Binary file not shown.
@ -6,10 +6,9 @@ zapret_custom_daemons()
|
|||||||
{
|
{
|
||||||
# $1 - 1 - run, 0 - stop
|
# $1 - 1 - run, 0 - stop
|
||||||
local opt="--user=root --port=$TPPORT_MY"
|
local opt="--user=root --port=$TPPORT_MY"
|
||||||
|
filter_apply_hostlist_target opt
|
||||||
tpws_apply_binds opt
|
tpws_apply_binds opt
|
||||||
opt="$opt $TPWS_OPT"
|
opt="$opt $TPWS_OPT"
|
||||||
filter_apply_hostlist_target opt
|
|
||||||
filter_apply_suffix opt "$TPWS_OPT_SUFFIX"
|
|
||||||
do_daemon $1 1 "$TPWS" "$opt"
|
do_daemon $1 1 "$TPWS" "$opt"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -163,10 +163,9 @@ zapret_do_daemons()
|
|||||||
}
|
}
|
||||||
# MacOS requires root. kernel hardcoded requirement for /dev/pf ioctls
|
# MacOS requires root. kernel hardcoded requirement for /dev/pf ioctls
|
||||||
opt="--user=root --port=$TPPORT"
|
opt="--user=root --port=$TPPORT"
|
||||||
|
filter_apply_hostlist_target opt
|
||||||
tpws_apply_binds opt
|
tpws_apply_binds opt
|
||||||
opt="$opt $TPWS_OPT"
|
opt="$opt $TPWS_OPT"
|
||||||
filter_apply_hostlist_target opt
|
|
||||||
filter_apply_suffix opt "$TPWS_OPT_SUFFIX"
|
|
||||||
do_daemon $1 1 "$TPWS" "$opt"
|
do_daemon $1 1 "$TPWS" "$opt"
|
||||||
;;
|
;;
|
||||||
tpws-socks)
|
tpws-socks)
|
||||||
@ -176,9 +175,8 @@ zapret_do_daemons()
|
|||||||
}
|
}
|
||||||
opt="--socks --user=$WS_USER --port=$TPPORT"
|
opt="--socks --user=$WS_USER --port=$TPPORT"
|
||||||
tpws_apply_socks_binds opt
|
tpws_apply_socks_binds opt
|
||||||
opt="$opt $TPWS_OPT"
|
|
||||||
filter_apply_hostlist_target opt
|
filter_apply_hostlist_target opt
|
||||||
filter_apply_suffix opt "$TPWS_OPT_SUFFIX"
|
opt="$opt $TPWS_OPT"
|
||||||
do_daemon $1 1 "$TPWS" "$opt"
|
do_daemon $1 1 "$TPWS" "$opt"
|
||||||
;;
|
;;
|
||||||
filter)
|
filter)
|
||||||
|
@ -10,7 +10,6 @@ zapret_custom_daemons()
|
|||||||
[ "$MODE_HTTP" = "1" ] && {
|
[ "$MODE_HTTP" = "1" ] && {
|
||||||
opt="--port=$TPPORT $TPWS_OPT"
|
opt="--port=$TPPORT $TPWS_OPT"
|
||||||
filter_apply_hostlist_target opt
|
filter_apply_hostlist_target opt
|
||||||
filter_apply_suffix opt "$TPWS_OPT_SUFFIX"
|
|
||||||
run_tpws 1 "$opt"
|
run_tpws 1 "$opt"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -122,13 +122,11 @@ start_daemons_procd()
|
|||||||
tpws)
|
tpws)
|
||||||
opt="--port=$TPPORT $TPWS_OPT"
|
opt="--port=$TPPORT $TPWS_OPT"
|
||||||
filter_apply_hostlist_target opt
|
filter_apply_hostlist_target opt
|
||||||
filter_apply_suffix opt "$TPWS_OPT_SUFFIX"
|
|
||||||
run_tpws 1 "$opt"
|
run_tpws 1 "$opt"
|
||||||
;;
|
;;
|
||||||
tpws-socks)
|
tpws-socks)
|
||||||
opt="--port=$TPPORT $TPWS_OPT"
|
opt="--port=$TPPORT $TPWS_OPT"
|
||||||
filter_apply_hostlist_target opt
|
filter_apply_hostlist_target opt
|
||||||
filter_apply_suffix opt "$TPWS_OPT_SUFFIX"
|
|
||||||
run_tpws_socks 1 "$opt"
|
run_tpws_socks 1 "$opt"
|
||||||
;;
|
;;
|
||||||
nfqws)
|
nfqws)
|
||||||
|
@ -10,7 +10,6 @@ zapret_custom_daemons()
|
|||||||
[ "$MODE_HTTP" = "1" ] && {
|
[ "$MODE_HTTP" = "1" ] && {
|
||||||
opt="--port=$TPPORT $TPWS_OPT"
|
opt="--port=$TPPORT $TPWS_OPT"
|
||||||
filter_apply_hostlist_target opt
|
filter_apply_hostlist_target opt
|
||||||
filter_apply_suffix opt "$TPWS_OPT_SUFFIX"
|
|
||||||
do_tpws $1 1 "$opt"
|
do_tpws $1 1 "$opt"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -291,13 +291,11 @@ zapret_do_daemons()
|
|||||||
tpws)
|
tpws)
|
||||||
opt="--port=$TPPORT $TPWS_OPT"
|
opt="--port=$TPPORT $TPWS_OPT"
|
||||||
filter_apply_hostlist_target opt
|
filter_apply_hostlist_target opt
|
||||||
filter_apply_suffix opt "$TPWS_OPT_SUFFIX"
|
|
||||||
do_tpws $1 1 "$opt"
|
do_tpws $1 1 "$opt"
|
||||||
;;
|
;;
|
||||||
tpws-socks)
|
tpws-socks)
|
||||||
opt="--port=$TPPORT $TPWS_OPT"
|
opt="--port=$TPPORT $TPWS_OPT"
|
||||||
filter_apply_hostlist_target opt
|
filter_apply_hostlist_target opt
|
||||||
filter_apply_suffix opt "$TPWS_OPT_SUFFIX"
|
|
||||||
do_tpws_socks $1 1 "$opt"
|
do_tpws_socks $1 1 "$opt"
|
||||||
;;
|
;;
|
||||||
nfqws)
|
nfqws)
|
||||||
|
@ -111,8 +111,8 @@ select_mode_mode()
|
|||||||
ask_list MODE "$MODES" tpws && write_config_var MODE
|
ask_list MODE "$MODES" tpws && write_config_var MODE
|
||||||
|
|
||||||
case $MODE in
|
case $MODE in
|
||||||
tpws|tpws-socks)
|
tpws)
|
||||||
vars="TPWS_OPT TPWS_OPT_SUFFIX"
|
vars="TPWS_OPT"
|
||||||
;;
|
;;
|
||||||
nfqws)
|
nfqws)
|
||||||
vars="NFQWS_OPT_DESYNC NFQWS_OPT_DESYNC_SUFFIX NFQWS_OPT_DESYNC_HTTP NFQWS_OPT_DESYNC_HTTP_SUFFIX NFQWS_OPT_DESYNC_HTTPS NFQWS_OPT_DESYNC_HTTPS_SUFFIX NFQWS_OPT_DESYNC_HTTP6 NFQWS_OPT_DESYNC_HTTP6_SUFFIX NFQWS_OPT_DESYNC_HTTPS6 NFQWS_OPT_DESYNC_HTTPS6_SUFFIX NFQWS_OPT_DESYNC_QUIC NFQWS_OPT_DESYNC_QUIC_SUFFIX NFQWS_OPT_DESYNC_QUIC6 NFQWS_OPT_DESYNC_QUIC6_SUFFIX"
|
vars="NFQWS_OPT_DESYNC NFQWS_OPT_DESYNC_SUFFIX NFQWS_OPT_DESYNC_HTTP NFQWS_OPT_DESYNC_HTTP_SUFFIX NFQWS_OPT_DESYNC_HTTPS NFQWS_OPT_DESYNC_HTTPS_SUFFIX NFQWS_OPT_DESYNC_HTTP6 NFQWS_OPT_DESYNC_HTTP6_SUFFIX NFQWS_OPT_DESYNC_HTTPS6 NFQWS_OPT_DESYNC_HTTPS6_SUFFIX NFQWS_OPT_DESYNC_QUIC NFQWS_OPT_DESYNC_QUIC_SUFFIX NFQWS_OPT_DESYNC_QUIC6 NFQWS_OPT_DESYNC_QUIC6_SUFFIX"
|
||||||
|
Loading…
Reference in New Issue
Block a user