LuCI App Cloudflare Speed Test
笔者近期在 OpenWrt 路由器上配置了 Cloudflare IP 优选工具 luci-app-cloudflarespeedtest,但是在使用过程中发现还是有一些影响体验的小问题没有解决。由于原仓库已经被作者归档并只读,因此我 fork 了该项目,并在此基础上做了一些改进。
本文将介绍该工具的背景、功能以及我在 fork 版本上做的修改。我的仓库地址是:stevenjoezhang/luci-app-cloudflarespeedtest。
CloudflareSpeedTest 是什么
CloudflareSpeedTest 的目标很直接:在 Cloudflare 公布的大量 IP 里,自动测试延迟与下载速度,筛出最适合当前网络的 IP(支持 IPv4/IPv6)。项目 README 也强调了「自选优选 IP」的定位:先测延迟/丢包,再做实际下载测速,最终输出可二次处理的结果列表,方便用脚本或其它工具继续接管。一种典型的应用场景是,配合 DNS 服务器或代理出站工具(如 SSR+、Passwall 等),检测到要访问的网站是托管在 Cloudflare 上的,就自动切换到最快的出口 IP。这样,就可以实现对相关网站访问的加速。
原版 LuCI 插件
mingxiaoyu/luci-app-cloudflarespeedtest 的功能是把上述测速流程放到 OpenWrt 路由器的 Web 界面(LuCI)里,支持可视化配置、Crontab 定时运行,并自动把优选 IP 回写到常见代理出站插件中等,以在 OpenWrt 上实现「按计划自动换最快出口」。该仓库已在 2024 年归档并只读,意味着作者不再维护。
我的 fork
我在原版停止维护后 fork 了一版,并围绕可视化、可用性、可维护性做了多处调整。下面对关键改动进行汇总说明。
体验与易用性
- 展示图表 & 历史曲线:加入历史数据图表,将延迟 / 速度曲线以子图形式展现,便于对比多次测速的趋势与稳定性。
- 状态与日志更清晰:优化状态展示与日志格式,告警 / 进度更直观,便于排错。
- 界面细节优化:统一风格、更新按钮模板,减少表单噪音。
- 核心下载支持:加入自动下载核心二进制的功能,减少依赖,方便直接以 ipk 软件包形式安装,降低首次部署门槛,让「开箱即用」更顺滑。
配置与参数
- 参数名称规范化:对
speed
和hour
等参数进行重命名,使其更加贴近实际含义,避免混淆。 - 选项梳理与文案更新:优化选项组织结构与默认值;改进多语言翻译与 README。
工程与维护
- 依赖与结构:更新依赖、理顺目录与引用路径,方便二次开发与打包发布;同时优化基于 GitHub Actions 的 CI workflow,保证可重复构建。
结语
如果你已经在用 OpenWrt 做出站路由,不妨把 fork 版的 luci-app-cloudflarespeedtest 装起来跑一跑 —— 历史曲线、速度阈值与更清晰的日志,相信能帮你更快地找到更快更稳定的那一个 Cloudflare IP。