基于 Cloudflare 官方 API 的 DNS 与 Tunnel 管理工具,支持安全地暴露本地服务、管理域名解析,适合开发者和运维人员快速搭建内网穿透与自动化 DNS 工作流。
说明:
## 核心用法
Cloudflare Manager 是一款面向开发者和运维工程师的 CLI 工具,专注于三大核心场景:DNS 记录管理(A/CNAME/TXT/MX 记录的增删改查)、Cloudflare Tunnel(cloudflared)配置管理,以及 Zero Trust 安全策略的基础操作。用户通过环境变量配置 API Token 和 Zone ID 后,即可使用 `.venv/bin/python3 scripts/cf_manager.py` 执行各类命令。典型工作流包括:使用 `list-dns` 查看现有记录、、`add-dns` 快速指向域名到服务器 IP,或通过 `update-ingress` 将本地开发端口(如 localhost:3000)暴露到公网域名,实现安全的内网穿透。
工具设计充分考虑了自动化需求,所有命令返回 JSON 格式结果,便于集成到 CI/CD 流水线或脚本中。`–dry-run` 模式允许用户在实际执行前预览变更,避免误操作影响生产环境。
## 显著优点
**官方 API 背书**:直接调用 Cloudflare 官方 REST API,功能稳定可靠,与平台原生能力保持一致。
**安全设计完善**:强制使用最小权限的 API Token(而非全局 API Key),敏感凭证通过环境变量注入,无硬编码风险。YAML 解析采用 `safe_load()()`,杜绝反序列化漏洞。
**操作可预览**:`–dry-run` 模式是亮点功能,用户可在修改 DNS 记录或重启 Tunnel 服务前完整预览变更内容,显著降低生产事故概率。
**权限管控透明**:SKILL.md 明确标注所有特权操作(sudo 需求),并提供 `sudoers.example` 参考配置,帮助用户遵循最小权限原则限制命令范围。
**依赖精简可控**:仅依赖 `requests` 和 `PyYAML` 两个成熟开源库,无动态代码加载或远程脚本执行行为,供应链攻击面极小。
## 潜在缺点与局限性
**来源可信度限制**:作者为社区个人开发者(1999azzar),非 Cloudflare 官方或知名组织维护,长期更新和维护承诺存在不确定性。
**功能边界较窄**:专注于 DNS 和 Tunnel 基础管理,不支持 WAF 规则深度配置、Load Balancer、Workers 部署等高级 Cloudflare 功能。
**系统权限依赖**:Tunnel 配置功能强制依赖 sudo 权限,在容器化环境或无 root 权限的共享主机上无法使用完整功能。
**输入验证待加强**:当前仅对 DNS 记录类型做枚举限制,hostname、IP 地址等参数缺乏严格的格式校验(如正则验证),存在输入错误导致 API 调用失败的风险。
**无审计日志**:未内置操作审计功能,无法追溯历史变更记录,对合规要求较高的团队需自行封装日志层。
## 适合的目标群体
– **独立开发者**:需要快速将本地开发环境暴露到公网进行演示或 webhook 调试
– **小型运维团队**:管理少量域名的 DNS 记录,追求轻量级自动化替代重量级平台
– **DevOps 工程师**:将 DNS 变更集成到基础设施即代码(IaC)工作流中
– **技术爱好者**:学习 Cloudflare API 和 Tunnel 技术的入门工具
## 使用风险
**凭证泄露风险**:API Token 存储于 `.env` 文件,若文件权限配置不当(未设为 600)或误提交至版本控制,可能导致域名被恶意接管。
**sudo 权限扩大化**:若未按建议配置受限 sudoers 规则,用户可能获得完整的系统 root 权限,违背最小权限原则。
**生产环境误操作**:尽管有 `–dry-run`,但直接操作 DNS 记录仍可能导致服务中断(如误删关键 A 记录),建议在变更前备份现有配置。
**API 速率限制**:Cloudflare 对 API 调用有频率限制,高频自动化场景需自行实现重试和退避逻辑。
**依赖维护风险**:`requests` 和 `PyYAML` 虽为成熟库,但若长期不更新,可能累积已知 CVE 漏洞,建议定期审计依赖版本。








