☁️ Cloudflare IP 优选操作指南 (cfst.sh 使用教程)

Cloudflare 在全球提供了大量 Anycast 接入点,但分配给中国等地区的 IP 延迟较高。为提升访问速度,一些用户通过本地测试优选 Cloudflare IP,并通过 /etc/hosts 修改解析路由到该 IP。本指南介绍如何使用 vanchKong/cloudflare 仓库的 cfst.sh 脚本实现这一操作,并介绍如何维护 hosts 文件。

⚠️ 重要提示 :Cloudflare 官方服务条款明确禁止将其网络用于代理服务,也不支持通过非官方方法优选 IP 后将域名指向非正常 IP 地址,请进行后同时知晓相关风险。

🔗 本文教程基于参考大佬 端端/Gotchaaa 的作品进行编排与补充,特此自声致谢。

✅ 一、准备工作

1. 关闭代理

脚本需要根据实际网络测试较准确的延迟。如果系统或路由器启用了代理,会影响测试结果。

请确保:

  • 系统/路由器关闭了全局代理;
  • 浏览器插件/助手等给的加速或 VPN 功能已停用;
  • 如果使用路由器代理,确保 cfst.sh 的进程流量被排除。

2. 备份并清理 /etc/hosts

sudo cp /etc/hosts /etc/hosts.bak
sudo vi /etc/hosts   # 删除旧的优选记录(vi中按 dd 删除整行)
如果你之前使用过 MP 优选插件类工具,请先卸载或重置,避免出现冲突。

3. 确保拥有 root 权限

修改 hosts 文件和脚本运行需要 root 权限:

su
# 或者
sudo -i

💾 二、下载并运行 cfst.sh

1. 获取脚本

选择一个缓存文件夹,使用 wget 下载:

wget -q --show-progress -O cfst.sh wget -q --show-progress -O cfst.sh  https://raw.githubusercontent.com/vanchKong/cloudflare/refs/heads/main/cfst.sh
wget -q --show-progress -O cfst.sh  https://ghproxy.net/https://raw.githubusercontent.com/vanchKong/cloudflare/refs/heads/main/cfst.sh
wget -q --show-progress -O cfst.sh  https://gh-proxy.com/https://raw.githubusercontent.com/vanchKong/cloudflare/refs/heads/main/cfst.sh
wget -q --show-progress -O cfst.sh  https://ghfast.top/https://raw.githubusercontent.com/vanchKong/cloudflare/refs/heads/main/cfst.sh
wget -q --show-progress -O cfst.sh  https://ghproxy.com/https://raw.githubusercontent.com/vanchKong/cloudflare/refs/heads/main/cfst.sh
如果命令行下载不了,请尝试另外几个镜像地址,或者到浏览器打开这个链接下载源文件,手动传到你的设备上

2. 赋予执行权限并运行

chmod +x cfst.sh
bash cfst.sh
脚本将下载 CloudflareSpeedTest ,测试为 Cloudflare 托管的域名定优选 IP,并可选择是否写入 hosts 文件。

🔄 三、域名管理与优选

1. 执行优选

bash cfst.sh

会显示两种模式:

  • 重新下载测试工具,重新测试所有域名
  • 直接重新测试(保留当前工具)

2. 添加域名

bash cfst.sh -add example.com
bash cfst.sh -add example1.com example2.com

3. 删除域名

bash cfst.sh -del example.com
bash cfst.sh -delall

4. 查看当前优选列表

bash cfst.sh -list

⚡️ 四、常见问题解决

1. 如何确认站点域名是否托管于 Cloudflare?

curl -sI https://example.com | grep -i 'server:'

如果输出含有 server: cloudflare 则表示已托管。

2. 自动检测失败,怎么办?

如果 curl 报错 Recv failure: Connection reset by peer ,通常是 SNI 装套被阻断,这种情况优选也无法解决,需要使用代理。

📆 五、维护与重复优选

  • 如有 Docker 服务,修改 hosts 后请重启对应容器,以使 DNS 缓存失效
  • 不建议手动编辑 hosts 里的优选记录,否则 cfst.sh 再次运行时会无法维护
  • 如网络环境变化显著,可重新运行 cfst.sh 重新优选

🔧 六、总结

通过关闭代理、备份 hosts 文件、运行 cfst.sh 脚本,并合理使用 -add / -del / -list 命令,你可以优选更快的 Cloudflare IP ,为常用站点提升连接性能。

请全程使用 root 权限运行,并注意观察脚本输出提示,避免错进。

最后修改:2025 年 07 月 30 日
赞赏啥呢,钱多自己喝可乐