Update menu.sh

Former-commit-id: af02c22d41cfd27413b0f69b3c52353cc36b3d44
This commit is contained in:
fscarmen
2021-10-07 09:00:39 +08:00
committed by GitHub
parent 20d3372bea
commit b13c5422bf
+28 -26
View File
@@ -55,19 +55,24 @@ MODIFYS10='sed -i "/0\.\0\/0/d" wgcf-profile.conf && sed -i "s/engage.cloudflare
MODIFYD10='sed -i "7 s/^/PostUp = ip -4 rule add from '$LAN4' lookup main\n/" wgcf-profile.conf && sed -i "8 s/^/PostDown = ip -4 rule delete from '$LAN4' lookup main\n/" wgcf-profile.conf && sed -i "s/engage.cloudflareclient.com/162.159.192.1/g" wgcf-profile.conf && sed -i "s/1.1.1.1/9.9.9.9,8.8.8.8,1.1.1.1/g" wgcf-profile.conf'
MODIFYD11='sed -i "7 s/^/PostUp = ip -4 rule add from '$LAN4' lookup main\n/" wgcf-profile.conf && sed -i "8 s/^/PostDown = ip -4 rule delete from '$LAN4' lookup main\n/" wgcf-profile.conf && sed -i "9 s/^/PostUp = ip -6 rule add from '$LAN6' lookup main\n/" wgcf-profile.conf && sed -i "10 s/^/PostDown = ip -6 rule delete from '$LAN6' lookup main\n/" wgcf-profile.conf && sed -i "s/engage.cloudflareclient.com/162.159.192.1/g" wgcf-profile.conf && sed -i "s/1.1.1.1/9.9.9.9,8.8.8.8,1.1.1.1/g" wgcf-profile.conf'
# WARP 开关,开启时自动刷直至成功( warp bug,有时候获取不了ip地址)
# 由于warp bug,有时候获取不了ip地址,加入刷网络脚本手动运行,并在定时任务加设置 VPS 重启后自动运行
net(){
[[ $(type -P wg-quick) ]] || ( red " 没有安装 WireGuard tools,请重新安装 " && exit )
[[ -e /etc/wireguard/wgcf.conf ]] || ( red " 找不到配置文件 wgcf.conf,请重新安装 " && exit )
wg-quick up wgcf >/dev/null 2>&1
WAN4=$(curl -s4m1 ip.gs)
WAN6=$(curl -s6m1 ip.gs)
until [[ -n $WAN4 && -n $WAN6 ]]
do wg-quick down wgcf >/dev/null 2>&1
wg-quick up wgcf >/dev/null 2>&1
WAN4=$(curl -s4m1 ip.gs)
WAN6=$(curl -s6m1 ip.gs)
done
}
# WARP 开关
onoff(){
[[ $(type -P wg-quick) ]] || red " 没有安装 WireGuard tools,请重新安装 " && exit
[[ -e /etc/wireguard/wgcf.conf ]] || red " 找不到配置文件 wgcf.conf,请重新安装 " && exit
[[ $PLAN != 3 ]]
wg-quick up wgcf >/dev/null 2>&1 &&
until [[ -n $(wget --no-check-certificate -T1 -t1 -qO- -4 ip.gs) && -n $(wget --no-check-certificate -T1 -t1 -qO- -6 ip.gs) ]]
do wg-quick down wgcf >/dev/null 2>&1
wg-quick up wgcf >/dev/null 2>&1
done &&
WAN4=$(wget --no-check-certificate -qO- -4 ip.gs) &&
WAN6=$(wget --no-check-certificate -qO- -6 ip.gs)
[[ $PLAN = 3 ]] && wg-quick down wgcf >/dev/null 2>&1
[[ $PLAN = 3 ]] && wg-quick down wgcf >/dev/null 2>&1 || net
}
# VPS 当前状态
@@ -194,21 +199,15 @@ install(){
green " 进度 3/3 运行 WGCF "
yellow " 后台获取 WARP IP 中…… "
unset WAN4 WAN6 COUNTRY4 COUNTRY6 TRACE4 TRACE6
onoff
COUNTRY4=$(wget --no-check-certificate -qO- -4 https://ip.gs/country)
TRACE4=$(wget --no-check-certificate -qO- -4 https://www.cloudflare.com/cdn-cgi/trace | grep warp | cut -d= -f2)
COUNTRY6=$(wget --no-check-certificate -qO- -6 https://ip.gs/country)
TRACE6=$(wget --no-check-certificate -qO- -6 https://www.cloudflare.com/cdn-cgi/trace | grep warp | cut -d= -f2)
net
COUNTRY4=$(curl -s4 https://ip.gs/country)
TRACE4=$(curl -s4 https://www.cloudflare.com/cdn-cgi/trace | grep warp | cut -d= -f2)
COUNTRY6=$(curl -s6 https://ip.gs/country)
TRACE6=$(curl -s6 https://www.cloudflare.com/cdn-cgi/trace | grep warp | cut -d= -f2)
# 设置开机启动,由于warp bug,有时候获取不了ip地址,在定时任务加了重启后自动刷网络
# 设置开机启动
systemctl enable wg-quick@wgcf >/dev/null 2>&1
grep -qE '^@reboot[ ]*root[ ]*bash[ ]*/etc/wireguard/WARP_AutoUp.sh' /etc/crontab || echo '@reboot root bash /etc/wireguard/WARP_AutoUp.sh' >> /etc/crontab
echo '[[ $(type -P wg-quick) ]] && [[ -e /etc/wireguard/wgcf.conf ]] && wg-quick up wgcf >/dev/null 2>&1 &&' > /etc/wireguard/WARP_AutoUp.sh
echo 'until [[ -n $(wget --no-check-certificate -T1 -t1 -qO- -4 ip.gs) && -n $(wget --no-check-certificate -T1 -t1 -qO- -6 ip.gs) ]]' >> /etc/wireguard/WARP_AutoUp.sh
echo ' do' >> /etc/wireguard/WARP_AutoUp.sh
echo ' wg-quick down wgcf >/dev/null 2>&1' >> /etc/wireguard/WARP_AutoUp.sh
echo ' wg-quick up wgcf >/dev/null 2>&1' >> /etc/wireguard/WARP_AutoUp.sh
echo ' done' >> /etc/wireguard/WARP_AutoUp.sh
grep -qE '^@reboot[ ]*root[ ]*warp[ ]*n' /etc/crontab || echo '@reboot root warp n' >> /etc/crontab
# 优先使用 IPv4 网络
[[ -e /etc/gai.conf ]] && [[ $(grep '^[ ]*precedence[ ]*::ffff:0:0/96[ ]*100' /etc/gai.conf) ]] || echo 'precedence ::ffff:0:0/96 100' >> /etc/gai.conf
@@ -220,6 +219,7 @@ install(){
rm -f wgcf-account.toml wgcf-profile.conf
# 结果提示,脚本运行时间
[[ $TRACE4 = plus || $TRACE6 = plus || $TRACE4 = on || $TRACE6 = on ]] && red "\n==============================================================\n"
[[ $TRACE4 = plus ]] && green " IPv4$WAN4 ( WARP+ IPv4 ) $COUNTRY4 "
[[ $TRACE4 = on ]] && green " IPv4$WAN4 ( WARP IPv4 ) $COUNTRY4 "
[[ $TRACE4 = off || -z $TRACE4 ]] && green " IPv4$WAN4 $COUNTRY4 "
@@ -229,7 +229,8 @@ install(){
end=$(date +%s)
[[ $TRACE4 = plus || $TRACE6 = plus ]] && green " 恭喜!WARP+ 已开启,总耗时:$(( $end - $start ))"
[[ $TRACE4 = on || $TRACE6 = on ]] && green " 恭喜!WARP 已开启,总耗时:$(( $end - $start ))"
[[ $TRACE4 = plus || $TRACE6 = plus || $TRACE4 = on || $TRACE6 = on ]] && yellow " 再次运行用 warp\n 如 warp (打开菜单)\n warp o (临时warp开关)\n warp u (卸载warp)\n warp b (升级内核、开启BBR及DD)\n warp p (刷warp+流量)\n warp 1 (Warp单栈)\n warp 1 N5670ljg-sS9jD334-6o6g4M9F ( 指定 Warp+ License Warp 单栈)\n warp 2 (Warp双栈)\n warp 2 N5670ljg-sS9jD334-6o6g4M9F ( 指定 Warp+ License Warp 双栈) "
[[ $TRACE4 = plus || $TRACE6 = plus || $TRACE4 = on || $TRACE6 = on ]] && red "\n==============================================================\n"
yellow " 再次运行用 warp\n 如 warp (打开菜单)\n warp o (临时warp开关)\n warp u (卸载warp)\n warp b (升级内核、开启BBR及DD)\n warp p (刷warp+流量)\n warp 1 (Warp单栈)\n warp 1 N5670ljg-sS9jD334-6o6g4M9F ( 指定 Warp+ License Warp 单栈)\n warp 2 (Warp双栈)\n warp 2 N5670ljg-sS9jD334-6o6g4M9F ( 指定 Warp+ License Warp 双栈) "
[[ $TRACE4 = off && $TRACE6 = off ]] && red " WARP 安装失败,问题反馈:[https://github.com/fscarmen/warp/issues] "
}
@@ -378,5 +379,6 @@ case "$OPTION" in
[Pp] ) plus;;
[Uu] ) uninstall;;
[Oo] ) onoff; [[ -n $(wg) ]] 2>/dev/null && green " 已开启 WARP\n IPv4:$WAN4\n IPv6:$WAN6 " || green " 已暂停 WARP,再次开启可以用 warp o " ;;
[Nn] ) net; green " 已成功刷 Warp 网络\n IPv4:$WAN4\n IPv6:$WAN6 ";;
* ) menu$PLAN;;
esac