mirror of
https://github.com/juewuy/ShellCrash.git
synced 2024-11-15 19:22:54 +08:00
~修复部分特殊情况下2-1菜单无法进入的bug
This commit is contained in:
parent
f5292006f4
commit
561354434a
233
scripts/menu.sh
233
scripts/menu.sh
|
@ -1143,128 +1143,127 @@ set_redir_mod(){ #代理模式设置
|
|||
}
|
||||
[ -n "$(ls /dev/net/tun 2>/dev/null)" ] || ip tuntap >/dev/null 2>&1 && sup_tun=1
|
||||
[ -z "$firewall_area" ] && firewall_area=1
|
||||
[ -z "$firewall_mod" ] && firewall_mod=未设置
|
||||
firewall_area_dsc=$(echo "仅局域网 仅本机 局域网+本机 纯净模式 主-旁转发($bypass_host)" | cut -d' ' -f$firewall_area)
|
||||
if [ -n "$firewall_mod" ];then
|
||||
echo -----------------------------------------------
|
||||
echo -e "当前代理模式为:\033[47;30m$redir_mod\033[0m;ShellCrash核心为:\033[47;30m $crashcore \033[0m"
|
||||
echo -e "\033[33m切换模式后需要手动重启服务以生效!\033[0m"
|
||||
echo -----------------------------------------------
|
||||
[ $firewall_area -le 3 ] && {
|
||||
echo -e " 1 \033[32mRedir模式\033[0m: Redir转发TCP,不转发UDP"
|
||||
echo -e " 2 \033[36m混合模式\033[0m: Redir转发TCP,Tun转发UDP"
|
||||
echo -e " 3 \033[32mTproxy模式\033[0m: Tproxy转发TCP&UDP"
|
||||
echo -e " 4 \033[33mTun模式\033[0m: Tun转发TCP&UDP(占用高不推荐)"
|
||||
echo -----------------------------------------------
|
||||
echo -e "当前代理模式为:\033[47;30m$redir_mod\033[0m;ShellCrash核心为:\033[47;30m $crashcore \033[0m"
|
||||
echo -e "\033[33m切换模式后需要手动重启服务以生效!\033[0m"
|
||||
}
|
||||
[ "$firewall_area" = 5 ] && {
|
||||
echo -e " 5 \033[32mTCP旁路转发\033[0m: 仅转发TCP流量至旁路由"
|
||||
echo -e " 6 \033[36mT&U旁路转发\033[0m: 转发TCP&UDP流量至旁路由"
|
||||
echo -----------------------------------------------
|
||||
[ $firewall_area -le 3 ] && {
|
||||
echo -e " 1 \033[32mRedir模式\033[0m: Redir转发TCP,不转发UDP"
|
||||
echo -e " 2 \033[36m混合模式\033[0m: Redir转发TCP,Tun转发UDP"
|
||||
echo -e " 3 \033[32mTproxy模式\033[0m: Tproxy转发TCP&UDP"
|
||||
echo -e " 4 \033[33mTun模式\033[0m: Tun转发TCP&UDP(占用高不推荐)"
|
||||
echo -----------------------------------------------
|
||||
}
|
||||
[ "$firewall_area" = 5 ] && {
|
||||
echo -e " 5 \033[32mTCP旁路转发\033[0m: 仅转发TCP流量至旁路由"
|
||||
echo -e " 6 \033[36mT&U旁路转发\033[0m: 转发TCP&UDP流量至旁路由"
|
||||
echo -----------------------------------------------
|
||||
}
|
||||
echo -e " 7 设置劫持范围:\033[47;30m$firewall_area_dsc\033[0m"
|
||||
echo -e " 8 切换防火墙应用:\033[47;30m$firewall_mod\033[0m"
|
||||
echo -e " 9 ipv6设置:\033[47;30m$ipv6_redir\033[0m"
|
||||
echo " 0 返回上级菜单"
|
||||
read -p "请输入对应数字 > " num
|
||||
case $num in
|
||||
0) ;;
|
||||
1)
|
||||
redir_mod=Redir模式
|
||||
}
|
||||
echo -e " 7 设置劫持范围:\033[47;30m$firewall_area_dsc\033[0m"
|
||||
echo -e " 8 切换防火墙应用:\033[47;30m$firewall_mod\033[0m"
|
||||
echo -e " 9 ipv6设置:\033[47;30m$ipv6_redir\033[0m"
|
||||
echo " 0 返回上级菜单"
|
||||
read -p "请输入对应数字 > " num
|
||||
case $num in
|
||||
0) ;;
|
||||
1)
|
||||
redir_mod=Redir模式
|
||||
set_redir_config
|
||||
set_redir_mod
|
||||
;;
|
||||
2)
|
||||
if [ -n "$sup_tun" ];then
|
||||
redir_mod=混合模式
|
||||
set_redir_config
|
||||
set_redir_mod
|
||||
;;
|
||||
2)
|
||||
if [ -n "$sup_tun" ];then
|
||||
redir_mod=混合模式
|
||||
set_redir_config
|
||||
else
|
||||
echo -e "\033[31m设备未检测到Tun内核模块,请尝试其他模式或者安装相关依赖!\033[0m"
|
||||
sleep 1
|
||||
fi
|
||||
set_redir_mod
|
||||
;;
|
||||
3)
|
||||
if [ "$firewall_mod" = "iptables" ] ;then
|
||||
if [ -f /etc/init.d/qca-nss-ecm -a "$systype" = "mi_snapshot" ] ;then
|
||||
read -p "xiaomi设备的QOS服务与本模式冲突,是否禁用相关功能?(1/0) > " res
|
||||
[ "$res" = '1' ] && {
|
||||
${CRASHDIR}/misnap_init.sh tproxyfix
|
||||
redir_mod=Tproxy模式
|
||||
set_redir_config
|
||||
}
|
||||
elif [ -n "$(grep -E '^TPROXY$' /proc/net/ip_tables_targets)" ] ;then
|
||||
redir_mod=Tproxy模式
|
||||
set_redir_config
|
||||
else
|
||||
echo -e "\033[31m设备未检测到iptables-mod-tproxy模块,请尝试其他模式或者安装相关依赖!\033[0m"
|
||||
sleep 1
|
||||
fi
|
||||
elif [ "$firewall_mod" = "nftables" ] ;then
|
||||
if modprobe nft_tproxy >/dev/null 2>&1;then
|
||||
redir_mod=Tproxy模式
|
||||
set_redir_config
|
||||
else
|
||||
echo -e "\033[31m设备未检测到nft_tproxy内核模块,请尝试其他模式或者安装相关依赖!\033[0m"
|
||||
sleep 1
|
||||
fi
|
||||
fi
|
||||
set_redir_mod
|
||||
;;
|
||||
4)
|
||||
if [ -n "$sup_tun" ];then
|
||||
redir_mod=Tun模式
|
||||
set_redir_config
|
||||
else
|
||||
echo -e "\033[31m设备未检测到Tun内核模块,请尝试其他模式或者安装相关依赖!\033[0m"
|
||||
sleep 1
|
||||
fi
|
||||
set_redir_mod
|
||||
;;
|
||||
5)
|
||||
redir_mod=TCP旁路转发
|
||||
set_redir_config
|
||||
set_redir_mod
|
||||
;;
|
||||
6)
|
||||
redir_mod=T&U旁路转发
|
||||
set_redir_config
|
||||
set_redir_mod
|
||||
;;
|
||||
7)
|
||||
set_firewall_area
|
||||
set_redir_mod
|
||||
;;
|
||||
8)
|
||||
if [ "$firewall_mod" = 'iptables' ];then
|
||||
if nft add table inet shellcrash 2>/dev/null;then
|
||||
firewall_mod=nftables
|
||||
redir_mod=Redir模式
|
||||
setconfig redir_mod $redir_mod
|
||||
else
|
||||
echo -e "\033[31m当前设备未安装nftables或者nftables版本过低(<1.0.2),无法切换!\033[0m"
|
||||
fi
|
||||
else
|
||||
if ckcmd iptables;then
|
||||
firewall_mod=iptables
|
||||
redir_mod=Redir模式
|
||||
setconfig redir_mod $redir_mod
|
||||
else
|
||||
echo -e "\033[31m当前设备未安装iptables,无法切换!\033[0m"
|
||||
fi
|
||||
fi
|
||||
else
|
||||
echo -e "\033[31m设备未检测到Tun内核模块,请尝试其他模式或者安装相关依赖!\033[0m"
|
||||
sleep 1
|
||||
setconfig firewall_mod $firewall_mod
|
||||
set_redir_mod
|
||||
;;
|
||||
9)
|
||||
setipv6
|
||||
set_redir_mod
|
||||
;;
|
||||
*)
|
||||
errornum
|
||||
;;
|
||||
esac
|
||||
fi
|
||||
fi
|
||||
set_redir_mod
|
||||
;;
|
||||
3)
|
||||
if [ "$firewall_mod" = "iptables" ] ;then
|
||||
if [ -f /etc/init.d/qca-nss-ecm -a "$systype" = "mi_snapshot" ] ;then
|
||||
read -p "xiaomi设备的QOS服务与本模式冲突,是否禁用相关功能?(1/0) > " res
|
||||
[ "$res" = '1' ] && {
|
||||
${CRASHDIR}/misnap_init.sh tproxyfix
|
||||
redir_mod=Tproxy模式
|
||||
set_redir_config
|
||||
}
|
||||
elif [ -n "$(grep -E '^TPROXY$' /proc/net/ip_tables_targets)" ] ;then
|
||||
redir_mod=Tproxy模式
|
||||
set_redir_config
|
||||
else
|
||||
echo -e "\033[31m设备未检测到iptables-mod-tproxy模块,请尝试其他模式或者安装相关依赖!\033[0m"
|
||||
sleep 1
|
||||
fi
|
||||
elif [ "$firewall_mod" = "nftables" ] ;then
|
||||
if modprobe nft_tproxy >/dev/null 2>&1;then
|
||||
redir_mod=Tproxy模式
|
||||
set_redir_config
|
||||
else
|
||||
echo -e "\033[31m设备未检测到nft_tproxy内核模块,请尝试其他模式或者安装相关依赖!\033[0m"
|
||||
sleep 1
|
||||
fi
|
||||
fi
|
||||
set_redir_mod
|
||||
;;
|
||||
4)
|
||||
if [ -n "$sup_tun" ];then
|
||||
redir_mod=Tun模式
|
||||
set_redir_config
|
||||
else
|
||||
echo -e "\033[31m设备未检测到Tun内核模块,请尝试其他模式或者安装相关依赖!\033[0m"
|
||||
sleep 1
|
||||
fi
|
||||
set_redir_mod
|
||||
;;
|
||||
5)
|
||||
redir_mod=TCP旁路转发
|
||||
set_redir_config
|
||||
set_redir_mod
|
||||
;;
|
||||
6)
|
||||
redir_mod=T&U旁路转发
|
||||
set_redir_config
|
||||
set_redir_mod
|
||||
;;
|
||||
7)
|
||||
set_firewall_area
|
||||
set_redir_mod
|
||||
;;
|
||||
8)
|
||||
if [ "$firewall_mod" = 'iptables' ];then
|
||||
if nft add table inet shellcrash 2>/dev/null;then
|
||||
firewall_mod=nftables
|
||||
redir_mod=Redir模式
|
||||
setconfig redir_mod $redir_mod
|
||||
else
|
||||
echo -e "\033[31m当前设备未安装nftables或者nftables版本过低(<1.0.2),无法切换!\033[0m"
|
||||
fi
|
||||
else
|
||||
if ckcmd iptables;then
|
||||
firewall_mod=iptables
|
||||
redir_mod=Redir模式
|
||||
setconfig redir_mod $redir_mod
|
||||
else
|
||||
echo -e "\033[31m当前设备未安装iptables,无法切换!\033[0m"
|
||||
fi
|
||||
fi
|
||||
sleep 1
|
||||
setconfig firewall_mod $firewall_mod
|
||||
set_redir_mod
|
||||
;;
|
||||
9)
|
||||
setipv6
|
||||
set_redir_mod
|
||||
;;
|
||||
*)
|
||||
errornum
|
||||
;;
|
||||
esac
|
||||
}
|
||||
set_dns_mod(){ #DNS设置
|
||||
echo -----------------------------------------------
|
||||
|
|
Loading…
Reference in New Issue
Block a user