VPS 科学上网教程 | 08 Cloudflare 优选 IP

Cloudflare 有数百个 CDN 节点,各节点对国内速度差异很大。cfst 需要在你自己的电脑上跑,测的才是你这侧网络到各 CF 节点的真实速度。在 VPS 上跑没有意义,那是美国视角。


不同运营商的特性

运营商 CF 路由 优选结果
联通 出国直走美国 SJC / LAX 节点
电信 出国直走美国 SJC / LAX 节点
移动 经香港出去 HKG / NRT 等亚洲节点

这不是配置问题,是运营商和 Cloudflare 之间的 BGP 路由协议决定的。测出来 170ms SJC 对联通/电信来说就是最优解。


在 Mac 上安装 cfst

CloudflareSpeedTest Releases 下载对应版本:

1
2
3
4
5
6
7
8
# Intel Mac
curl -L -o cfst.tar.gz https://github.com/XIU2/CloudflareSpeedTest/releases/latest/download/CloudflareST_darwin_amd64.tar.gz

# Apple Silicon(M 系列)
curl -L -o cfst.tar.gz https://github.com/XIU2/CloudflareSpeedTest/releases/latest/download/CloudflareST_darwin_arm64.tar.gz

tar -xzf cfst.tar.gz
chmod +x CloudflareST

把解压出来的 CloudflareST 改名为 cfst,放到 优选并上传.command 同级的 cfst/ 目录下。


一键测速并上传

使用仓库 scripts/优选并上传.command,双击运行,脚本会自动完成:

  1. 临时退出 Clash Verge(避免 TUN 模式干扰直连测速)
  2. 检测当前运营商(联通 / 移动 / 电信)
  3. 运行 cfst,结果保存到对应文件:
    • result_unicom.csv(联通)
    • result_mobile.csv(移动)
    • result_telecom.csv(电信)
  4. 上传结果到 VPS:
    • 联通/电信:直连上传
    • 移动:先重启 Clash,走代理上传(移动直连不到 VPS)
  5. 重启 Clash Verge

VPS 上的文件结构

1
2
3
4
/opt/cfst/
├── result_unicom.csv ← 联通优选结果
├── result_mobile.csv ← 移动优选结果
└── result_telecom.csv ← 电信优选结果

clash-sub.py 每次收到订阅请求时,读取三个文件各自前 10 行,生成对应节点。有哪个文件就出现哪个分组,没有的不显示。


自定义优选数量

编辑 /usr/local/bin/clash-sub.py,修改顶部的 TOP_N

1
TOP_N = 10  # 改成你想要的数量

修改后重启服务:

1
systemctl restart clash-sub