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 "按任意键退出..."