核心用法
Cloudflare Skill 是一套完整的域名与基础设施管理工具,封装了官方 REST API 的常用操作。用户通过环境变量注入 API Token 后,可调用 scripts/cf.sh 脚本完成:
- 域名管理:Zone 查询、ID 反查、配置导出导入
- DNS 编排:A/AAAA/CNAME/MX/TXT 等全记录类型的增删改查,支持智能代理(orange cloud)与 TTL 精细控制
- SSL 与边缘安全:一键切换 SSL 模式(Off/Flexible/Full/Strict)、Page Rules、防火墙规则、缓存清理
- 零信任网络:Cloudflare Tunnel 的创建、删除与状态监控(需 Account ID)
- 运营洞察:内置 Analytics 接口,默认可拉取最近 24 小时流量数据
脚本采用纯 Bash + curl/jq 实现,零外部依赖,适合 CI/CD 流水线或本地运维脚本集成。
显著优点
1. 官方原生:直接调用 api.cloudflare.com,数据平面与控制平面分离,无中间人风险
2. 权限最小化:API Token 可在 Cloudflare 控制台按 Zone/操作细粒度授权(如仅 DNS 编辑、仅 Analytics 读)
3. 幂等友好:DNS 导出/导入支持 JSON 格式,便于 GitOps 管理与灾难恢复
4. 隧道原生:内置 Cloudflare Tunnel(原 Argo Tunnel)管理,无需额外安装 cloudflared CLI 即可创建/删除隧道
潜在局限
- 隧道配置限制:Skill 仅提供隧道生命周期管理(create/delete/list),不暴露 tunnel config/route 的细粒度编辑,复杂路由仍需 cloudflared CLI 或 Dashboard 手动配置
- Rate Limit 未封装:高频调用(如批量 DNS 导入)可能触发 Cloudflare API 限速(默认 1200 req/5 min),脚本层面无指数退避或重试机制
- 无状态设计:脚本无本地缓存或锁机制,并发修改同一 Zone 存在竞态条件风险
- SSL 模式误用风险:
ssl-set strict要求源站必须有有效证书,若源站未配置可能立即导致服务中断
适合人群
- DevOps / SRE:需要将域名管理、SSL 配置、缓存清理集成到 CI/CD 或运维脚本
- 全栈开发者:快速为 SaaS 项目绑定自定义域名、启用 HTTPS 与 CDN 加速
- 安全工程师:通过 Tunnel 替代公网 IP 暴露,构建零信任访问入口
常规风险
| 风险场景 | 说明与缓解 |
|---------|-----------|
| Token 泄露 | API Token 拥有 Zone 编辑权限即相当于域名控制权,务必注入环境变量而非硬编码,并设置 IP 白名单与有效期 |
| 误删 DNS | 脚本提供 `dns-delete` 无二次确认,建议生产环境配合 `--dry-run` 或先 `dns-export` 备份 |
| SSL 中断 | Flexible→Strict 切换前验证源站证书链完整,建议先 `ssl-set full` 过渡 |
| 隧道单点 | Tunnel 依赖 Cloudflare 边缘网络,若需高可用应创建多条隧道并配置负载均衡,Skill 层面不自动处理 |
> 安全等级说明:虽然 Skill 本身为只读/管理工具,但因其直接操作生产域名且涉及 SSL/TLS 配置变更,建议按 S级 管控 Token 分发与审计日志。