diff --git a/scripts/menu.sh b/scripts/menu.sh index 71037d8..9c63b57 100644 --- a/scripts/menu.sh +++ b/scripts/menu.sh @@ -15,7 +15,7 @@ source ${CRASHDIR}/configs/command.env 2>/dev/null setconfig(){ #参数1代表变量名,参数2代表变量值,参数3即文件路径 [ -z "$3" ] && configpath=${CFG_PATH} || configpath="${3}" - [ -n "$(grep "${1}=" "$configpath")" ] && sed -i "s#${1}=.*#${1}=${2}#g" $configpath || echo "${1}=${2}" >> $configpath + grep -q "${1}=" "$configpath" && sed -i "s#${1}=.*#${1}=${2}#g" $configpath || sed -i "\$a\\${1}=${2}" $configpath } ckcmd(){ command -v sh >/dev/null 2>&1 && command -v $1 >/dev/null 2>&1 || type $1 >/dev/null 2>&1 diff --git a/scripts/shellcrash.service b/scripts/shellcrash.service index e2fadd6..27f9c00 100644 --- a/scripts/shellcrash.service +++ b/scripts/shellcrash.service @@ -6,8 +6,8 @@ After=network.target Type=simple User=shellcrash ExecStartPre=/etc/ShellCrash/start.sh bfstart -ExecStart=/etc/ShellCrash/CrashCore run -D /etc/ShellCrash -C /tmp/ShellCrash/jsons -ExecStartPost=/etc/ShellCrash/start.sh afstart >/dev/null & +ExecStart=/etc/ShellCrash/CrashCore run -D /etc/ShellCrash -C /tmp/ShellCrash/jsons >/dev/null +ExecStartPost=/etc/ShellCrash/start.sh afstart ExecStopPost=/etc/ShellCrash/start.sh stop_firewall ; /etc/ShellCrash/start.sh unset_proxy Restart=on-abnormal RestartSec=10s diff --git a/scripts/start.sh b/scripts/start.sh index 9125569..70dfe55 100644 --- a/scripts/start.sh +++ b/scripts/start.sh @@ -46,7 +46,7 @@ getconfig() { #读取配置及全局变量 setconfig() { #脚本配置工具 #参数1代表变量名,参数2代表变量值,参数3即文件路径 [ -z "$3" ] && configpath="$CRASHDIR"/configs/ShellCrash.cfg || configpath="${3}" - grep -q "${1}=" "$configpath" && sed -i "s#${1}=.*#${1}=${2}#g" "$configpath" || echo "${1}=${2}" >> "$configpath" + grep -q "${1}=" "$configpath" && sed -i "s#${1}=.*#${1}=${2}#g" "$configpath" || sed -i "\$a\\${1}=${2}" $configpath } ckcmd() { #检查命令是否存在 command -v sh >/dev/null 2>&1 && command -v "$1" >/dev/null 2>&1 || type "$1" >/dev/null 2>&1 @@ -968,6 +968,10 @@ start_ipt_dns() { #iptables-dns通用工具 $1 -t nat -A $3 -p udp -s $ip -j REDIRECT --to-ports $dns_port done fi + [ "$1" = 'ip6tables' ] && { + $1 -t nat -A $3 -p tcp -m comment --comment "ShellCrash-IPV6_DNS-REJECT" -j REJECT + $1 -t nat -A $3 -p udp -m comment --comment "ShellCrash-IPV6_DNS-REJECT" -j REJECT + } $1 -t nat -I $2 -p tcp --dport 53 -j $3 $1 -t nat -I $2 -p udp --dport 53 -j $3 }