@ -15,8 +15,8 @@ T[E2]="The script must be run as root, you can enter sudo -i and then download a
T[ C2] = "必须以root方式运行脚本,可以输入 sudo -i 后重新下载运行,问题反馈:[https://github.com/fscarmen/warp/issues]"
T[ E3] = "The TUN module is not loaded. You should turn it on in the control panel. Ask the supplier for more help. Feedback: [https://github.com/fscarmen/warp/issues]"
T[ C3] = "没有加载 TUN 模块,请在管理后台开启或联系供应商了解如何开启,问题反馈:[https://github.com/fscarmen/warp/issues]"
T[ E4] = "The WARP server cannot be connected. It may be a China Mainland VPS. You can manually ping 162.159.192.1 or ping6 2606:4700:d0::a29f:c001.You can run the script again if the connect is successful. Feedback: [https://github.com/fscarmen/warp/issues]"
T[ C4] = "与 WARP 的服务器不能连接,可能是大陆 VPS,可手动 ping 162.159.192.1 或 ping6 2606:4700:d0::a29f:c001,如能连通可再次运行脚本,问题反馈:[https://github.com/fscarmen/warp/issues]"
T[ E4] = "The WARP server cannot be connected. It may be a China Mainland VPS. You can manually ping 162.159.193.10 or ping6 2606:4700:d0::a29f:c001.You can run the script again if the connect is successful. Feedback: [https://github.com/fscarmen/warp/issues]"
T[ C4] = "与 WARP 的服务器不能连接,可能是大陆 VPS,可手动 ping 162.159.193.10 或 ping6 2606:4700:d0::a29f:c001,如能连通可再次运行脚本,问题反馈:[https://github.com/fscarmen/warp/issues]"
T[ E5] = "The script supports Debian, Ubuntu, CentOS or Alpine systems only. Feedback: [https://github.com/fscarmen/warp/issues]"
T[ C5] = "本脚本只支持 Debian、Ubuntu、CentOS 或 Alpine 系统,问题反馈:[https://github.com/fscarmen/warp/issues]"
T[ E6] = "warp h (help)\n warp o (Turn off WARP temporarily)\n warp u (Turn off and uninstall WARP interface and Socks5 Linux Client)\n warp b (Upgrade kernel, turn on BBR, change Linux system)\n warp a (Upgrade to WARP+ account)\n warp a N5670ljg-sS9jD334-6o6g4M9F (Upgrade to WARP+ account with the license)\n warp a http://gist.github.com/teams.xml (Upgrade to Teams account with the URL)\n warp p (Getting WARP+ quota by scripts)\n warp v (Sync the latest version)\n warp r (Connect/Disconnect WARP Linux Client)\n warp 4/6 (Add WARP IPv4/IPv6 interface)\n warp 4 N5670ljg-sS9jD334-6o6g4M9F Goodluck (Add IPv4 WARP+ interface with the license and named Goodluck)\n warp d (Add WARP dualstack interface IPv4 + IPv6)\n warp d N5670ljg-sS9jD334-6o6g4M9F Goodluck (Add WARP+ dualstack interface with the license and named Goodluck)\n warp c (Install WARP Linux Client)\n warp c N5670ljg-sS9jD334-6o6g4M9F(Install WARP+ Linux Client with the license)\n warp i (Change the WARP IP to support Netflix)\n warp s (WARP single and dual stacks switch echo other. Such as [warp s 4],[warp s 6],[warp s d])\n"
@ -388,7 +388,7 @@ check_dependencies(){
ip4_info( ) {
unset IP4 LAN4 COUNTRY4 ASNORG4 TRACE4 PLUS4 WARPSTATUS4
IP4 = $( curl -ks4m8 https://ip.gs/json)
LAN4 = $( ip route get 162.159.192.1 2>/dev/null | grep -oP 'src \K\S+' )
LAN4 = $( ip route get 162.159.193.10 2>/dev/null | grep -oP 'src \K\S+' )
WAN4 = $( expr " $IP4 " : '.*ip\":\"\([^"]*\).*' )
COUNTRY4 = $( expr " $IP4 " : '.*country\":\"\([^"]*\).*' )
ASNORG4 = $( expr " $IP4 " : '.*asn_org\":\"\([^"]*\).*' )
@ -747,12 +747,12 @@ check_system_info(){
# 判断是否大陆 VPS。先尝试连接 CloudFlare WARP 服务的 Endpoint IP,如遇到 WARP 断网则先关闭、杀进程后重试一次,仍然不通则 WARP 项目不可用。
ping6 -c2 -w8 2606:4700:d0::a29f:c001 >/dev/null 2>& 1 && IPV6 = 1 && CDN = -6 || IPV6 = 0
ping -c2 -W8 162.159.192.1 >/dev/null 2>& 1 && IPV4 = 1 && CDN = -4 || IPV4 = 0
ping -c2 -W8 162.159.193.10 >/dev/null 2>& 1 && IPV4 = 1 && CDN = -4 || IPV4 = 0
if [ [ $IPV4 $IPV6 = 00 && -n $( wg 2>/dev/null) ] ] ; then
wg-quick down wgcf >/dev/null 2>& 1
kill -9 $( pgrep -f wireguard 2>/dev/null)
ping6 -c2 -w10 2606:4700:d0::a29f:c001 >/dev/null 2>& 1 && IPV6 = 1 && CDN = -6
ping -c2 -W10 162.159.192.1 >/dev/null 2>& 1 && IPV4 = 1 && CDN = -4
ping -c2 -W10 162.159.193.10 >/dev/null 2>& 1 && IPV4 = 1 && CDN = -4
fi
# 判断处理器架构
@ -987,11 +987,11 @@ install(){
# 反复测试最佳 MTU。 Wireguard Header:IPv4=60 bytes,IPv6=80 bytes,1280 ≤1 MTU ≤ 1420。 ping = 8(ICMP回显示请求和回显应答报文格式长度) + 20(IP首部) 。
# 详细说明:<[WireGuard] Header / MTU sizes for Wireguard>:https://lists.zx2c4.com/pipermail/wireguard/2017-December/002201.html
MTU = $(( 1500 - 28 ))
[ [ $IPV4 $IPV6 = 01 ] ] && ping6 -c1 -W1 -s $MTU -Mdo 2606:4700:d0::a29f:c001 >/dev/null 2>& 1 || ping -c1 -W1 -s $MTU -Mdo 162.159.192.1 >/dev/null 2>& 1
[ [ $IPV4 $IPV6 = 01 ] ] && ping6 -c1 -W1 -s $MTU -Mdo 2606:4700:d0::a29f:c001 >/dev/null 2>& 1 || ping -c1 -W1 -s $MTU -Mdo 162.159.193.10 >/dev/null 2>& 1
until [ [ $? = 0 || $MTU -le $(( 1280 + 80 - 28 )) ] ]
do
MTU = $(( MTU-10))
[ [ $IPV4 $IPV6 = 01 ] ] && ping6 -c1 -W1 -s $MTU -Mdo 2606:4700:d0::a29f:c001 >/dev/null 2>& 1 || ping -c1 -W1 -s $MTU -Mdo 162.159.192.1 >/dev/null 2>& 1
[ [ $IPV4 $IPV6 = 01 ] ] && ping6 -c1 -W1 -s $MTU -Mdo 2606:4700:d0::a29f:c001 >/dev/null 2>& 1 || ping -c1 -W1 -s $MTU -Mdo 162.159.193.10 >/dev/null 2>& 1
done
if [ [ $MTU -eq $(( 1500 - 28 )) ] ] ; then MTU = $MTU
@ -999,7 +999,7 @@ install(){
else
for ( ( i = 0; i<9; i++) ) ; do
( ( MTU++ ) )
( [ [ $IPV4 $IPV6 = 01 ] ] && ping6 -c1 -W1 -s $MTU -Mdo 2606:4700:d0::a29f:c001 >/dev/null 2>& 1 || ping -c1 -W1 -s $MTU -Mdo 162.159.192.1 >/dev/null 2>& 1 ) || break
( [ [ $IPV4 $IPV6 = 01 ] ] && ping6 -c1 -W1 -s $MTU -Mdo 2606:4700:d0::a29f:c001 >/dev/null 2>& 1 || ping -c1 -W1 -s $MTU -Mdo 162.159.193.10 >/dev/null 2>& 1 ) || break
done
( ( MTU-- ) )
fi
@ -1079,16 +1079,16 @@ install(){
wait
# WGCF 配置修改,其中用到的 162.159.192.1 和 2606:4700:d0::a29f:c001 均是 engage.cloudflareclient.com 的 IP
MODIFY014 = 'sed -i "s/1.1.1.1/2606:4700:4700::1111,2001:4860:4860::8888,2001:4860:4860::8844,1.1.1.1,8.8.8.8,8.8.4.4/g;7 s/^/PostDown = ip -6 rule delete from ' $LAN6 ' lookup main\n/;7 s/^/PostUp = ip -6 rule add from ' $LAN6 ' lookup main\n/;s/^.*\:\:\/0/#&/g;s/ engage.cloudflareclient.com/[2606:4700:d0::a29f:c001]/g" wgcf-profile.conf'
MODIFY016 = 'sed -i "s/1.1.1.1/2606:4700:4700::1111,2001:4860:4860::8888,2001:4860:4860::8844,1.1.1.1,8.8.8.8,8.8.4.4/g;7 s/^/PostDown = ip -6 rule delete from ' $LAN6 ' lookup main\n/;7 s/^/PostUp = ip -6 rule add from ' $LAN6 ' lookup main\n/;s/^.*0\.\0\/0/#&/g;s/ engage.cloudflareclient.com/[2606:4700:d0::a29f:c001]/g" wgcf-profile.conf'
# WGCF 配置修改,其中用到的 162.159.193.10 和 2606:4700:d0::a29f:c001 均是 engage.cloudflareclient.com 的 IP
MODIFY014 = 'sed -i "s/1.1.1.1/2606:4700:4700::1111,2001:4860:4860::8888,2001:4860:4860::8844,1.1.1.1,8.8.8.8,8.8.4.4/g;7 s/^/PostDown = ip -6 rule delete from ' $LAN6 ' lookup main\n/;7 s/^/PostUp = ip -6 rule add from ' $LAN6 ' lookup main\n/;s/engage.cloudflareclient.com/[2606:4700:d0::a29f:c001]/g;s/^.*\:\:\/0/#& /g" wgcf-profile.conf'
MODIFY016 = 'sed -i "s/1.1.1.1/2606:4700:4700::1111,2001:4860:4860::8888,2001:4860:4860::8844,1.1.1.1,8.8.8.8,8.8.4.4/g;7 s/^/PostDown = ip -6 rule delete from ' $LAN6 ' lookup main\n/;7 s/^/PostUp = ip -6 rule add from ' $LAN6 ' lookup main\n/;s/engage.cloudflareclient.com/[2606:4700:d0::a29f:c001]/g;s/^.*0\.\0\/0/#& /g" wgcf-profile.conf'
MODIFY01D = 'sed -i "s/1.1.1.1/2606:4700:4700::1111,2001:4860:4860::8888,2001:4860:4860::8844,1.1.1.1,8.8.8.8,8.8.4.4/g;7 s/^/PostDown = ip -6 rule delete from ' $LAN6 ' lookup main\n/;7 s/^/PostUp = ip -6 rule add from ' $LAN6 ' lookup main\n/;s/engage.cloudflareclient.com/[2606:4700:d0::a29f:c001]/g" wgcf-profile.conf'
MODIFY104 = 'sed -i "s/1.1.1.1/1.1.1.1,8.8.8.8,8.8.4.4,2606:4700:4700::1111,2001:4860:4860::8888,2001:4860:4860::8844/g;7 s/^/PostDown = ip -4 rule delete from ' $LAN4 ' lookup main\n/;7 s/^/PostUp = ip -4 rule add from ' $LAN4 ' lookup main\n/;s/^.*\:\:\/0/#&/g;s/ engage.cloudflareclient.com/162.159.193.10/g" wgcf-profile.conf'
MODIFY106 = 'sed -i "s/1.1.1.1/1.1.1.1,8.8.8.8,8.8.4.4,2606:4700:4700::1111,2001:4860:4860::8888,2001:4860:4860::8844/g;7 s/^/PostDown = ip -4 rule delete from ' $LAN4 ' lookup main\n/;7 s/^/PostUp = ip -4 rule add from ' $LAN4 ' lookup main\n/;s/^.*0\.\0\/0/#&/g;s/ engage.cloudflareclient.com/162.159.193.10/g" wgcf-profile.conf'
MODIFY104 = 'sed -i "s/1.1.1.1/1.1.1.1,8.8.8.8,8.8.4.4,2606:4700:4700::1111,2001:4860:4860::8888,2001:4860:4860::8844/g;7 s/^/PostDown = ip -4 rule delete from ' $LAN4 ' lookup main\n/;7 s/^/PostUp = ip -4 rule add from ' $LAN4 ' lookup main\n/;s/engage.cloudflareclient.com/162.159.193.10/g;s/^.*\:\:\/0/#& /g" wgcf-profile.conf'
MODIFY106 = 'sed -i "s/1.1.1.1/1.1.1.1,8.8.8.8,8.8.4.4,2606:4700:4700::1111,2001:4860:4860::8888,2001:4860:4860::8844/g;7 s/^/PostDown = ip -4 rule delete from ' $LAN4 ' lookup main\n/;7 s/^/PostUp = ip -4 rule add from ' $LAN4 ' lookup main\n/;s/engage.cloudflareclient.com/162.159.193.10/g;s/^.*0\.\0\/0/#& /g" wgcf-profile.conf'
MODIFY10D = 'sed -i "s/1.1.1.1/1.1.1.1,8.8.8.8,8.8.4.4,2606:4700:4700::1111,2001:4860:4860::8888,2001:4860:4860::8844/g;7 s/^/PostDown = ip -4 rule delete from ' $LAN4 ' lookup main\n/;7 s/^/PostUp = ip -4 rule add from ' $LAN4 ' lookup main\n/;s/engage.cloudflareclient.com/162.159.193.10/g" wgcf-profile.conf'
MODIFY114 = 'sed -i "s/1.1.1.1/1.1.1.1,8.8.8.8,8.8.4.4,2606:4700:4700::1111,2001:4860:4860::8888,2001:4860:4860::8844/g;7 s/^/PostDown = ip -6 rule delete from ' $LAN6 ' lookup main\n/;7 s/^/PostUp = ip -6 rule add from ' $LAN6 ' lookup main\n/;7 s/^/PostDown = ip -4 rule delete from ' $LAN4 ' lookup main\n/;7 s/^/PostUp = ip -4 rule add from ' $LAN4 ' lookup main\n/;s/^.*\:\:\/0/#&/g" wgcf-profile.conf'
MODIFY116 = 'sed -i "s/1.1.1.1/1.1.1.1,8.8.8.8,8.8.4.4,2606:4700:4700::1111,2001:4860:4860::8888,2001:4860:4860::8844/g;7 s/^/PostDown = ip -6 rule delete from ' $LAN6 ' lookup main\n/;7 s/^/PostUp = ip -6 rule add from ' $LAN6 ' lookup main\n/;7 s/^/PostDown = ip -4 rule delete from ' $LAN4 ' lookup main\n/;7 s/^/PostUp = ip -4 rule add from ' $LAN4 ' lookup main\n/;s/^.*0\.\0\/0/#&/g" wgcf-profile.conf'
MODIFY11D = 'sed -i "s/1.1.1.1/1.1.1.1,8.8.8.8,8.8.4.4,2606:4700:4700::1111,2001:4860:4860::8888,2001:4860:4860::8844/g;7 s/^/PostDown = ip -6 rule delete from ' $LAN6 ' lookup main\n/;7 s/^/PostUp = ip -6 rule add from ' $LAN6 ' lookup main\n/;7 s/^/PostDown = ip -4 rule delete from ' $LAN4 ' lookup main\n/;7 s/^/PostUp = ip -4 rule add from ' $LAN4 ' lookup main\n/" wgcf-profile.conf'
MODIFY114 = 'sed -i "s/1.1.1.1/1.1.1.1,8.8.8.8,8.8.4.4,2606:4700:4700::1111,2001:4860:4860::8888,2001:4860:4860::8844/g;7 s/^/PostDown = ip -6 rule delete from ' $LAN6 ' lookup main\n/;7 s/^/PostUp = ip -6 rule add from ' $LAN6 ' lookup main\n/;7 s/^/PostDown = ip -4 rule delete from ' $LAN4 ' lookup main\n/;7 s/^/PostUp = ip -4 rule add from ' $LAN4 ' lookup main\n/;s/engage.cloudflareclient.com/162.159.193.10/g;s/ ^.*\:\:\/0/#&/g" wgcf-profile.conf'
MODIFY116 = 'sed -i "s/1.1.1.1/1.1.1.1,8.8.8.8,8.8.4.4,2606:4700:4700::1111,2001:4860:4860::8888,2001:4860:4860::8844/g;7 s/^/PostDown = ip -6 rule delete from ' $LAN6 ' lookup main\n/;7 s/^/PostUp = ip -6 rule add from ' $LAN6 ' lookup main\n/;7 s/^/PostDown = ip -4 rule delete from ' $LAN4 ' lookup main\n/;7 s/^/PostUp = ip -4 rule add from ' $LAN4 ' lookup main\n/;s/engage.cloudflareclient.com/162.159.193.10/g;s/ ^.*0\.\0\/0/#&/g" wgcf-profile.conf'
MODIFY11D = 'sed -i "s/1.1.1.1/1.1.1.1,8.8.8.8,8.8.4.4,2606:4700:4700::1111,2001:4860:4860::8888,2001:4860:4860::8844/g;7 s/^/PostDown = ip -6 rule delete from ' $LAN6 ' lookup main\n/;7 s/^/PostUp = ip -6 rule add from ' $LAN6 ' lookup main\n/;7 s/^/PostDown = ip -4 rule delete from ' $LAN4 ' lookup main\n/;7 s/^/PostUp = ip -4 rule add from ' $LAN4 ' lookup main\n/;s/engage.cloudflareclient.com/162.159.193.10/g " wgcf-profile.conf'
sh -c " $( eval echo " \$MODIFY $CONF " ) "