diff --git a/mac.sh b/mac.sh index 50753fb..b9a50b7 100644 --- a/mac.sh +++ b/mac.sh @@ -4,118 +4,112 @@ # 当前脚本版本号和新增功能 VERSION=1.00 -declare -A T - -T[E0]="\n Language:\n 1.English (default) \n 2.简体中文\n" -T[C0]="${T[E0]}" -T[E1]="First publication on a global scale: WARP one-click script on macOS. A VPN that fast,modern,secure by WireGuard tunnel and WARP service" -T[C1]="全网首发: macOS 一键脚本, 一个为免费、快速、安全的基于 WireGuard 隧道,WARP 服务的 VPN" -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/issues]" -T[C2]="必须以root方式运行脚本,可以输入 sudo -i 后重新下载运行,问题反馈:[https://github.com/fscarmen/warp/issues]" -T[E3]="Choose:" -T[C3]="请选择:" -T[E4]="WARP have been completely deleted!" -T[C4]="WARP 已彻底删除!" -T[E5]="The script supports macOS only. Feedback: [https://github.com/fscarmen/warp/issues]" -T[C5]="本脚本只支持 macOS, 问题反馈:[https://github.com/fscarmen/warp/issues]" -T[E6]="If there is a WARP+ License, please enter it, otherwise press Enter to continue:" -T[C6]="如有 WARP+ License 请输入,没有可回车继续:" -T[E7]="Input errors up to 5 times.The script is aborted." -T[C7]="输入错误达5次,脚本退出" -T[E8]="License should be 26 characters, please re-enter WARP+ License. Otherwise press Enter to continue. \(\${i} times remaining\):" -T[C8]="License 应为26位字符,请重新输入 WARP+ License,没有可回车继续\(剩余\${i}次\):" -T[E9]="Please customize the WARP+ device name (Default is [WARP] if left blank):" -T[C9]="请自定义 WARP+ 设备名 (如果不输入,默认为 [WARP]):" -T[E10]="Step 1/3: Install brew and wireguard-tools" -T[C10]="进度 1/3:安装 brew 和 wireguard-tools" -T[E11]="Step 2/3: Install WGCF and wireguard-go" -T[C11]="进度 2/3:安装 WGCF 和 wireguard-go" -T[E12]="Step 3/3: Running WARP" -T[C12]="进度 3/3:运行 WARP" -T[E13]="Update WARP+ account..." -T[C13]="升级 WARP+ 账户中……" -T[E14]="The upgrade failed, WARP+ account error or more than 5 devices have been activated. Free WARP account to continu." -T[C14]="升级失败,WARP+ 账户错误或者已激活超过5台设备,自动更换免费 WARP 账户继续" -T[E15]="Congratulations! WARP\$TYPE is turned on. Spend time:\$(( end - start )) seconds.\\\n The script runs today: \${TODAY}. Total: \${TOTAL}" -T[C15]="恭喜!WARP\$TYPE 已开启,总耗时:\$(( end - start ))秒, 脚本当天运行次数: \${TODAY},累计运行次数:\${TOTAL}" -T[E16]="Congratulations! WARP is turned on. Spend time:\$(( end - start )) seconds.\\\n The script runs on today: \${TODAY}. Total: \${TOTAL}" -T[C16]="恭喜!WARP 已开启,总耗时:\$(( end - start ))秒, 脚本当天运行次数: \${TODAY},累计运行次数: \${TOTAL}" -T[E17]="Device name:\$(grep -s 'Device name' /etc/wireguard/info.log | awk '{ print \$NF }')\\\n Quota:\$(grep -s Quota /etc/wireguard/info.log | awk '{ print \$(NF-1), \$NF }')" -T[C17]="设备名:\$(grep -s 'Device name' /etc/wireguard/info.log | awk '{ print \$NF }')\\\n 剩余流量:\$(grep -s Quota /etc/wireguard/info.log | awk '{ print \$(NF-1), \$NF }')" -T[E18]="Run again with warp [option] [lisence], such as" -T[C18]="再次运行用 warp [option] [lisence],如" -T[E19]="WARP installation failed. Feedback: [https://github.com/fscarmen/warp/issues]" -T[C19]="WARP 安装失败,问题反馈:[https://github.com/fscarmen/warp/issues]" -T[E20]="warp h (help)\n warp o (WARP on-off)\n warp u (Turn off and uninstall WARP interface)\n warp a (Upgrade to WARP+ or Teams account)\n warp e (Install WARP in English)\n warp c (Install WARP in Chinese)\n warp v (Sync the latest version)" -T[C20]="warp h (帮助菜单)\n warp o (临时warp开关)\n warp u (卸载 WARP )\n warp a (免费 WARP 账户升级 WARP+ 或 Teams)\n warp e (英文安装 WARP )\n warp c (中文安装 WARP )\n warp v (同步脚本至最新版本)" -T[E21]="WGCF WARP has not been installed yet." -T[C21]="WGCF WARP 还未安装" -T[E22]="WARP is turned off. It could be turned on again by [warp o]" -T[C22]="已暂停 WARP,再次开启可以用 warp o" -T[E23]="WireGuard tools are not installed or the configuration file wgcf.conf cannot be found, please reinstall." -T[C23]="没有安装 WireGuard tools 或者找不到配置文件 wgcf.conf,请重新安装。" -T[E24]="Maximum \${j} attempts to get WARP IP..." -T[C24]="后台获取 WARP IP 中,最大尝试\${j}次……" -T[E25]="Try \${i}" -T[C25]="第\${i}次尝试" -T[E26]="Got the WARP IP successfully." -T[C26]="已成功获取 WARP 网络" -T[E27]="Create shortcut [bash warp] successfully" -T[C27]="创建快捷 bash warp 指令成功" -T[E28]="Successfully synchronized the latest version" -T[C28]="成功!已同步最新脚本,版本号" -T[E29]="New features" -T[C29]="功能新增" -T[E30]="Upgrade failed. Feedback:[https://github.com/fscarmen/warp/issues]" -T[C30]="升级失败,问题反馈:[https://github.com/fscarmen/warp/issues]" -T[E31]="WARP+ or Teams account is working now. No need to upgrade." -T[C31]="已经是 WARP+ 或者 Teams 账户,不需要升级" -T[E32]="Cannot find the account file: /etc/wireguard/wgcf-account.toml, you can reinstall with the WARP+ License" -T[C32]="找不到账户文件:/etc/wireguard/wgcf-account.toml,可以卸载后重装,输入 WARP+ License" -T[E33]="Cannot find the configuration file: /etc/wireguard/wgcf.conf, you can reinstall with the WARP+ License" -T[C33]="找不到配置文件: /etc/wireguard/wgcf.conf,可以卸载后重装,输入 WARP+ Licens" -T[E34]="\n 1.Update with WARP+ license\n 2.Update with Teams (You need upload the Teams file to a private storage space before. For example: gist.github.com)\n" -T[C34]="\n 1.使用 WARP+ license 升级\n 2.使用 Teams 升级 (你须事前把 Teams 文件上传到私密存储空间,比如:gist.github.com )\n" -T[E35]="Successfully upgraded to a WARP+ account" -T[C35]="已升级为 WARP+ 账户" -T[E36]="Device name" -T[C36]="设备名" -T[E37]="WARP+ quota" -T[C37]="剩余流量" -T[E38]="The upgrade failed, WARP+ account error or more than 5 devices have been activated. Free WARP account to continu." -T[C38]="升级失败,WARP+ 账户错误或者已激活超过5台设备,自动更换免费 WARP 账户继续" -T[E39]="Successfully upgraded to a WARP Teams account" -T[C39]="已升级为 WARP Teams 账户" -T[E40]="Please enter the correct number" -T[C40]="请输入正确数字" -T[E41]="Please Input WARP+ license:" -T[C41]="请输入WARP+ License:" -T[E42]="License should be 26 characters, please re-enter WARP+ License. Otherwise press Enter to continue. \(\${i} times remaining\): " -T[C42]="License 应为26位字符,请重新输入 WARP+ License \(剩余\${i}次\): " -T[E43]="Please customize the WARP+ device name (Default is [WARP] if left blank):" -T[C43]="请自定义 WARP+ 设备名 (如果不输入,默认为 [WARP]):" -T[E44]="Please input Teams file URL (To use the one provided by the script if left blank):" -T[C44]="请输入 Teams 文件 URL (如果留空,则使用脚本提供的):" -T[E45]="( match √ )" -T[C45]="( 符合 √ )" -T[E46]="( mismatch X )" -T[C46]="( 不符合 X )" -T[E47]="\\\n Please confirm\\\n Private key\\\t: \$PRIVATEKEY \$MATCH1\\\n Public key\\\t: \$PUBLICKEY \$MATCH2\\\n Address IPv4\\\t: \$ADDRESS4/32 \$MATCH3\\\n Address IPv6\\\t: \$ADDRESS6/128 \$MATCH4\\\n" -T[C47]="\\\n 请确认Teams 信息\\\n Private key\\\t: \$PRIVATEKEY \$MATCH1\\\n Public key\\\t: \$PUBLICKEY \$MATCH2\\\n Address IPv4\\\t: \$ADDRESS4/32 \$MATCH3\\\n Address IPv6\\\t: \$ADDRESS6/128 \$MATCH4\\\n" -T[E48]="comfirm please enter [y] , and other keys to use free account:" -T[C48]="确认请按 y ,其他按键则使用免费账户:" -T[E49]="\n Is there a WARP+ or Teams account?\n 1. WARP+\n 2. Teams\n 3. use free account (default)\n" -T[C49]="\n 如有 WARP+ 或 Teams 账户请选择\n 1. WARP+\n 2. Teams\n 3. 使用免费账户 (默认)\n" -T[E50]="If there is a WARP+ License, please enter it, otherwise press Enter to continue:" -T[C50]="如有 WARP+ License 请输入,没有可回车继续:" -T[E51]="License should be 26 characters, please re-enter WARP+ License. Otherwise press Enter to continue. \(\${i} times remaining\):" -T[C51]="License 应为26位字符,请重新输入 WARP+ License,没有可回车继续\(剩余\${i}次\):" -T[E52]="There have been more than \${j} failures. The script is aborted. Feedback: [https://github.com/fscarmen/warp/issues]" -T[C52]="失败已超过\${j}次,脚本中止,问题反馈:[https://github.com/fscarmen/warp/issues]" -T[E53]="wgcf download failed, script aborted. The script is aborted. Feedback: [https://github.com/fscarmen/warp/issues]" -T[C53]="wgcf 下载失败,脚本中止,问题反馈:[https://github.com/fscarmen/warp/issues]" -T[E54]="wireguard-go download failed, script aborted. The script is aborted. Feedback: [https://github.com/fscarmen/warp/issues]" -T[C54]="wireguard-go 下载失败,脚本中止,问题反馈:[https://github.com/fscarmen/warp/issues]" +E[0]="\n Language:\n 1.English (default) \n 2.简体中文\n" +C[0]="${T[E0]}" +E[1]="First publication on a global scale: WARP one-click script on macOS. A VPN that fast,modern,secure by WireGuard tunnel and WARP service" +C[1]="全网首发: macOS 一键脚本, 一个为免费、快速、安全的基于 WireGuard 隧道,WARP 服务的 VPN" +E[2]="The script must be run as root, you can enter sudo -i and then download and run again. Feedback: [https://github.com/fscarmen/warp/issues]" +C[2]="必须以root方式运行脚本,可以输入 sudo -i 后重新下载运行,问题反馈:[https://github.com/fscarmen/warp/issues]" +E[3]="Choose:" +C[3]="请选择:" +E[4]="WARP have been completely deleted!" +C[4]="WARP 已彻底删除!" +E[5]="The script supports macOS only. Feedback: [https://github.com/fscarmen/warp/issues]" +C[5]="本脚本只支持 macOS, 问题反馈:[https://github.com/fscarmen/warp/issues]" +E[6]="If there is a WARP+ License, please enter it, otherwise press Enter to continue:" +C[6]="如有 WARP+ License 请输入,没有可回车继续:" +E[7]="Input errors up to 5 times.The script is aborted." +C[7]="输入错误达5次,脚本退出" +E[8]="License should be 26 characters, please re-enter WARP+ License. Otherwise press Enter to continue. \(\${i} times remaining\):" +C[8]="License 应为26位字符,请重新输入 WARP+ License,没有可回车继续\(剩余\${i}次\):" +E[9]="Please customize the WARP+ device name (Default is [WARP] if left blank):" +C[9]="请自定义 WARP+ 设备名 (如果不输入,默认为 [WARP]):" +E[10]="Step 1/3: Install brew and wireguard-tools" +C[10]="进度 1/3:安装 brew 和 wireguard-tools" +E[11]="Step 2/3: Install WGCF and wireguard-go" +C[11]="进度 2/3:安装 WGCF 和 wireguard-go" +E[12]="Step 3/3: Running WARP" +C[12]="进度 3/3:运行 WARP" +E[13]="Update WARP+ account..." +C[13]="升级 WARP+ 账户中……" +E[14]="The upgrade failed, WARP+ account error or more than 5 devices have been activated. Free WARP account to continu." +C[14]="升级失败,WARP+ 账户错误或者已激活超过5台设备,自动更换免费 WARP 账户继续" +E[15]="Congratulations! WARP\$TYPE is turned on. Spend time:\$(( end - start )) seconds.\\\n The script runs today: \$TODAY. Total:\$TOTAL" +C[15]="恭喜!WARP\$TYPE 已开启,总耗时:\$(( end - start ))秒, 脚本当天运行次数:\$TODAY,累计运行次数:\$TOTAL" +E[16]="Congratulations! WARP is turned on. Spend time:\$(( end - start )) seconds.\\\n The script runs on today: \$TODAY. Total:\$TOTAL" +C[16]="恭喜!WARP 已开启,总耗时:\$(( end - start ))秒, 脚本当天运行次数:\$TODAY,累计运行次数:\$TOTAL" +E[17]="Device name:\$(grep -s 'Device name' /etc/wireguard/info.log | awk '{ print \$NF }')\\\n Quota:\$(grep -s Quota /etc/wireguard/info.log | awk '{ print \$(NF-1), \$NF }')" +C[17]="设备名:\$(grep -s 'Device name' /etc/wireguard/info.log | awk '{ print \$NF }')\\\n 剩余流量:\$(grep -s Quota /etc/wireguard/info.log | awk '{ print \$(NF-1), \$NF }')" +E[18]="Run again with warp [option], such as" +C[18]="再次运行用 warp [option],如" +E[19]="WARP installation failed. Feedback: [https://github.com/fscarmen/warp/issues]" +C[19]="WARP 安装失败,问题反馈:[https://github.com/fscarmen/warp/issues]" +E[20]="warp h (help)\n warp o (WARP on-off)\n warp u (Turn off and uninstall WARP interface)\n warp a (Upgrade to WARP+ or Teams account)\n warp e (Install WARP in English)\n warp c (Install WARP in Chinese)\n warp v (Sync the latest version)" +C[20]="warp h (帮助菜单)\n warp o (临时warp开关)\n warp u (卸载 WARP )\n warp a (免费 WARP 账户升级 WARP+ 或 Teams)\n warp e (英文安装 WARP )\n warp c (中文安装 WARP )\n warp v (同步脚本至最新版本)" +E[21]="WGCF WARP has not been installed yet." +C[21]="WGCF WARP 还未安装" +E[22]="WARP is turned off. It could be turned on again by [warp o]" +C[22]="已暂停 WARP,再次开启可以用 warp o" +E[23]="WireGuard tools are not installed or the configuration file wgcf.conf cannot be found, please reinstall." +C[23]="没有安装 WireGuard tools 或者找不到配置文件 wgcf.conf,请重新安装。" +E[24]="Maximum \${j} attempts to get WARP IP..." +C[24]="后台获取 WARP IP 中,最大尝试\${j}次……" +E[25]="Try \${i}" +C[25]="第\${i}次尝试" +E[26]="Got the WARP IP successfully." +C[26]="已成功获取 WARP 网络" +E[27]="Create shortcut [bash warp] successfully" +C[27]="创建快捷 bash warp 指令成功" +E[28]="Successfully synchronized the latest version" +C[28]="成功!已同步最新脚本,版本号" +E[29]="New features" +C[29]="功能新增" +E[30]="Upgrade failed. Feedback:[https://github.com/fscarmen/warp/issues]" +C[30]="升级失败,问题反馈:[https://github.com/fscarmen/warp/issues]" +E[31]="WARP+ or Teams account is working now. No need to upgrade." +C[31]="已经是 WARP+ 或者 Teams 账户,不需要升级" +E[32]="Cannot find the account file: /etc/wireguard/wgcf-account.toml, you can reinstall with the WARP+ License" +C[32]="找不到账户文件:/etc/wireguard/wgcf-account.toml,可以卸载后重装,输入 WARP+ License" +E[33]="Cannot find the configuration file: /etc/wireguard/wgcf.conf, you can reinstall with the WARP+ License" +C[33]="找不到配置文件: /etc/wireguard/wgcf.conf,可以卸载后重装,输入 WARP+ Licens" +E[34]="\n 1.Update with WARP+ license\n 2.Update with Teams (You need upload the Teams file to a private storage space before. For example: gist.github.com)\n" +C[34]="\n 1.使用 WARP+ license 升级\n 2.使用 Teams 升级 (你须事前把 Teams 文件上传到私密存储空间,比如:gist.github.com )\n" +E[35]="Successfully upgraded to a WARP+ account" +C[35]="已升级为 WARP+ 账户" +E[36]="Device name" +C[36]="设备名" +E[37]="WARP+ quota" +C[37]="剩余流量" +E[38]="The upgrade failed, WARP+ account error or more than 5 devices have been activated. Free WARP account to continu." +C[38]="升级失败,WARP+ 账户错误或者已激活超过5台设备,自动更换免费 WARP 账户继续" +E[39]="Successfully upgraded to a WARP Teams account" +C[39]="已升级为 WARP Teams 账户" +E[40]="Please enter the correct number" +C[40]="请输入正确数字" +E[41]="Please Input WARP+ license:" +C[41]="请输入WARP+ License:" +E[42]="License should be 26 characters, please re-enter WARP+ License. Otherwise press Enter to continue. \(\${i} times remaining\): " +C[42]="License 应为26位字符,请重新输入 WARP+ License \(剩余\${i}次\): " +E[43]="Please customize the WARP+ device name (Default is [WARP] if left blank):" +C[43]="请自定义 WARP+ 设备名 (如果不输入,默认为 [WARP]):" +E[44]="Please input Teams file URL (To use the one provided by the script if left blank):" +C[44]="请输入 Teams 文件 URL (如果留空,则使用脚本提供的):" +E[45]="( match √ )" +C[45]="( 符合 √ )" +E[46]="( mismatch X )" +C[46]="( 不符合 X )" +E[47]="\\\n Please confirm\\\n Private key\\\t: \$PRIVATEKEY \$MATCH1\\\n Public key\\\t: \$PUBLICKEY \$MATCH2\\\n Address IPv4\\\t: \$ADDRESS4/32 \$MATCH3\\\n Address IPv6\\\t: \$ADDRESS6/128 \$MATCH4\\\n" +C[47]="\\\n 请确认Teams 信息\\\n Private key\\\t: \$PRIVATEKEY \$MATCH1\\\n Public key\\\t: \$PUBLICKEY \$MATCH2\\\n Address IPv4\\\t: \$ADDRESS4/32 \$MATCH3\\\n Address IPv6\\\t: \$ADDRESS6/128 \$MATCH4\\\n" +E[48]="comfirm please enter [y] , and other keys to use free account:" +C[48]="确认请按 y ,其他按键则使用免费账户:" +E[49]="\n Is there a WARP+ or Teams account?\n 1. WARP+\n 2. Teams\n 3. use free account (default)\n" +C[49]="\n 如有 WARP+ 或 Teams 账户请选择\n 1. WARP+\n 2. Teams\n 3. 使用免费账户 (默认)\n" +E[50]="If there is a WARP+ License, please enter it, otherwise press Enter to continue:" +C[50]="如有 WARP+ License 请输入,没有可回车继续:" +E[51]="License should be 26 characters, please re-enter WARP+ License. Otherwise press Enter to continue. \(\${i} times remaining\):" +C[51]="License 应为26位字符,请重新输入 WARP+ License,没有可回车继续\(剩余\${i}次\):" +E[52]="There have been more than \${j} failures. The script is aborted. Feedback: [https://github.com/fscarmen/warp/issues]" +C[52]="失败已超过\${j}次,脚本中止,问题反馈:[https://github.com/fscarmen/warp/issues]" # 自定义字体彩色,read 函数,友道翻译函数 red(){ echo -e "\033[31m\033[01m$1\033[0m"; } @@ -127,14 +121,14 @@ translate(){ [[ -n "$1" ]] && curl -ksm8 "http://fanyi.youdao.com/translate?&doc # 脚本当天及累计运行次数统计 statistics_of_run-times(){ COUNT=$(curl -ksm1 "https://hits.seeyoufarm.com/api/count/incr/badge.svg?url=https%3A%2F%2Fcdn.jsdelivr.net%2Fgh%2Ffscarmen%2Fwarp%2Fmenu.sh&count_bg=%2379C83D&title_bg=%23555555&icon=&icon_color=%23E7E7E7&title=&edge_flat=true" 2>&1) && -TODAY=$(expr "$COUNT" : '.* \([0-9]\{1,\}\) /.*') && TOTAL=$(expr "$COUNT" : '.*/ \([0-9]\{1,\}\) .*') +TODAY=$(expr "$COUNT" : '.*\s\([0-9]\{1,\}\)\s/.*') && TOTAL=$(expr "$COUNT" : '.*/\s\([0-9]\{1,\}\)\s.*') } # 选择语言,先判断 /etc/wireguard/language 里的语言选择,没有的话再让用户选择,默认英语 select_language(){ case $(cat /etc/wireguard/language 2>&1) in - E ) L=E;; C ) L=C;; - * ) L=E && [[ -z $OPTION ]] && yellow " ${T[${L}0]} " && reading " ${T[${L}3]} " LANGUAGE + E ) L=(${E[@]});; C ) L=(${C[@]});; + * ) L=(${E[@]}) && [[ -z $OPTION ]] && yellow " ${L[0]} " && reading " ${L[3]} " LANGUAGE [[ $LANGUAGE = 2 ]] && L=C;; esac } @@ -255,25 +249,23 @@ install(){ ! type -p brew >/dev/null 2>&1 && /bin/zsh -c "$(curl -fsSL https://gitee.com/cunkai/HomebrewCN/raw/master/Homebrew.sh)" ! type -p wg >/dev/null 2>&1 && brew install wireguard-tools - # 判断 wgcf 的最新版本并安装 + # 判断 wgcf 的最新版本,如因 github 接口问题未能获取,默认 v2.2.14 green "\n ${T[${L}11]}\n " latest=$(curl -fsSL "https://api.github.com/repos/ViRb3/wgcf/releases/latest" | grep "tag_name" | head -n 1 | cut -d : -f2 | sed 's/[ \"v,]//g') latest=${latest:-'2.2.14'} - [ ! -e /usr/local/bin/wgcf ] && sudo curl -o /usr/local/bin/wgcf https://raw.githubusercontents.com/fscarmen/warp/main/wgcf/wgcf_"$latest"_darwin_"$ARCHITECTURE" - [ ! -e /usr/local/bin/wgcf ] && red "\n ${T[${L}53]}\n " && exit 1 - - # 安装 wireguard-go,如没有正确下载,脚本退出 - [ ! -e /usr/local/bin/wireguard-go ] && sudo curl -o /usr/local/bin/wireguard-go_darwin_"$ARCHITECTURE".tar.gz https://raw.githubusercontents.com/fscarmen/warp/main/wireguard-go/wireguard-go_darwin_"$ARCHITECTURE".tar.gz - [ ! -e /usr/local/bin/wireguard-go_darwin_"$ARCHITECTURE".tar.gz ] && red "\n ${T[${L}54]}\n " && exit 1 + [[ ! -e /usr/local/bin/wgcf ]] && sudo curl -o /usr/local/bin/wgcf https://raw.githubusercontents.com/fscarmen/warp/main/wgcf/wgcf_"$latest"_darwin_"$ARCHITECTURE" + + # 安装 wireguard-go + [[ ! -e /usr/local/bin/wireguard-go ]] && sudo curl -o /usr/local/bin/wireguard-go_darwin_"$ARCHITECTURE".tar.gz https://raw.githubusercontents.com/fscarmen/warp/main/wireguard-go/wireguard-go_darwin_"$ARCHITECTURE".tar.gz && sudo tar xzf /usr/local/bin/wireguard-go_darwin_"$ARCHITECTURE".tar.gz -C /usr/local/bin/ && rm -f /usr/local/bin/wireguard-go_darwin_"$ARCHITECTURE".tar.gz - + # 添加执行权限 sudo chmod +x /usr/local/bin/wireguard-go /usr/local/bin/wgcf # 注册 WARP 账户 (将生成 wgcf-account.toml 文件保存账户信息,为避免文件已存在导致出错,先尝试删掉原文件) rm -f wgcf-account.toml until [[ -e wgcf-account.toml ]] >/dev/null 2>&1; do - sudo wgcf register --accept-tos >/dev/null 2>&1 && break + sudo wgcf register --accept-tos && break done # 如有 WARP+ 账户,修改 license 并升级