github地址:https://github.com/XIU2/CloudflareSpeedTest
1:下载mac版本,解压缩后,文件夹命名为:CloudflareST 将文件夹放在【文稿】内
2:打开终端,执行这条命令会将当前工作目录切换到 文稿 文件夹中的 CloudflareST 文件夹。
cd ~/Documents/CloudflareST
3. 赋予 CloudflareST 和 cfst_hosts.sh 执行权限:
在终端中输入以下两条命令,每条命令输入后按回车键:这两条命令分别赋予 CloudflareST 和 cfst_hosts.sh 文件执行权限。
chmod +x CloudflareST chmod +x cfst_hosts.sh
4. 运行 CloudflareSpeedTest 并指定 ip.txt 作为 IP 列表:
在终端中输入以下命令,然后按回车键:这条命令会运行 CloudflareST,并使用 ip2.txt 文件中的 IP 列表进行测速
./CloudflareST -f ip.txt
其他常用命令选项 (根据需要添加):
自定义要求测试,如:【8线程,延迟上限 200ms,下载速度下限 10MB/s,丢包几率上限 0.1 (即 10%),显示结果数量为 30】
./CloudflareST -f ip.txt -n 8 -tl 200 -sl 10 -p 30 -tlr 0.1
指定测速线程数量 (例如 8 个线程):
./CloudflareST -f ip.txt -t 8
指定每个 IP 的测试次数 (例如 10 次):
./CloudflareST -f ip.txt -n 10
输出结果到文件 (例如 result.csv,CSV 格式):
./CloudflareST -f ip.txt -o result.csv
自定义测速 URL 路径和大小(例如测试文件大小为 50MB):
./CloudflareST -f ip.txt -url https://speed.cloudflare.com/__down?bytes=52428800
同时使用多个选项: 你可以根据需要组合多个选项。例如,以下命令使用 ip2.txt 文件,设置 8 个线程,每个 IP 测试 10 次,并将结果输出到 result.csv 文件:
./CloudflareST -f ip.txt -t 8 -n 10 -o result.csv
参数一览
参数: -n 200 延迟测速线程;越多延迟测速越快,性能弱的设备 (如路由器) 请勿太高;(默认 200 最多 1000) -t 4 延迟测速次数;单个 IP 延迟测速的次数;(默认 4 次) -dn 10 下载测速数量;延迟测速并排序后,从最低延迟起下载测速的数量;(默认 10 个) -dt 10 下载测速时间;单个 IP 下载测速最长时间,不能太短;(默认 10 秒) -tp 443 指定测速端口;延迟测速/下载测速时使用的端口;(默认 443 端口) -url https://cf.xiu2.xyz/url 指定测速地址;延迟测速(HTTPing)/下载测速时使用的地址,默认地址不保证可用性,建议自建; -httping 切换测速模式;延迟测速模式改为 HTTP 协议,所用测试地址为 [-url] 参数;(默认 TCPing) -httping-code 200 有效状态代码;HTTPing 延迟测速时网页返回的有效 HTTP 状态码,仅限一个;(默认 200 301 302) -cfcolo HKG,KHH,NRT,LAX,SEA,SJC,FRA,MAD 匹配指定地区;地区名为当地机场三字码,英文逗号分隔,仅 HTTPing 模式可用;(默认 所有地区) -tl 200 平均延迟上限;只输出低于指定平均延迟的 IP,各上下限条件可搭配使用;(默认 9999 ms) -tll 40 平均延迟下限;只输出高于指定平均延迟的 IP;(默认 0 ms) -tlr 0.2 丢包几率上限;只输出低于/等于指定丢包率的 IP,范围 0.00~1.00,0 过滤掉任何丢包的 IP;(默认 1.00) -sl 5 下载速度下限;只输出高于指定下载速度的 IP,凑够指定数量 [-dn] 才会停止测速;(默认 0.00 MB/s) -p 10 显示结果数量;测速后直接显示指定数量的结果,为 0 时不显示结果直接退出;(默认 10 个) -f ip.txt IP段数据文件;如路径含有空格请加上引号;支持其他 CDN IP段;(默认 ip.txt) -ip 1.1.1.1,2.2.2.2/24,2606:4700::/32 指定IP段数据;直接通过参数指定要测速的 IP 段数据,英文逗号分隔;(默认 空) -o result.csv 写入结果文件;如路径含有空格请加上引号;值为空时不写入文件 [-o ""];(默认 result.csv) -dd 禁用下载测速;禁用后测速结果会按延迟排序 (默认按下载速度排序);(默认 启用) -allip 测速全部的IP;对 IP 段中的每个 IP (仅支持 IPv4) 进行测速;(默认 每个 /24 段随机测速一个 IP) -v 打印程序版本 + 检查版本更新 -h 打印帮助说明
【一键运行脚本】
-
保存脚本: 将代码保存为 .command 扩展名的文件, 例如 run_cloudflarest.command。
-
添加执行权限: 打开终端, 使用 chmod +x run_cloudflarest.command 命令给脚本添加执行权限。 (记得先 cd 到 run_cloudflarest.command 文件所在目录)
-
文件放置: 确保 CloudflareST 可执行文件、ip.txt 文件和 cfst_hosts.sh (如果有) 都位于 ~/Documents/CloudflareST 目录下。
-
绕过macOS安全验证: 系统设置-安全与隐私-允许运行
-
双击运行: 双击 run_cloudflarest.command 文件即可运行。
#!/bin/bash # 设置 CloudflareST 所在目录 cfst_dir="$HOME/Documents/CloudflareST" # 切换到 CloudflareST 所在目录 cd "$cfst_dir" || { echo "错误: 无法进入目录 $cfst_dir" read -n 1 -s -r -p "按任意键退出..." exit 1 } # 检查 CloudflareST 是否存在 if [ ! -f "./CloudflareST" ]; then echo "错误: CloudflareST 文件不存在!" read -n 1 -s -r -p "按任意键退出..." exit 1 fi # 检查 ip.txt 是否存在 if [ ! -f "./ip.txt" ]; then echo "错误: ip.txt 文件不存在!" read -n 1 -s -r -p "按任意键退出..." exit 1 fi # 检查 cfst_hosts.sh 是否存在,如果存在则添加执行权限 if [ -f "./cfst_hosts.sh" ]; then echo "检测到 cfst_hosts.sh 文件,正在添加执行权限..." chmod +x cfst_hosts.sh else echo "警告: cfst_hosts.sh 文件不存在,跳过授权步骤." fi # 添加 CloudflareST 执行权限 echo "正在添加 CloudflareST 执行权限..." chmod +x CloudflareST # 判断当前终端是否支持颜色输出(可选) if tput setaf 1 &> /dev/null; then RED='\033[0;31m' GREEN='\033[0;32m' NC='\033[0m' # No Color else RED='' GREEN='' NC='' fi # 设置 CloudflareST 命令和参数 command="./CloudflareST -f ip.txt -n 8 -tl 200 -sl 10 -p 30 -tlr 0.1" echo -e "${GREEN}开始运行 CloudflareST...${NC}" echo "命令: ${command}" # 直接在当前终端执行命令, 而不是新开一个窗口 $command echo -e "${GREEN}CloudflareST 运行完毕。${NC}" read -n 1 -s -r -p "按任意键退出..."