mirror of
https://github.com/juewuy/ShellCrash.git
synced 2026-03-12 08:21:40 +00:00
Merge pull request #1101 from sofia-riese/patch-1
refactor: replace recursion with while loop in set_redir_mod
This commit is contained in:
@@ -138,13 +138,16 @@ settings() {
|
|||||||
done
|
done
|
||||||
}
|
}
|
||||||
|
|
||||||
set_redir_mod() { #路由模式设置
|
|
||||||
set_redir_config() {
|
set_redir_config() {
|
||||||
setconfig redir_mod $redir_mod
|
setconfig redir_mod $redir_mod
|
||||||
setconfig dns_mod $dns_mod
|
setconfig dns_mod $dns_mod
|
||||||
echo "-----------------------------------------------"
|
echo "-----------------------------------------------"
|
||||||
echo -e "\033[36m已设为 $redir_mod !!\033[0m"
|
echo -e "\033[36m已设为 $redir_mod !!\033[0m"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
# 路由模式设置
|
||||||
|
set_redir_mod() {
|
||||||
|
while true; do
|
||||||
[ -n "$(ls /dev/net/tun 2>/dev/null)" ] || ip tuntap >/dev/null 2>&1 || modprobe tun 2>/dev/null && sup_tun=1
|
[ -n "$(ls /dev/net/tun 2>/dev/null)" ] || ip tuntap >/dev/null 2>&1 || modprobe tun 2>/dev/null && sup_tun=1
|
||||||
[ -z "$firewall_area" ] && firewall_area=1
|
[ -z "$firewall_area" ] && firewall_area=1
|
||||||
[ -z "$redir_mod" ] && [ "$USER" = "root" -o "$USER" = "admin" ] && redir_mod='Redir模式'
|
[ -z "$redir_mod" ] && [ "$USER" = "root" -o "$USER" = "admin" ] && redir_mod='Redir模式'
|
||||||
@@ -173,11 +176,12 @@ set_redir_mod() { #路由模式设置
|
|||||||
echo " 0 返回上级菜单"
|
echo " 0 返回上级菜单"
|
||||||
read -p "请输入对应数字 > " num
|
read -p "请输入对应数字 > " num
|
||||||
case "$num" in
|
case "$num" in
|
||||||
0) ;;
|
"" | 0)
|
||||||
|
break
|
||||||
|
;;
|
||||||
1)
|
1)
|
||||||
redir_mod=Redir模式
|
redir_mod=Redir模式
|
||||||
set_redir_config
|
set_redir_config
|
||||||
set_redir_mod
|
|
||||||
;;
|
;;
|
||||||
2)
|
2)
|
||||||
if [ -n "$sup_tun" ]; then
|
if [ -n "$sup_tun" ]; then
|
||||||
@@ -187,7 +191,6 @@ set_redir_mod() { #路由模式设置
|
|||||||
echo -e "\033[31m设备未检测到Tun内核模块,请尝试其他模式或者安装相关依赖!\033[0m"
|
echo -e "\033[31m设备未检测到Tun内核模块,请尝试其他模式或者安装相关依赖!\033[0m"
|
||||||
sleep 1
|
sleep 1
|
||||||
fi
|
fi
|
||||||
set_redir_mod
|
|
||||||
;;
|
;;
|
||||||
3)
|
3)
|
||||||
if [ "$firewall_mod" = "iptables" ]; then
|
if [ "$firewall_mod" = "iptables" ]; then
|
||||||
@@ -214,7 +217,6 @@ set_redir_mod() { #路由模式设置
|
|||||||
sleep 1
|
sleep 1
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
set_redir_mod
|
|
||||||
;;
|
;;
|
||||||
4)
|
4)
|
||||||
if [ -n "$sup_tun" ]; then
|
if [ -n "$sup_tun" ]; then
|
||||||
@@ -224,25 +226,20 @@ set_redir_mod() { #路由模式设置
|
|||||||
echo -e "\033[31m设备未检测到Tun内核模块,请尝试其他模式或者安装相关依赖!\033[0m"
|
echo -e "\033[31m设备未检测到Tun内核模块,请尝试其他模式或者安装相关依赖!\033[0m"
|
||||||
sleep 1
|
sleep 1
|
||||||
fi
|
fi
|
||||||
set_redir_mod
|
|
||||||
;;
|
;;
|
||||||
5)
|
5)
|
||||||
redir_mod='TCP旁路转发'
|
redir_mod='TCP旁路转发'
|
||||||
set_redir_config
|
set_redir_config
|
||||||
set_redir_mod
|
|
||||||
;;
|
;;
|
||||||
6)
|
6)
|
||||||
redir_mod='T&U旁路转发'
|
redir_mod='T&U旁路转发'
|
||||||
set_redir_config
|
set_redir_config
|
||||||
set_redir_mod
|
|
||||||
;;
|
;;
|
||||||
7)
|
7)
|
||||||
set_firewall_area
|
set_firewall_area
|
||||||
set_redir_mod
|
|
||||||
;;
|
;;
|
||||||
8)
|
8)
|
||||||
set_firewall_vm
|
set_firewall_vm
|
||||||
set_redir_mod
|
|
||||||
;;
|
;;
|
||||||
9)
|
9)
|
||||||
if [ "$firewall_mod" = 'iptables' ]; then
|
if [ "$firewall_mod" = 'iptables' ]; then
|
||||||
@@ -274,13 +271,16 @@ set_redir_mod() { #路由模式设置
|
|||||||
fi
|
fi
|
||||||
sleep 1
|
sleep 1
|
||||||
setconfig firewall_mod $firewall_mod
|
setconfig firewall_mod $firewall_mod
|
||||||
set_redir_mod
|
|
||||||
;;
|
;;
|
||||||
*)
|
*)
|
||||||
errornum
|
errornum
|
||||||
|
sleep 1
|
||||||
|
break
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
|
done
|
||||||
}
|
}
|
||||||
|
|
||||||
set_adv_config() { #端口设置
|
set_adv_config() { #端口设置
|
||||||
. "$CFG_PATH" >/dev/null
|
. "$CFG_PATH" >/dev/null
|
||||||
[ -z "$secret" ] && secret=未设置
|
[ -z "$secret" ] && secret=未设置
|
||||||
|
|||||||
Reference in New Issue
Block a user