你有没有遇到过这种情况:同时维护几个Cloudflare账号,切来切去的时候总搞混凭证?我就是因为这个,写了个叫Cfmux的小工具。
说实话,cloudflared本身挺好的。轻量、稳定、部署简单,不用折腾公网IP或者复杂的反向代理配置。我用它跑自托管应用、开发环境、临时测试、内部仪表盘、webhook接收器——几乎什么都用过。
问题出在账号管理上。个人项目、客户基础设施、预发布环境、隔离测试环境、临时部署……账号一多,凭证混乱、用错账号、运行时状态混在一起、配置文件散落各处。我发现自己其实在手动搭建一套管理层,干脆把它正式化了。
Cfmux就是个围绕cloudflared的轻量封装,不是替代品,底层完全依赖官方工具。目标很小:让多账号隧道工作流更干净、更隔离。
核心思路是用profile隔离一切。~/.cfmux/profiles/下面每个目录对应一个账号,各自独立的凭证、配置、运行时状态、服务。切换profile就切换完整上下文,不用每次都敲长长的--origincert路径。
设计上我刻意避开了"又一个过度工程化的仪表盘项目"。单二进制文件、CLI优先、依赖最小、对Linux友好、架构无聊。用Golang、Cobra CLI、YAML、systemd集成——非常传统,非常基础设施导向。无聊的技术栈在基础设施工具里被低估了。
MVP极小:添加profile、切换profile、列出隧道、安装服务。四个命令,没有web仪表盘、没有数据库、没有Kubernetes operator。够用了。
有个意外发现:越是深入这种"无聊"的基础设施问题,越觉得现有工具在开发者体验上偷懒。不是做不了,是没把多账号场景当一等公民。Cfmux填补的就是这个缝隙——不是重新发明隧道,而是让隧道在多账号环境下能用得下去。
热门跟贴