mirror of https://gitlab.com/rwkgyg/CFwarp.git
180 lines
14 KiB
Bash
180 lines
14 KiB
Bash
#!/usr/bin/env bash
|
||
sleep 5
|
||
green(){ echo -e "\033[32m\033[01m$1\033[0m";}
|
||
yellow(){ echo -e "\033[33m\033[01m$1\033[0m";}
|
||
|
||
info(){
|
||
v6=$(curl -s6m3 https://ip.gs -k)
|
||
v4=$(curl -s4m3 https://ip.gs -k)
|
||
UA_Browser="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.87 Safari/537.36"
|
||
if [[ -n $v6 ]]; then
|
||
wgcfv6=$(curl -s6 https://www.cloudflare.com/cdn-cgi/trace -k | grep warp | cut -d= -f2)
|
||
result6=$(curl -6 --user-agent "${UA_Browser}" -fsL --write-out %{http_code} --output /dev/null --max-time 10 "https://www.netflix.com/title/81215567" 2>&1)
|
||
[[ "$result6" == "404" ]] && NF6="遗憾哦,当前IP仅解锁奈飞Netflix自制剧..."
|
||
[[ "$result6" == "403" ]] && NF6="死心了,当前IP不支持解锁奈飞Netflix....."
|
||
[[ "$result6" == "000" ]] && NF6="检测到网络有问题,再次进入脚本可能就好了.."
|
||
[[ "$result6" == "200" ]] && NF6="恭喜呀,当前IP可解锁奈飞Netflix流媒体..."
|
||
fi
|
||
if [[ -n $v4 ]]; then
|
||
wgcfv4=$(curl -s4 https://www.cloudflare.com/cdn-cgi/trace -k | grep warp | cut -d= -f2)
|
||
result4=$(curl -4 --user-agent "${UA_Browser}" -fsL --write-out %{http_code} --output /dev/null --max-time 10 "https://www.netflix.com/title/81215567" 2>&1)
|
||
[[ "$result4" == "404" ]] && NF4="遗憾哦,当前IP仅解锁奈飞Netflix自制剧..."
|
||
[[ "$result4" == "403" ]] && NF4="死心了,当前IP不支持解锁奈飞Netflix....."
|
||
[[ "$result4" == "000" ]] && NF4="检测到网络有问题,再次进入脚本可能就好了.."
|
||
[[ "$result4" == "200" ]] && NF4="恭喜呀,当前IP可解锁奈飞Netflix流媒体..."
|
||
fi
|
||
mport=`warp-cli --accept-tos settings 2>/dev/null | grep 'WarpProxy on port' | awk -F "port " '{print $2}'`
|
||
result=$(curl -sx socks5h://localhost:$mport -fsL --write-out %{http_code} --output /dev/null --max-time 10 "https://www.netflix.com/title/81215567" 2>&1)
|
||
[[ "$result" == "404" ]] && NF="遗憾哦,当前IP仅解锁奈飞Netflix自制剧..."
|
||
[[ "$result" == "403" ]] && NF="死心了,当前IP不支持解锁奈飞Netflix....."
|
||
[[ "$result" == "000" ]] && NF="检测到网络有问题,再次进入脚本可能就好了.."
|
||
[[ "$result" == "200" ]] && NF="恭喜呀,当前IP可解锁奈飞Netflix流媒体..."
|
||
s5ip=`curl -sx socks5h://localhost:$mport ip.gs -k`
|
||
AE="阿联酋(United Arab Emirates)";AU="澳大利亚(Australia)";BG="保加利亚(Bulgaria)";BR="巴西(Brazil)";CA="加拿大(Canada)";CH="瑞士(Switzerland)";CL="智利(Chile)";CN="中国(China)";CO="哥伦比亚(Colombia)";DE="德国(Germany)";ES="西班牙(Spain)";FI="芬兰(Finland)";FR="法国(France)";GB="英国(United Kingdom)";HK="香港(Hong Kong)";ID="印度尼西亚(Indonesia)";IE="爱尔兰(Ireland)";IL="以色列(Israel)";IN="印度(India)";IT="意大利(Italy)";JP="日本(Japan)";KR="韩国(South Korea)";LU="卢森堡(Luxembourg)";MX="墨西哥(Mexico)";MY="马来西亚(Malaysia)";NL="荷兰(Netherlands)";NZ="新西兰(New Zealand)";PH="菲律宾(Philippines)";RO="罗马尼亚(Romania)";RU="俄罗斯(Russian)";SA="沙特(Saudi Arabia)";SE="瑞典(Sweden)";SG="新加坡(Singapore)";TW="台湾(Taiwan)";US="美国(United States)";VN="越南(Vietnam)";ZA="南非(South Africa)"
|
||
region=`tr [:lower:] [:upper:] <<< $(curl --user-agent "${UA_Browser}" -fs --max-time 10 --write-out %{redirect_url} --output /dev/null "https://www.netflix.com/title/80018499" | cut -d '/' -f4 | cut -d '-' -f1)`
|
||
[[ ! "$region" ]] && region="US"
|
||
}
|
||
|
||
s5c(){
|
||
warp-cli --accept-tos register >/dev/null 2>&1 && sleep 2
|
||
if [[ -e /etc/wireguard/ID ]]; then
|
||
warp-cli --accept-tos set-license $(cat /etc/wireguard/ID) >/dev/null 2>&1
|
||
fi
|
||
}
|
||
|
||
BEndpoint(){
|
||
grep Endpoint /etc/wireguard/wgcf.conf
|
||
if [[ -n $(grep -w 2606:4700:d0::a29f:c001 /etc/wireguard/wgcf.conf) ]]; then
|
||
sed -i "s/2606:4700:d0::a29f:c001/2606:4700:d0::a29f:c002/g" /etc/wireguard/wgcf.conf
|
||
elif [[ -n $(grep -w 2606:4700:d0::a29f:c002 /etc/wireguard/wgcf.conf) ]]; then
|
||
sed -i "s/2606:4700:d0::a29f:c002/2606:4700:d0::a29f:c003/g" /etc/wireguard/wgcf.conf
|
||
elif [[ -n $(grep -w 2606:4700:d0::a29f:c003 /etc/wireguard/wgcf.conf) ]]; then
|
||
sed -i "s/2606:4700:d0::a29f:c003/2606:4700:d0::a29f:c004/g" /etc/wireguard/wgcf.conf
|
||
elif [[ -n $(grep -w 2606:4700:d0::a29f:c004 /etc/wireguard/wgcf.conf) ]]; then
|
||
sed -i "s/2606:4700:d0::a29f:c004/2606:4700:d0::a29f:c005/g" /etc/wireguard/wgcf.conf
|
||
elif [[ -n $(grep -w 2606:4700:d0::a29f:c005 /etc/wireguard/wgcf.conf) ]]; then
|
||
sed -i "s/2606:4700:d0::a29f:c005/2606:4700:d0::a29f:c006/g" /etc/wireguard/wgcf.conf
|
||
elif [[ -n $(grep -w 2606:4700:d0::a29f:c006 /etc/wireguard/wgcf.conf) ]]; then
|
||
sed -i "s/2606:4700:d0::a29f:c006/2606:4700:d0::a29f:c007/g" /etc/wireguard/wgcf.conf
|
||
elif [[ -n $(grep -w 2606:4700:d0::a29f:c007 /etc/wireguard/wgcf.conf) ]]; then
|
||
sed -i "s/2606:4700:d0::a29f:c007/2606:4700:d0::a29f:c008/g" /etc/wireguard/wgcf.conf
|
||
elif [[ -n $(grep -w 2606:4700:d0::a29f:c008 /etc/wireguard/wgcf.conf) ]]; then
|
||
sed -i "s/2606:4700:d0::a29f:c008/2606:4700:d0::a29f:c009/g" /etc/wireguard/wgcf.conf
|
||
elif [[ -n $(grep -w 2606:4700:d0::a29f:c009 /etc/wireguard/wgcf.conf) ]]; then
|
||
sed -i "s/2606:4700:d0::a29f:c009/2606:4700:d0::a29f:c001/g" /etc/wireguard/wgcf.conf
|
||
fi
|
||
if [[ -n $(grep -w 2606:4700:d0::a29f:c101 /etc/wireguard/wgcf.conf) ]]; then
|
||
sed -i "s/2606:4700:d0::a29f:c101/2606:4700:d0::a29f:c102/g" /etc/wireguard/wgcf.conf
|
||
elif [[ -n $(grep -w 2606:4700:d0::a29f:c102 /etc/wireguard/wgcf.conf) ]]; then
|
||
sed -i "s/2606:4700:d0::a29f:c102/2606:4700:d0::a29f:c103/g" /etc/wireguard/wgcf.conf
|
||
elif [[ -n $(grep -w 2606:4700:d0::a29f:c103 /etc/wireguard/wgcf.conf) ]]; then
|
||
sed -i "s/2606:4700:d0::a29f:c103/2606:4700:d0::a29f:c104/g" /etc/wireguard/wgcf.conf
|
||
elif [[ -n $(grep -w 2606:4700:d0::a29f:c104 /etc/wireguard/wgcf.conf) ]]; then
|
||
sed -i "s/2606:4700:d0::a29f:c104/2606:4700:d0::a29f:c105/g" /etc/wireguard/wgcf.conf
|
||
elif [[ -n $(grep -w 2606:4700:d0::a29f:c105 /etc/wireguard/wgcf.conf) ]]; then
|
||
sed -i "s/2606:4700:d0::a29f:c105/2606:4700:d0::a29f:c106/g" /etc/wireguard/wgcf.conf
|
||
elif [[ -n $(grep -w 2606:4700:d0::a29f:c106 /etc/wireguard/wgcf.conf) ]]; then
|
||
sed -i "s/2606:4700:d0::a29f:c106/2606:4700:d0::a29f:c107/g" /etc/wireguard/wgcf.conf
|
||
elif [[ -n $(grep -w 2606:4700:d0::a29f:c107 /etc/wireguard/wgcf.conf) ]]; then
|
||
sed -i "s/2606:4700:d0::a29f:c107/2606:4700:d0::a29f:c108/g" /etc/wireguard/wgcf.conf
|
||
elif [[ -n $(grep -w 2606:4700:d0::a29f:c108 /etc/wireguard/wgcf.conf) ]]; then
|
||
sed -i "s/2606:4700:d0::a29f:c108/2606:4700:d0::a29f:c109/g" /etc/wireguard/wgcf.conf
|
||
elif [[ -n $(grep -w 2606:4700:d0::a29f:c109 /etc/wireguard/wgcf.conf) ]]; then
|
||
sed -i "s/2606:4700:d0::a29f:c109/2606:4700:d0::a29f:c101/g" /etc/wireguard/wgcf.conf
|
||
fi
|
||
if [[ -n $(grep -w 162.159.192.1 /etc/wireguard/wgcf.conf) ]]; then
|
||
sed -i "s/162.159.192.1/162.159.192.2/g" /etc/wireguard/wgcf.conf
|
||
elif [[ -n $(grep -w 162.159.192.2 /etc/wireguard/wgcf.conf) ]]; then
|
||
sed -i "s/162.159.192.2/162.159.192.3/g" /etc/wireguard/wgcf.conf
|
||
elif [[ -n $(grep -w 162.159.192.3 /etc/wireguard/wgcf.conf) ]]; then
|
||
sed -i "s/162.159.192.3/162.159.192.4/g" /etc/wireguard/wgcf.conf
|
||
elif [[ -n $(grep -w 162.159.192.4 /etc/wireguard/wgcf.conf) ]]; then
|
||
sed -i "s/162.159.192.4/162.159.192.5/g" /etc/wireguard/wgcf.conf
|
||
elif [[ -n $(grep -w 162.159.192.5 /etc/wireguard/wgcf.conf) ]]; then
|
||
sed -i "s/162.159.192.5/162.159.192.6/g" /etc/wireguard/wgcf.conf
|
||
elif [[ -n $(grep -w 162.159.192.6 /etc/wireguard/wgcf.conf) ]]; then
|
||
sed -i "s/162.159.192.6/162.159.192.7/g" /etc/wireguard/wgcf.conf
|
||
elif [[ -n $(grep -w 162.159.192.7 /etc/wireguard/wgcf.conf) ]]; then
|
||
sed -i "s/162.159.192.7/162.159.192.8/g" /etc/wireguard/wgcf.conf
|
||
elif [[ -n $(grep -w 162.159.192.8 /etc/wireguard/wgcf.conf) ]]; then
|
||
sed -i "s/162.159.192.8/162.159.192.9/g" /etc/wireguard/wgcf.conf
|
||
elif [[ -n $(grep -w 162.159.192.9 /etc/wireguard/wgcf.conf) ]]; then
|
||
sed -i "s/162.159.192.9/162.159.193.10/g" /etc/wireguard/wgcf.conf
|
||
elif [[ -n $(grep -w 162.159.193.10 /etc/wireguard/wgcf.conf) ]]; then
|
||
sed -i "s/162.159.193.10/162.159.192.1/g" /etc/wireguard/wgcf.conf
|
||
fi
|
||
if [[ -n $(grep -w 162.159.193.1 /etc/wireguard/wgcf.conf) ]]; then
|
||
sed -i "s/162.159.193.1/162.159.193.2/g" /etc/wireguard/wgcf.conf
|
||
elif [[ -n $(grep -w 162.159.193.2 /etc/wireguard/wgcf.conf) ]]; then
|
||
sed -i "s/162.159.193.2/162.159.193.3/g" /etc/wireguard/wgcf.conf
|
||
elif [[ -n $(grep -w 162.159.193.3 /etc/wireguard/wgcf.conf) ]]; then
|
||
sed -i "s/162.159.193.3/162.159.193.4/g" /etc/wireguard/wgcf.conf
|
||
elif [[ -n $(grep -w 162.159.193.4 /etc/wireguard/wgcf.conf) ]]; then
|
||
sed -i "s/162.159.193.4/162.159.193.5/g" /etc/wireguard/wgcf.conf
|
||
elif [[ -n $(grep -w 162.159.193.5 /etc/wireguard/wgcf.conf) ]]; then
|
||
sed -i "s/162.159.193.5/162.159.193.6/g" /etc/wireguard/wgcf.conf
|
||
elif [[ -n $(grep -w 162.159.193.6 /etc/wireguard/wgcf.conf) ]]; then
|
||
sed -i "s/162.159.193.6/162.159.193.7/g" /etc/wireguard/wgcf.conf
|
||
elif [[ -n $(grep -w 162.159.193.7 /etc/wireguard/wgcf.conf) ]]; then
|
||
sed -i "s/162.159.193.7/162.159.193.8/g" /etc/wireguard/wgcf.conf
|
||
elif [[ -n $(grep -w 162.159.193.8 /etc/wireguard/wgcf.conf) ]]; then
|
||
sed -i "s/162.159.193.8/162.159.193.9/g" /etc/wireguard/wgcf.conf
|
||
elif [[ -n $(grep -w 162.159.193.9 /etc/wireguard/wgcf.conf) ]]; then
|
||
sed -i "s/162.159.193.9/162.159.193.1/g" /etc/wireguard/wgcf.conf
|
||
fi
|
||
wg-quick down wgcf >/dev/null 2>&1
|
||
sleep 1
|
||
wg-quick up wgcf >/dev/null 2>&1
|
||
}
|
||
|
||
info
|
||
WGCFV4(){
|
||
while true; do
|
||
info
|
||
[[ "$result4" == "200" && "$region" = "dd" ]] && green "目前wgcf-ipv4的IP($v4)支持奈飞,WARP默认地区为$(eval echo \$$region) ,设置的地区为$(eval echo \$dd) ,下轮检测将在你设置的45秒后自动执行" && sleep 45s || (BEndpoint && yellow "目前wgcf-ipv4的IP($v4) $NF4,WARP默认地区为$(eval echo \$$region) ,设置的地区为$(eval echo \$dd) ,下轮检测将在你设置的30秒后自动执行" && sleep 30s)
|
||
done
|
||
}
|
||
WGCFV6(){
|
||
while true; do
|
||
info
|
||
[[ "$result6" == "200" && "$region" = "dd" ]] && green "目前wgcf-ipv6的IP($v6)支持奈飞,WARP默认地区为$(eval echo \$$region) ,设置的地区为$(eval echo \$dd) ,下轮检测将在你设置的45秒后自动执行" && sleep 45s || (BEndpoint && yellow "目前wgcf-ipv6的IP($v6) $NF6,WARP默认地区为$(eval echo \$$region) ,设置的地区为$(eval echo \$dd) ,下轮检测将在你设置的30秒后自动执行" && sleep 30s)
|
||
done
|
||
}
|
||
SOCKS5warp(){
|
||
while true; do
|
||
info
|
||
[[ "$result" == "200" && "$region" = "dd" ]] && green "目前socks5的IP($s5ip)支持奈飞,WARP默认地区为$(eval echo \$$region) ,设置的地区为$(eval echo \$dd) ,下轮检测将在你设置的45秒后自动执行" && sleep 45s || (s5c && yellow "目前socks5的IP($s5ip) $NF,WARP默认地区为$(eval echo \$$region) ,设置的地区为$(eval echo \$dd) ,下轮检测将在你设置的30秒后自动执行" && sleep 30s)
|
||
done
|
||
}
|
||
SOCKS5wgcf4(){
|
||
while true; do
|
||
info
|
||
[[ "$result" == "200" && "$region" = "dd" ]] && green "目前socks5的IP($s5ip)支持奈飞,WARP默认地区为$(eval echo \$$region) ,设置的地区为$(eval echo \$dd) ,下轮检测将在你设置的45秒后自动执行" && sleep 45s || (s5c && yellow "目前socks5的IP($s5ip) $NF,WARP默认地区为$(eval echo \$$region) ,设置的地区为$(eval echo \$dd) ,下轮检测将在你设置的30秒后自动执行" && sleep 30s)
|
||
[[ "$result4" == "200" && "$region" = "dd" ]] && green "目前wgcf-ipv4的IP($v4)支持奈飞,WARP默认地区为$(eval echo \$$region) ,设置的地区为$(eval echo \$dd) ,下轮检测将在你设置的45秒后自动执行" && sleep 45s || (BEndpoint && yellow "目前wgcf-ipv4的IP($v4) $NF4,WARP默认地区为$(eval echo \$$region) ,设置的地区为$(eval echo \$dd) ,下轮检测将在你设置的30秒后自动执行" && sleep 30s)
|
||
done
|
||
}
|
||
SOCKS5wgcf6(){
|
||
while true; do
|
||
info
|
||
[[ "$result" == "200" && "$region" = "dd" ]] && green "目前socks5的IP($s5ip)支持奈飞,WARP默认地区为$(eval echo \$$region) ,设置的地区为$(eval echo \$dd) ,下轮检测将在你设置的45秒后自动执行" && sleep 45s || (s5c && yellow "目前socks5的IP($s5ip) $NF,WARP默认地区为$(eval echo \$$region) ,设置的地区为$(eval echo \$dd) ,下轮检测将在你设置的30秒后自动执行" && sleep 30s)
|
||
[[ "$result6" == "200" && "$region" = "dd" ]] && green "目前wgcf-ipv6的IP($v6)支持奈飞,WARP默认地区为$(eval echo \$$region) ,设置的地区为$(eval echo \$dd) ,下轮检测将在你设置的45秒后自动执行" && sleep 45s || (BEndpoint && yellow "目前wgcf-ipv6的IP($v6) $NF6,WARP默认地区为$(eval echo \$$region) ,设置的地区为$(eval echo \$dd) ,下轮检测将在你设置的30秒后自动执行" && sleep 30s)
|
||
done
|
||
}
|
||
WGCFV4V6(){
|
||
while true; do
|
||
info
|
||
[[ "$result4" == "200" && "$region" = "dd" ]] && green "目前wgcf-ipv4的IP($v4)支持奈飞,WARP默认地区为$(eval echo \$$region) ,设置的地区为$(eval echo \$dd) ,下轮检测将在你设置的45秒后自动执行" && sleep 45s || (BEndpoint && yellow "目前wgcf-ipv4的IP($v4) $NF4,WARP默认地区为$(eval echo \$$region) ,设置的地区为$(eval echo \$dd) ,下轮检测将在你设置的30秒后自动执行" && sleep 30s)
|
||
[[ "$result6" == "200" && "$region" = "dd" ]] && green "目前wgcf-ipv6的IP($v6)支持奈飞,WARP默认地区为$(eval echo \$$region) ,设置的地区为$(eval echo \$dd) ,下轮检测将在你设置的45秒后自动执行" && sleep 45s || (BEndpoint && yellow "目前wgcf-ipv6的IP($v6) $NF6,WARP默认地区为$(eval echo \$$region) ,设置的地区为$(eval echo \$dd) ,下轮检测将在你设置的30秒后自动执行" && sleep 30s)
|
||
done
|
||
}
|
||
[[ $(warp-cli --accept-tos status 2>/dev/null ) =~ 'Connected' && $wgcfv6 =~ on|plus ]] && green "双栈WARP循环执行:刷socks5与wgcf-ipv6的IP" && SOCKS5wgcf6
|
||
[[ $(warp-cli --accept-tos status 2>/dev/null ) =~ 'Connected' && $wgcfv4 =~ on|plus ]] && green "双栈WARP循环执行:刷socks5与wgcf-ipv4的IP" && SOCKS5wgcf4
|
||
if [[ $(warp-cli --accept-tos status 2>/dev/null ) =~ 'Connected' ]]; then
|
||
[[ ! $wgcfv6 =~ on|plus && ! $wgcfv4 =~ on|plus ]] && green "单栈WARP循环执行:刷socks5的IP" && SOCKS5warp
|
||
fi
|
||
[[ $wgcfv6 =~ on|plus && $wgcfv4 =~ on|plus ]] && green "双栈WARP单v4循环执行:仅刷wgcf-ipv4的IP" && WGCFV4
|
||
[[ $wgcfv6 = off && $wgcfv4 =~ on|plus ]] && green "单栈WARP循环执行:刷wgcf-ipv4的IP" && WGCFV4
|
||
[[ $wgcfv6 =~ on|plus && $wgcfv4 = off ]] && green "单栈WARP循环执行:刷wgcf-ipv6的IP" && WGCFV6
|
||
[[ -z $wgcfv6 && $wgcfv4 =~ on|plus ]] && green "单栈WARP循环执行:刷wgcf-ipv4的IP" && WGCFV4
|
||
[[ $wgcfv6 =~ on|plus && -z $wgcfv4 ]] && green "单栈WARP循环执行:刷wgcf-ipv6的IP" && WGCFV6
|