跳过正文
  1. Posts/

优选 CF IP:让 OpenWrt 代理快起来

yunshu
作者
yunshu
热爱技术,热爱生活
目录

套了 Cloudflare 以后,很多人都会遇到一个很微妙的问题:域名是同一个域名,节点是同一个节点,可今天丝滑得飞起,明天就开始卡成电子相册。你问它为什么,它不说;你测一下 IP,哦~原来走的边缘节点又开始表演了。

所以优选 CF IP 这件事,听起来像玄学,其实朴素得很:在你当前这条宽带上,挑几个更顺手的 Cloudflare Anycast IP,让客户端先连它们,再靠 SNI / Host 回到你的真实域名。 地址换成 IP,域名信息别丢。就这么点事,偏偏手动做起来又烦又容易翻车,讨厌死了。

现在好了——新版 luci-app-cloudflare-ip 做了一个 LuCI 界面,把整个流程塞进 OpenWrt 后台。你安装一个 .ipk(或 .apk),在 LuCI 菜单里点点鼠标,剩下的事情——下载 CFST、测速、挑 IP、验证连通性、写回 PassWall 或 OpenClash——全部自动完成。你负责在网页上填配置,它负责半夜悄悄干活。 很懒,但懒得有章法,我喜欢~😏

它到底解决什么嘛
#

旧玩法大家应该都见过:跑 CloudflareSpeedTest,复制第一个 IP,打开 PassWall 或 OpenClash,找到节点,把地址改掉,保存,重启。然后过几天线路一抽风,再来一遍。再来一遍!再来一遍!!人类发明自动化,就是为了不做这种重复小苦力活嘛,不然要机器干嘛,供起来拜吗?

新版的 LuCI 插件完全不一样了。打开 服务 → Cloudflare IP 优选,一个概览页面就告诉你:CFST 装好了没、上次运行结果、当前最优 IP 列表。想改配置?左边切到设置页,填完保存就行。想手动跑一次?点一下按钮。想看日志排查问题?也在页面上。全程不用 SSH,不用背命令,不用改配置文件——这才像 2026 年的工具嘛。

如果你之前用过旧版脚本(cf-openwrt-auto.sh + cf-openwrt-auto.conf),那套东西现在已经被 LuCI 界面取代了。脚本还在,但推荐直接用插件,更省心。

Cloudflare IP 优选概览页

先装插件呀
#

下载安装
#

Releases 页面下载对应格式的包:

格式适用版本安装命令
.ipkOpenWrt 24.10.xopkg install luci-app-cloudflare-ip_*.ipk
.apkOpenWrt 25.12+apk add luci-app-cloudflare-ip*.apk

依赖会自动处理,核心就这几个:

bash curl tar jq ca-bundle ca-certificates luci-base rpcd

安装完做什么
#

装好以后刷新浏览器缓存(或者直接硬刷新 Ctrl+F5),LuCI 菜单里就会出现 服务 → Cloudflare IP 优选。点进去,概览页面会告诉你当前状态。

第一次用的话,CFST 还没下载,概览页会显示一个「下载 CFST」按钮。点一下,插件会自动拉对应架构的 CloudflareSpeedTest,具体耗时看路由器访问 GitHub 的速度。如果是从旧版脚本迁移过来的,CFST 已经在了,它会自动识别,直接显示「更新 CFST」。

概览页:一眼看全
#

打开概览页,你会看到三块信息:

运行状态:当前服务是否运行、上次运行结果、运行模式(PassWall 还是 OpenClash)。如果刚装好还没跑过,上次结果会是空的;先点「启动」或配置好自动运行,它就开始干活。

环境检查:CFST 装没装、PassWall/OpenClash 检测到没。如果 CFST 没装,按钮是「下载 CFST」;装了就是「更新 CFST」。PassWall 和 OpenClash 会显示当前检测状态,如果你只装了其中一个,对应另一个的选项卡会自动隐藏,不会出来碍眼。

优选 IP 列表:最新一次测速得到的最优 IP。如果还没跑过,这里是空的;服务运行后可以在概览页手动触发一次测速,也可以等它按计划自动跑。

概览页还放了几个日常最常用的按钮:启动、停止、重启服务,手动运行测速,以及下载 / 更新 CFST。也就是说,平时想确认状态或临时跑一次,基本不用离开概览页。

Cloudflare IP 优选基本设置页

基本设置:填好就不用管了
#

基本设置页就是几个关键选项,填一次就行:

选项说明默认
启用开启定时自动优选
模式PassWall / OpenClash(自动检测已安装的服务)PassWall
IP 数量保留几个优选 IP4
IP 类型ipv4 / ipv6 / bothipv4
测速协议tcp / httptcp
运行计划自动运行频率,可选 6h1h30m 或 cron 表达式每 6 小时
下载测速数量参与下载测速的 IP 数量10
平均延迟下限过滤异常低延迟 IP40ms
平均延迟上限过滤高延迟 IP,留空不限制
测速前停止代理避免代理干扰测速结果
保留 CFST系统升级时保留 CFST 二进制

启用开关打开以后,procd 守护进程会按你设的运行计划自动跑。默认是每 6 小时一次,也可以选每天 3 点、每 30 分钟,或者填自定义计划。刚开始不确定效果的话,先不开自动也行,去概览页手动跑一次看看。

测速协议http 的话,可以额外按数据中心筛选,比如填 HKG,NRT,LAX,只测这几个地区的节点。适合你明确知道自己想靠近哪些数据中心的时候用。不知道就留空,别为了显得专业乱填,网络不会因为你填了三个缩写就突然爱上你,真的不会。

PassWall 设置
#

如果你选的是 PassWall 模式,切到 PassWall 设置页:

选项说明默认
目标域名要优选的节点域名,逗号分隔
名称后缀节点名称后缀,支持 {n} 序号和 {ip} 占位符[CF-{n}]

它的工作方式很直接:读 uci show passwall,找 address 等于目标域名的节点,把 address 改成优选 IP,然后 uci commit passwall,最后重启 PassWall。就这三板斧,朴实无华。

这里有一个重点,敲黑板:你的 SNI、Host 或传输层域名,还是应该填自己的域名。 优选 IP 只是连接地址,不是你的证书名字,也不是你的 CDN 回源域名。把它们混成一坨,能连上才奇怪,真的。这就好比快递地址写了隔壁小区门牌号,收件人写的却是你自己——快递小哥不懵谁懵?

OpenClash 设置
#

OpenClash 模式稍复杂一点,因为它要改 YAML 配置文件:

选项说明默认
配置文件OpenClash YAML 配置文件路径/etc/openclash/config/config.yaml
目标域名要优选的节点域名,逗号分隔
名称后缀节点名称后缀,支持 {n}{ip}[CF-{n}]
传输过滤按传输协议过滤节点(如 ws,grpc
备份数量配置备份保留数量3

首次运行时,它会找 server 等于目标域名的代理节点当模板,然后按 IP 数量生成 [CF-1][CF-2] 等新节点。后续运行会优先刷新这些标记节点,缺了还会自动补齐——像个小管家,操心但不烦人。

OpenClash 设置页底部还有配置备份管理——可以查看历史备份、恢复或删除,不用自己翻 /etc/openclash/config/ 目录了。

它会把:

server: cdn.example.com

改成测速得到的 IP,但保留:

servername: cdn.example.com
ws-opts:
  headers:
    Host: cdn.example.com

xHTTP 也一样,xhttp-opts.headers.Host 继续保留域名。说人话就是:连接可以冲着 IP 去,身份识别还得拿域名说话。 不然 TLS 和 CDN 都会一脸「你谁啊」,然后把你晾在门外,门都不给你开,超冷淡的。

支持 vlessvmesstrojan,要求 tls: truenetworkwsxhttpgrpch2http。不会到处乱动不相关的节点,比某些什么都想管的工具有边界感多了。

高级设置
#

切到高级设置页,有几个贴心的选项:

选项说明默认
自更新启用脚本自更新
自更新地址脚本更新下载地址项目默认地址
GitHub 镜像加速 GitHub 下载的镜像地址
下载重试GitHub 下载重试次数3
重试延迟重试间隔(秒)5
启动延迟随机延迟秒数,留空或 random = 0~300s
详细日志输出详细运行日志
工作目录存放 CFST、IP 列表和结果文件脚本目录

启动延迟留空或设成 random 的话,会随机等 0 到 300 秒,适合多台设备同一时间跑任务,避免大家一起冲出去测速。网络已经够忙了,别再集体排队踩油门——又不是抢演唱会门票,急什么嘛!

自更新打开后,脚本启动时会检查 GitHub 有没有新版本,有就自己更新。当然啦,更新前会备份,翻车了也能滚回去——这点良心还是有的。

日志与维护
#

诊断页就专心做两件事:

  • 查看运行日志
  • 查看 IP 历史记录

出了问题时,先看日志。日志里会告诉你哪一步挂了——是 CFST 下载失败,还是测速超时,还是写回配置出错。想手动测速、重启服务或更新 CFST,就回概览页;想手动更新脚本,就去高级设置页。分工还挺清楚的,对吧~

Cloudflare IP 优选日志与维护页

GitHub 抽风怎么办呀
#

路由器访问 GitHub,有时候就像薯片袋里的空气,存在感很强,实际东西不多。插件做了几个兜底:

  • 下载失败会按你设的重试次数和间隔重试
  • 可以配 GitHub 镜像加速下载
  • 如果已经有可执行的 cfst,会继续用现有二进制

还可以手动下载对应架构的 CloudflareSpeedTest 压缩包(比如 cfst_linux_amd64.tar.gz),放到工作目录里。脚本下载失败时会优先用本地包。比起一报错就倒地不起,这种「能跑就先跑」的态度还是比较可爱的。

一点小提醒
#

优选 IP 提升的是「你到 Cloudflare 边缘节点」这一段。后面的回源、服务器带宽、客户端内核、运营商晚高峰,该拉的还是会拉。它不是魔法棒,是一个自动挑路的小工具。别指望它把 1M 小水管变成千兆光纤——做不到的啦,物理定律又不是我写的。

所以我的建议是:装上插件后,先在概览页启动服务并手动跑一次,再去诊断页看日志,确认它到底改了哪些节点;然后打开客户端实际连一下;最后再打开「启用」开关。工具再自动,也别闭眼开车。知道了没!

如果你还在用旧教程手动复制 IP,那现在真的可以收手啦。LuCI 插件已经把最烦的那部分接过去了:测速、筛选、验证、写回、重启。你只要把域名和模式填对,然后让它安安静静工作。网络工具能做到「不打扰但有用」,已经很难得了,哼~

好啦,去试试吧,路由器在等你宠幸它呢~

相关文章