zapret-fork/init.d/custom.d.examples.linux/50-stun4all
bol-van 845f4b43ef
Some checks failed
build / Android x86_64 (push) Failing after 6s
build / Linux arm (push) Failing after 3s
build / Linux arm64 (push) Failing after 4s
build / Linux lexra (push) Failing after 3s
build / Linux mips64 (push) Failing after 3s
build / Linux mipssf (push) Failing after 4s
build / Linux mipselsf (push) Failing after 3s
build / Linux x86 (push) Failing after 3s
build / Linux x86_64 (push) Failing after 3s
build / Android arm64-v8a (push) Failing after 6s
build / Android armeabi-v7a (push) Failing after 5s
build / Android x86 (push) Failing after 7s
build / Linux ppc (push) Failing after 3s
build / FreeBSD x86_64 (push) Failing after 2s
build / macOS (push) Has been cancelled
build / Windows x86 (push) Has been cancelled
build / Windows x86_64 (push) Has been cancelled
build / release (push) Has been cancelled
remove bad comments from custom scripts
2025-10-13 16:43:52 +03:00

30 lines
959 B
Text

# this custom script runs desync to all stun packets
# NOTE: @ih requires nft 1.0.1+ and updated kernel version. it's confirmed to work on 5.15 (openwrt 23) and not work on 5.10 (openwrt 22)
# can override in config :
NFQWS_OPT_DESYNC_STUN="${NFQWS_OPT_DESYNC_STUN:---dpi-desync=fake --dpi-desync-repeats=2}"
alloc_dnum DNUM_STUN4ALL
alloc_qnum QNUM_STUN4ALL
zapret_custom_daemons()
{
# $1 - 1 - add, 0 - stop
local opt="--qnum=$QNUM_STUN4ALL $NFQWS_OPT_DESYNC_STUN"
do_nfqws $1 $DNUM_STUN4ALL "$opt"
}
zapret_custom_firewall()
{
# $1 - 1 - run, 0 - stop
local f='-p udp -m u32 --u32'
fw_nfqws_post $1 "$f 0>>22&0x3C@4>>16=28:65535&&0>>22&0x3C@12=0x2112A442&&0>>22&0x3C@8&0xC0000003=0" "$f 44>>16=28:65535&&52=0x2112A442&&48&0xC0000003=0" $QNUM_STUN4ALL
}
zapret_custom_firewall_nft()
{
# stop logic is not required
local f="udp length >= 28 @ih,32,32 0x2112A442 @ih,0,2 0 @ih,30,2 0"
nft_fw_nfqws_post "$f" "$f" $QNUM_STUN4ALL
}