MacOS 用户优选 IP, 自动设置Warp的最快节点!
发布时间:2024年06月09日
Mac 用户需要在Warp 上 优选的 ip的化,请按下面的步骤来操作
1.请把下面的命令另存为 warp-yxip-mac.sh 脚本
export LANG=en_US.UTF-8
RED="\033[31m"
GREEN="\033[32m"
YELLOW="\033[33m"
PLAIN='\033[0m'
red() {
echo -e "\033[31m\033[01m$1\033[0m"
}
green() {
echo -e "\033[32m\033[01m$1\033[0m"
}
yellow() {
echo -e "\033[33m\033[01m$1\033[0m"
}
# 选择客户端 CPU 架构
archAffix(){
case "$(uname -m)" in
x86_64 | amd64 ) echo 'amd64' ;;
armv8 | arm64 | aarch64 ) echo 'arm64' ;;
* ) red "不支持的CPU架构!" && exit 1 ;;
esac
}
endpointyx(){
# 删除之前的优选结果文件,以避免出错
rm -f result.csv
wget https://gitlab.com/Misaka-blog/warp-script/-/raw/main/files/warp-yxip/warp-darwin-$(archAffix) -O warp
# 取消 Linux 自带的线程限制,以便生成优选 Endpoint IP
ulimit -n 102400
# 启动 WARP Endpoint IP 优选工具
chmod +x warp
if [[ $1 == 6 ]]; then
./warp -ipv6
else
./warp
fi
# 显示前十个优选 Endpoint IP 及使用方法
green "当前最优 Endpoint IP 结果如下,并已保存至 result.csv 中:"
cat result.csv | awk -F, '$3!="timeout ms" {print} ' | sort -t, -nk2 -nk3 | uniq | head -11 | awk -F, '{print "端点 "$1" 丢包率 "$2" 平均延迟 "$3}'
echo ""
yellow "优选 IP 使用方法如下:"
yellow "1. 将 WARP 的 WireGuard 节点的默认的 Endpoint IP:engage.cloudflareclient.com:2408 替换成本地网络最优的 Endpoint IP"
echo "设置方法命令行执行:warp-cli tunnel endpoint set 优选IP+端口"
best_ip=`awk -F, 'NR==2{print $1}' result.csv`
Organization=`warp-cli settings|grep Organization|wc -l`
if [ $Organization -eq 1 ];then
sudo warp-cli tunnel endpoint set $best_ip
echo "已经成功自动设置为第一个最优IP"
else
warp-cli tunnel endpoint set $best_ip
echo "已经成功自动设置为第一个最优IP"
fi
# 删除 WARP Endpoint IP 优选工具及其附属文件
rm -f warp
}
menu(){
echo "#############################################################"
echo -e "# ${RED}WARP Endpoint IP 一键优选脚本${PLAIN} #"
echo "#############################################################"
echo ""
echo -e " ${GREEN}1.${PLAIN} WARP IPv4 Endpoint IP 优选 ${YELLOW}(默认)${PLAIN}"
echo -e " ${GREEN}2.${PLAIN} WARP IPv6 Endpoint IP 优选"
echo " -------------"
echo -e " ${GREEN}0.${PLAIN} 退出脚本"
echo ""
read -rp "请输入选项 [0-2]: " menuInput
case $menuInput in
2 ) endpointyx 6 ;;
0 ) exit 1 ;;
* ) endpointyx ;;
esac
}
menu
#!/bin/bash export LANG=en_US.UTF-8 RED="\033[31m" GREEN="\033[32m" YELLOW="\033[33m" PLAIN='\033[0m' red() { echo -e "\033[31m\033[01m$1\033[0m" } green() { echo -e "\033[32m\033[01m$1\033[0m" } yellow() { echo -e "\033[33m\033[01m$1\033[0m" } # 选择客户端 CPU 架构 archAffix(){ case "$(uname -m)" in x86_64 | amd64 ) echo 'amd64' ;; armv8 | arm64 | aarch64 ) echo 'arm64' ;; * ) red "不支持的CPU架构!" && exit 1 ;; esac } endpointyx(){ # 删除之前的优选结果文件,以避免出错 rm -f result.csv wget https://gitlab.com/Misaka-blog/warp-script/-/raw/main/files/warp-yxip/warp-darwin-$(archAffix) -O warp # 取消 Linux 自带的线程限制,以便生成优选 Endpoint IP ulimit -n 102400 # 启动 WARP Endpoint IP 优选工具 chmod +x warp if [[ $1 == 6 ]]; then ./warp -ipv6 else ./warp fi # 显示前十个优选 Endpoint IP 及使用方法 green "当前最优 Endpoint IP 结果如下,并已保存至 result.csv 中:" cat result.csv | awk -F, '$3!="timeout ms" {print} ' | sort -t, -nk2 -nk3 | uniq | head -11 | awk -F, '{print "端点 "$1" 丢包率 "$2" 平均延迟 "$3}' echo "" yellow "优选 IP 使用方法如下:" yellow "1. 将 WARP 的 WireGuard 节点的默认的 Endpoint IP:engage.cloudflareclient.com:2408 替换成本地网络最优的 Endpoint IP" echo "设置方法命令行执行:warp-cli tunnel endpoint set 优选IP+端口" best_ip=`awk -F, 'NR==2{print $1}' result.csv` Organization=`warp-cli settings|grep Organization|wc -l` if [ $Organization -eq 1 ];then sudo warp-cli tunnel endpoint set $best_ip echo "已经成功自动设置为第一个最优IP" else warp-cli tunnel endpoint set $best_ip echo "已经成功自动设置为第一个最优IP" fi # 删除 WARP Endpoint IP 优选工具及其附属文件 rm -f warp } menu(){ echo "#############################################################" echo -e "# ${RED}WARP Endpoint IP 一键优选脚本${PLAIN} #" echo "#############################################################" echo "" echo -e " ${GREEN}1.${PLAIN} WARP IPv4 Endpoint IP 优选 ${YELLOW}(默认)${PLAIN}" echo -e " ${GREEN}2.${PLAIN} WARP IPv6 Endpoint IP 优选" echo " -------------" echo -e " ${GREEN}0.${PLAIN} 退出脚本" echo "" read -rp "请输入选项 [0-2]: " menuInput case $menuInput in 2 ) endpointyx 6 ;; 0 ) exit 1 ;; * ) endpointyx ;; esac } menu
2.在终端命令下执行:
sh warp-yxip-mac.sh #执行脚本,如下图所示,输入 1,按回车开始检测
运行后优选ip会保存在 result.csv文件中,脚本中自动设置 为第一个优选ip。
如果你需要设置别的 ip,就执行下方命令,【注意替换优选 ip和端口】
warp-cli tunnel endpoint set 优选ip:端口号 或者 sudo warp-cli tunnel endpoint set 优选ip优选ip:端口号
恢复默认设置,执行下面命令
warp-cli tunnel endpoint reset
如果你想要了解关于智能工具类的内容,可以查看 智汇宝库,这是一个提供智能工具的网站。
在这你可以找到各种智能工具的相关信息,了解智能工具的用法以及最新动态。
新一代AI生产力工具 灵感自动产生 |文章一键生成|创作领先一步