Update unlock.sh

dependabot/github_actions/actions/checkout-3.1.0
fscarmen 4 years ago committed by GitHub
parent e1e8c6e1d8
commit fe532cbb7a
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
  1. 140
      unlock.sh

@ -3,7 +3,7 @@ export PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin:/sbin:/b
export LANG=en_US.UTF-8
# 当前脚本版本号和新增功能
VERSION='1.06'
VERSION='1.07'
# 最大支持流媒体
SUPPORT_NUM='2'
@ -13,14 +13,14 @@ declare -A T
T[E0]="\n Language:\n 1.English (default) \n 2.简体中文\n"
T[C0]="${T[E0]}"
T[E1]="1. Add two modes to unlock: systemd service and pm2 daemon"
T[C1]="1. 增加两个解锁模式: systemd 服务和 pm2 进程守护"
T[E1]="1. Support change IP for WireProxy"
T[C1]="1. 支持 WirePorxy 更换 IP"
T[E2]="The script must be run as root, you can enter sudo -i and then download and run again. Feedback: [https://github.com/fscarmen/warp_unlock/issues]"
T[C2]="必须以root方式运行脚本,可以输入 sudo -i 后重新下载运行,问题反馈:[https://github.com/fscarmen/warp_unlock/issues]"
T[E3]="Choose:"
T[C3]="请选择:"
T[E4]="\n Neither the WARP network interface nor Socks5 are installed, please select the installation script:\n 1. fscarmen (Default)\n 2. kkkyg\n 3. P3terx\n 0. Exit\n"
T[C4]="\n WARP 网络接口和 Socks5 都没有安装,请选择安装脚本:\n 1. fscarmen (默认)\n 2. kkkyg\n 3. P3terx\n 0. 退出\n"
T[E4]="\n Neither the WARP network interface nor Socks5 are installed, please select the installation script:\n 1. fscarmen (Default)\n 2. kkkyg\n 3. P3terx\n 4. Misaka\n 0. Exit\n"
T[C4]="\n WARP 网络接口和 Socks5 都没有安装,请选择安装脚本:\n 1. fscarmen (默认)\n 2. kkkyg\n 3. P3terx\n 4. Misaka\n 0. 退出\n"
T[E5]="The script supports Debian, Ubuntu, CentOS or Alpine systems only. Feedback: [https://github.com/fscarmen/warp_unlock/issues]"
T[C5]="本脚本只支持 Debian、Ubuntu、CentOS 或 Alpine 系统,问题反馈:[https://github.com/fscarmen/warp_unlock/issues]"
T[E6]="Please choose to brush WARP IP:\n 1. WARP Socks5 Proxy (Default)\n 2. WARP IPv6 Interface\n"
@ -85,6 +85,24 @@ T[E43]="Media unlock daemon installed successfully. A systemd service has been c
T[C43]="\n 媒体解锁守护进程已安装成功,已创建一个 systemd 服务,查看 [systemctl status warp_unlock],关闭 [systemctl disable --now warp_unlock],VPS 重启仍生效。进入任务运行日志将保存在 /root/result.log\n"
T[E44]="Media unlock daemon installed successfully. pm2 daemon is running, check pm2 [list] and close [pm2 delete warp_unlock; pm2 unstartup systemd;]. The VPS restart will still take effect. The running log of the scheduled task will be saved in /root/result.log\n"
T[C44]="\n 媒体解锁守护进程已安装成功,pm2 守护进程正在工作中,查看 [pm2 list],关闭 [pm2 delete warp_unlock; pm2 unstartup systemd; ],VPS 重启仍生效。进入任务运行日志将保存在 /root/result.log\n"
T[E45]="Please choose to brush WARP IP:\n 1. WireProxy (Default)\n 2. WARP Socks5 Proxy\n"
T[C45]="\n 请选择刷 WARP IP 方式:\n 1. WireProxy (默认)\n 2. WARP Socks5 代理\n"
T[E46]="Please choose to brush WARP IP:\n 1. WireProxy (Default)\n 2. WARP IPv6 Interface\n"
T[C46]="\n 请选择刷 WARP IP 方式:\n 1. WireProxy (默认)\n 2. WARP IPv6 网络接口\n"
T[E47]="Please choose to brush WARP IP:\n 1. WireProxy (Default)\n 2. WARP Socks5 Proxy\n 3. WARP IPv6 Interface\n"
T[C47]="\n 请选择刷 WARP IP 方式:\n 1. WireProxy (默认)\n 2. WARP Socks5 代理\n 3. WARP IPv6 网络接口\n"
T[E48]="Please choose to brush WARP IP:\n 1. WireProxy (Default)\n 2. WARP IPv4 Interface\n"
T[C48]="\n 请选择刷 WARP IP 方式:\n 1. WireProxy (默认)\n 2. WARP IPv4 网络接口\n"
T[E49]="Please choose to brush WARP IP:\n 1. WARP Socks5 Proxy (Default)\n 2. WARP IPv4 Interface\n"
T[C49]="\n 请选择刷 WARP IP 方式:\n 1. WARP Socks5 代理 (默认)\n 2. WARP IPv4 网络接口\n"
T[E50]="Please choose to brush WARP IP:\n 1. WireProxy (Default)\n 2. WARP Socks5 Proxy\n 3. WARP IPv4 Interface\n"
T[C50]="\n 请选择刷 WARP IP 方式:\n 1. WireProxy (默认)\n 2. WARP Socks5 代理\n 3. WARP IPv4 网络接口\n"
T[E51]="Please choose to brush WARP IP:\n 1. WireProxy (Default)\n 2. WARP IPv4 Interface\n 3. WARP IPv6 Interface\n"
T[C51]="\n 请选择刷 WARP IP 方式:\n 1. WireProxy (默认)\n 2. WARP IPv4 网络接口\n 3. WARP IPv6 网络接口\n"
T[E52]="Please choose to brush WARP IP:\n 1. WARP Socks5 Proxy (Default)\n 2. WARP IPv4 Interface\n 3. WARP IPv6 Interface\n"
T[C52]="\n 请选择刷 WARP IP 方式:\n 1. WARP Socks5 代理 (默认)\n 2. WARP IPv4 网络接口\n 3. WARP IPv6 网络接口\n"
T[E53]="Please choose to brush WARP IP:\n 1. WireProxy (Default)\n 2. WARP Socks5 Proxy (Default)\n 3. WARP IPv4 Interface\n 4. WARP IPv6 Interface\n"
T[C53]="\n 请选择刷 WARP IP 方式:\n 1. WireProxy (默认)\n 2. WARP Socks5 代理 (默认)\n 3. WARP IPv4 网络接口\n 4. WARP IPv6 网络接口\n"
# 自定义字体彩色,read 函数,友道翻译函数,安装依赖函数
red(){ echo -e "\033[31m\033[01m$1\033[0m"; }
@ -161,34 +179,106 @@ if [[ -z "${STATUS[@]}" ]]; then
fi
type -P warp-cli >/dev/null 2>&1 && [[ ! $(ss -nltp) =~ 'warp-svc' ]] && warp-cli --accept-tos connect >/dev/null 2>&1
[[ $(ss -nltp) =~ 'warp-svc' ]] && STATUS[2]=1 || STATUS[2]=0
[[ $(ss -nltp) =~ 'warp-svc' ]] && CLIENT_PORT=$(ss -nltp | grep warp-svc | grep -oP '127.0*\S+' | cut -d: -f2) && STATUS[2]=1 || STATUS[2]=0
type -P wireproxy >/dev/null 2>&1 && [[ ! $(ss -nltp) =~ 'wireproxy' ]] && systemctl restart wireproxy
[[ $(ss -nltp) =~ 'wireproxy' ]] && WIREPROXY_PORT=$(ss -nltp | grep wireproxy | grep -oP '127.0*\S+' | cut -d: -f2) && STATUS[3]=1 || STATUS[3]=0
fi
CASE_IPV4(){ NIC='-ks4m8'; RESTART="wgcf_restart"; }
CASE_IPV6(){ NIC='-ks6m8'; RESTART="wgcf_restart"; }
CASE_CLIENT(){ NIC="-sx socks5h://localhost:$CLIENT_PORT"; RESTART="socks5_restart"; }
CASE_WIREPROXY(){ NIC="-sx socks5h://localhost:$WIREPROXY_PORT"; RESTART="wireproxy_restart"; }
case "${STATUS[@]}" in
'0 0 0') yellow " ${T[${L}4]} " && reading " ${T[${L}3]} " CHOOSE2
'0 0 0 0') yellow " ${T[${L}4]} " && reading " ${T[${L}3]} " CHOOSE2
case "$CHOOSE2" in
2 ) wget -N https://cdn.jsdelivr.net/gh/kkkyg/CFwarp/CFwarp.sh && bash CFwarp.sh; exit;;
3 ) bash <(curl -fsSL git.io/warp.sh) menu; exit;;
4 ) wget -N https://raw.githubusercontents.com/Misaka-blog/Misaka-WARP-Script/master/misakawarp.sh && bash misakawarp.sh; exit;;
0 ) exit;;
* ) wget -N https://cdn.jsdelivr.net/gh/fscarmen/warp/menu.sh && bash menu.sh; exit;;
esac;;
'0 0 1' ) PROXYSOCKS5=$(ss -nltp | grep warp | grep -oP '127.0*\S+')
NIC="-ks4m8 --socks5 $PROXYSOCKS5"
RESTART="socks5_restart";;
'0 1 0' ) NIC='-ks6m8'; RESTART="wgcf_restart";;
'1 0 0' ) NIC='-ks4m8'; RESTART="wgcf_restart";;
'1 1 0' ) yellow " ${T[${L}23]} " && reading " ${T[${L}3]} " CHOOSE3
case "$CHOOSE3" in
2 ) NIC='-ks6m8'; RESTART="wgcf_restart";;
* ) NIC='-ks4m8'; RESTART="wgcf_restart";;
esac;;
'0 1 1' ) yellow " ${T[${L}6]} " && reading " ${T[${L}3]} " CHOOSE3
case "$CHOOSE3" in
2 ) NIC='-ks6m8'; RESTART="wgcf_restart";;
* ) PROXYSOCKS5=$(ss -nltp | grep warp | grep -oP '127.0*\S+')
NIC="-ks4m8 --socks5 $PROXYSOCKS5"
RESTART="socks5_restart";;
esac;;
'0 0 0 1') CASE_WIREPROXY;;
'0 0 1 0') CASE_CLIENT;;
'0 0 1 1') yellow " ${T[${L}45]} " && reading " ${T[${L}3]} " CHOOSE3
case "$CHOOSE3" in
2 ) CASE_CLIENT;;
* ) CASE_WIREPROXY;;
esac;;
'0 1 0 0') CASE_IPV6;;
'0 1 0 1') yellow " ${T[${L}46]} " && reading " ${T[${L}3]} " CHOOSE3
case "$CHOOSE3" in
2 ) CASE_IPV6;;
* ) CASE_WIREPROXY;;
esac;;
'0 1 1 0') yellow " ${T[${L}6]} " && reading " ${T[${L}3]} " CHOOSE3
case "$CHOOSE3" in
2 ) CASE_IPV6;;
* ) CASE_CLIENT;;
esac;;
'0 1 1 1') yellow " ${T[${L}47]} " && reading " ${T[${L}3]} " CHOOSE3
case "$CHOOSE3" in
2 ) CASE_CLIENT;;
3 )CASE_IPV6;;
* ) CASE_WIREPROXY;;
esac;;
'1 0 0 0' ) CASE_IPV4;;
'1 0 0 1' ) yellow " ${T[${L}48]} " && reading " ${T[${L}3]} " CHOOSE3
case "$CHOOSE3" in
2 ) CASE_IPV4;;
* ) CASE_WIREPROXY;;
esac;;
'1 0 1 0' ) yellow " ${T[${L}49]} " && reading " ${T[${L}3]} " CHOOSE3
case "$CHOOSE3" in
2 ) CASE_IPV4;;
* ) CASE_CLIENT;;
esac;;
'1 0 1 1') yellow " ${T[${L}50]} " && reading " ${T[${L}3]} " CHOOSE3
case "$CHOOSE3" in
2 ) CASE_CLIENT;;
3 ) CASE_IPV4;;
* ) CASE_WIREPROXY;;
esac;;
'1 1 0 0' ) yellow " ${T[${L}23]} " && reading " ${T[${L}3]} " CHOOSE3
case "$CHOOSE3" in
2 ) CASE_IPV6;;
* ) CASE_IPV4;;
esac;;
'1 1 0 1') yellow " ${T[${L}51]} " && reading " ${T[${L}3]} " CHOOSE3
case "$CHOOSE3" in
2 ) CASE_IPV4;;
3 )CASE_IPV6;;
* ) CASE_WIREPROXY;;
esac;;
'1 1 1 0') yellow " ${T[${L}52]} " && reading " ${T[${L}3]} " CHOOSE3
case "$CHOOSE3" in
2 ) CASE_IPV4;;
3 )CASE_IPV6;;
* ) CASE_CLIENT;;
esac;;
'1 1 1 1') yellow " ${T[${L}53]} " && reading " ${T[${L}3]} " CHOOSE3
case "$CHOOSE3" in
2 ) CASE_CLIENT;;
3 ) CASE_IPV4;;
4 )CASE_IPV6;;
* ) CASE_WIREPROXY;;
esac;;
esac
}
@ -280,6 +370,8 @@ warp-cli --accept-tos delete >/dev/null 2>&1 && warp-cli --accept-tos register >
ip
[[ -e /etc/wireguard/license ]] && warp-cli --accept-tos set-license \$(cat /etc/wireguard/license) >/dev/null 2>&1 && sleep 2; }
wireproxy_restart(){ systemctl restart wg-quick@wgcf; sleep 5; ip; }
check0(){
RESULT[0]=""; REGION[0]=""; R[0]="";
RESULT[0]=\$(curl --user-agent "\${UA_Browser}" \$NIC -fsL --write-out %{http_code} --output /dev/null --max-time 10 "https://www.netflix.com/title/\$RESULT_TITLE" 2>&1)

Loading…
Cancel
Save