CloudflareST-Rust

April 10, 2026 · View on GitHub

CloudflareST-Rust

XIU2/CloudflareSpeedTest 使用 Rust 重写

Rust Version GitHub Downloads

GitHub Stars GitHub Forks

Ask DeepWiki zread ReadmeX

⚠️ 警告:工具仅用于简单的网络测速,造成的一切后果自负

📝 使用建议

  • 建议从大范围 CIDR 中指定较大测速数量,并使用 -tn 参数
    • 例如:-ip 2606:4700::/48=1000 -tn 300
    • 含义是:对 2606:4700::/48 最多测速 1000 个随机 IP,并在延迟测速到 300 个可用 IP 后直接进行下一步
  • 因为采取了流式处理,每个 IP 都实时生成、测速并过滤,内存中始终只有符合要求的结果

📊 测速结果示例

演示图

这里 x|y 的含义是已进行下载测速 y 个,获取到 x 个符合要求的结果

✨ 功能特点

  • 📊 下载测速期间,显示实时速度
  • ⚡ IP 的生成和测速都是流式处理的,对 CIDR 依据采样数量均匀分割
  • 🔌 优先使用指定端口测速,例如:-ip [2606:4700::]:8080,104.16.0.0:80
  • 🌐 支持绑定到指定 IP 或接口名进行测速(-intf
  • ⏱️ 支持给程序限制运行时间,超时后立即结算结果并退出(-timeout

🚀 示例命令

curl -s https://www.cloudflare-cn.com/ips-v4 -o ip.txt
-f ip.txt -tn 3000 -dn 10 -sl 15 -tlr 0 -httping https://cp.cloudflare.com/cdn-cgi/trace -url https://speed.cloudflare.com/__down?bytes=524288000

Important

  • speed.cloudflare.com 不允许非 TLS 的 HTTP 下载测速,需自建测速地址
  • 慎用高并发的 IPv4 + HTTPSing 组合,可能会触发限制
  • 下载持续时间太短则不会算作有效速度,需确保下载测速文件足够大
  • 多网卡情况下,使用 -intf 参数会被策略路由影响效果
  • 注意队列数量和实时下载速度,设置合理的筛选条件
  • 可用 IP 数量是 Ping 通的,并非经历过筛选的数量
  • 如果不想写入文件,直接使用 -o 参数并不带值即可
  • 具体原理可参考 流程图时序图

📋 参数说明

基本参数

参数说明示例默认值
-url下载测速所使用的测速地址https://example.com/file未指定
-f从文件或文件路径读取 IP 或 CIDRip.txt未指定
-ip直接指定 IP 或 CIDR(多个用逗号分隔)104.16.0.0/13=500,2606:4700::/36未指定
-timeout程序超时退出时间(秒)3600不限制

测速参数

参数说明默认值
-t延迟测速次数4
-dn下载测速所需符合要求的结果数量10
-dt下载测速时间(秒)10
-tp测速端口443 / 80
-all4测速全部 IPv4
-tn当 Ping 到指定可用数量,提前结束 Ping

测速选项

参数说明示例默认值
-httping使用 HTTPing 测速并指定其地址N/Ahttp://cp.cloudflare.com/cdn-cgi/trace
-dd禁用下载测速N/A
-hc指定 HTTPing 的状态码200,301,302未指定
-colo匹配指定地区HKG,sjc未指定
-n延迟测速的线程数量N/A256
-intf绑定到指定的网络接口或 IP 进行测速eth0 or pppoe-ct未指定

结果参数

参数说明默认值
-tl延迟上限(毫秒)2000
-tll延迟下限(毫秒)0
-tlr丢包率上限1.00
-sl下载速度下限(MB/s)0.00
-p终端显示结果数量10
-sp结果中带端口号
-o输出结果文件(文件名或文件路径)result.csv

📱 安装方法

安卓/OpenWrt 安装

如果仅获取 CloudflareST-Rust,可使用:

bash -c 'ARCH=$( [ "$(uname -m)" = x86_64 ] && echo amd64 || echo arm64 ); curl -fsSL https://github.com/GuangYu-yu/CloudFlare-DDNS/releases/download/setup/setup.sh | bash -s -- GuangYu-yu CloudflareST-Rust main-latest CloudflareST-Rust_linux_$ARCH.tar.gz CloudflareST-Rust'

或者可使用 工具,能测速并解析到 Cloudflare 或提交到 Github:

curl -ksSL https://github.com/GuangYu-yu/CloudFlare-DDNS/releases/download/setup/cfopw.sh | bash
bash -c 'ARCH=$( [ "$(uname -m)" = x86_64 ] && echo amd64 || echo arm64 ); curl -fsSL https://github.com/GuangYu-yu/CloudFlare-DDNS/releases/download/setup/setup.sh | bash -s -- GuangYu-yu CloudflareST-Rust main-latest CloudflareST-Rust_linux_$ARCH.tar.gz CloudflareST-Rust GuangYu-yu CloudFlare-DDNS main-latest CFRS_linux_$ARCH.tar.gz CFRS'