mirror of
https://github.com/bol-van/zapret.git
synced 2025-04-20 22:12:58 +03:00
47 lines
1.0 KiB
Bash
47 lines
1.0 KiB
Bash
#!/bin/sh
|
|
|
|
SCRIPT=$(readlink -f "$0")
|
|
EXEDIR=$(dirname "$SCRIPT")
|
|
ZAPRET_BASE=$(readlink -f "$EXEDIR/../..")
|
|
. "$ZAPRET_BASE/init.d/sysv/functions"
|
|
|
|
CUSTOM_SCRIPT="$ZAPRET_BASE/init.d/keenetic/custom"
|
|
[ -f "$CUSTOM_SCRIPT" ] && . "$CUSTOM_SCRIPT"
|
|
|
|
load_kmod()
|
|
{
|
|
if lsmod | grep "$1" &> /dev/null ; then
|
|
echo "$1.ko is already loaded"
|
|
else
|
|
if insmod "/lib/modules/$(uname -r)/$1.ko" &> /dev/null; then
|
|
echo "$1.ko loaded"
|
|
else
|
|
echo "Cannot find $1.ko kernel module, aborting"
|
|
exit 1
|
|
fi
|
|
fi
|
|
}
|
|
|
|
# Fix local source ip issue when quic packets were sent with raw sockets (no Keenetic-specific iptable marks were applied)
|
|
fw_nfqws_quic()
|
|
{
|
|
# $1 - 1 - add, 0 - del
|
|
# $2 - iptable filter
|
|
|
|
ipt_print_op $1 "$2" "nfqws quic masquerade"
|
|
|
|
rule="$2 -d 0/0 -j MASQUERADE"
|
|
if [ -n "$IFACE_WAN" ] ; then
|
|
for wan in $IFACE_WAN; do
|
|
ipt_add_del $1 POSTROUTING -t nat -o $wan $rule
|
|
done
|
|
else
|
|
ipt_add_del $1 POSTROUTING -t nat $rule
|
|
fi
|
|
}
|
|
|
|
nft_fw_nfqws_quic()
|
|
{
|
|
echo "Quic through nft is not supported"
|
|
}
|