mirror of
https://github.com/remittor/zapret-openwrt.git
synced 2025-12-06 11:36:48 +03:00
109 lines
2.2 KiB
Bash
Executable File
109 lines
2.2 KiB
Bash
Executable File
#!/bin/sh
|
|
# Copyright (c) 2024 remittor
|
|
|
|
. /opt/zapret/comfunc.sh
|
|
|
|
function uncomment_param
|
|
{
|
|
local param=$1
|
|
local fname=${2:-$ZAPRET_CONFIG}
|
|
sed -i "/^#$param=/s/^#//" $fname
|
|
}
|
|
|
|
function append_param
|
|
{
|
|
local param=$1
|
|
local fname=${2:-$ZAPRET_CONFIG}
|
|
grep -q "^$param=" $fname
|
|
if [ "$?" != "0" ]; then
|
|
echo "" >> $fname
|
|
echo "$param=" >> $fname
|
|
fi
|
|
}
|
|
|
|
function set_param_value
|
|
{
|
|
local param=$1
|
|
local value=$( adapt_for_sed "$2" )
|
|
local fname=${3:-$ZAPRET_CONFIG}
|
|
sed -i "s/^$param=.*/$param=$value/g" $fname
|
|
}
|
|
|
|
function set_param_value_str
|
|
{
|
|
local param=$1
|
|
local value=$( adapt_for_sed "$2" )
|
|
local fname=${3:-$ZAPRET_CONFIG}
|
|
sed -i "s/^$param=.*/$param=\"$value\"/g" $fname
|
|
}
|
|
|
|
function sync_param
|
|
{
|
|
local param=$1
|
|
local vtype=$2
|
|
local value="$( uci -q get zapret.config.$param )"
|
|
uncomment_param $param
|
|
append_param $param
|
|
local TAB="$( echo -n -e '\t' )"
|
|
if [ "$value" = "$TAB" ]; then
|
|
value=""
|
|
fi
|
|
if [ "$vtype" = "str" ]; then
|
|
set_param_value_str $param "$value"
|
|
else
|
|
set_param_value $param $value
|
|
fi
|
|
}
|
|
|
|
if [ ! -f "$ZAPRET_CONFIG" ]; then
|
|
if [ ! -f "$ZAPRET_CONFIG_DEF" ]; then
|
|
touch "$ZAPRET_CONFIG"
|
|
else
|
|
cp -f "$ZAPRET_CONFIG_DEF" "$ZAPRET_CONFIG"
|
|
fi
|
|
fi
|
|
|
|
cp -f "$ZAPRET_CONFIG" "$ZAPRET_CONFIG_NEW"
|
|
|
|
ZAPRET_CONFIG__SAVED="$ZAPRET_CONFIG"
|
|
ZAPRET_CONFIG="$ZAPRET_CONFIG_NEW"
|
|
|
|
sync_param FWTYPE
|
|
sync_param POSTNAT
|
|
sync_param FLOWOFFLOAD
|
|
sync_param INIT_APPLY_FW
|
|
sync_param DISABLE_IPV4
|
|
sync_param DISABLE_IPV6
|
|
sync_param MODE_FILTER
|
|
sync_param DISABLE_CUSTOM
|
|
sync_param WS_USER str
|
|
sync_param DAEMON_LOG_ENABLE
|
|
|
|
sync_param AUTOHOSTLIST_RETRANS_THRESHOLD
|
|
sync_param AUTOHOSTLIST_FAIL_THRESHOLD
|
|
sync_param AUTOHOSTLIST_FAIL_TIME
|
|
sync_param AUTOHOSTLIST_DEBUGLOG
|
|
|
|
sync_param NFQWS_ENABLE
|
|
sync_param DESYNC_MARK
|
|
sync_param DESYNC_MARK_POSTNAT
|
|
sync_param NFQWS_PORTS_TCP str
|
|
sync_param NFQWS_PORTS_UDP str
|
|
sync_param NFQWS_TCP_PKT_OUT str
|
|
sync_param NFQWS_TCP_PKT_IN str
|
|
sync_param NFQWS_UDP_PKT_OUT str
|
|
sync_param NFQWS_UDP_PKT_IN str
|
|
sync_param NFQWS_PORTS_TCP_KEEPALIVE
|
|
sync_param NFQWS_PORTS_UDP_KEEPALIVE
|
|
sync_param NFQWS_OPT str
|
|
|
|
ZAPRET_CONFIG="$ZAPRET_CONFIG__SAVED"
|
|
|
|
if is_valid_config "$ZAPRET_CONFIG_NEW" ; then
|
|
cp -f "$ZAPRET_CONFIG_NEW" "$ZAPRET_CONFIG"
|
|
rm -f "$ZAPRET_CONFIG_NEW"
|
|
else
|
|
rm -f "$ZAPRET_CONFIG_NEW"
|
|
return 97
|
|
fi
|