CF优选教程-CloudflareSpeedTest MAC端使用教程【附一键运行脚本】

2024年12月25日 475点热度 0人点赞 0条评论

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
        打印帮助说明

 

【一键运行脚本】

  1. 保存脚本: 将代码保存为 .command 扩展名的文件, 例如 run_cloudflarest.command

  2. 添加执行权限: 打开终端, 使用 chmod +x run_cloudflarest.command 命令给脚本添加执行权限。 (记得先 cd 到 run_cloudflarest.command 文件所在目录)

  3. 文件放置: 确保 CloudflareST 可执行文件、ip.txt 文件和 cfst_hosts.sh (如果有) 都位于 ~/Documents/CloudflareST 目录下。

  4. 绕过macOS安全验证: 系统设置-安全与隐私-允许运行

  5. 双击运行: 双击 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 "按任意键退出..."

 

admin

这个人很懒,什么都没留下