用途
cloudflare-cli 是一个用于通过命令行管理 Cloudflare 各项服务的工具,由 api2cli 根据 Cloudflare API 打包生成。它把 Cloudflare 的众多资源(区域、DNS、Workers、存储、安全、网络等)统一到一套 CLI 命令中,方便在终端或脚本中完成日常运维与自动化操作。
安装与初始化
若系统中找不到 cloudflare-cli,可按资料提供的步骤安装并构建:
bun --version || curl -fsSL https://bun.sh/install | bash
npx api2cli bundle cloudflare
npx api2cli link cloudflare
其中 api2cli link 会自动把 ~/.local/bin 加入 PATH,使 CLI 在后续命令中可用。资料建议在程序化调用命令时始终使用 --json 标志。
认证
使用前需设置 API Token:
cloudflare-cli auth set "your-token"
cloudflare-cli auth test
cloudflare-cli auth test --account-id <account-id>
认证相关命令包括:auth set <token>、auth show、auth remove、auth test。Token 存储在 ~/.config/tokens/cloudflare-cli.txt。
主要能力
该 CLI 覆盖的资源与命令组包括:
- zones:列出、获取、创建、删除区域,过滤域名,清除缓存(全部或指定 URL),查看与更新区域设置,触发激活检查。
- dns:列出、获取、创建、更新、删除 DNS 记录,支持按类型过滤、代理 CNAME、导出 BIND 格式、触发异步 DNS 扫描、查看扫描结果并接受或拒绝记录。
- accounts:列出账户、获取账户、列出成员与 IAM 权限组。
- settings:列出、获取、设置区域设置,支持批量更新。
- workers:列出、下载、删除脚本,管理路由、Cron 触发器、密钥、自定义域名。
- kv:管理 Workers KV 命名空间与键值对,支持批量写入与删除。
- d1:列出、创建、获取、删除 D1 数据库,执行 SQL 查询。
- r2:列出、创建、获取、删除 R2 存储桶,支持按名称过滤。
- pages:管理 Pages 项目与部署,支持回滚、自定义域名管理。
- queues:列出、创建队列,管理消费者。
- tunnels:列出、获取、创建、删除隧道,管理配置、连接与令牌。
- ssl:获取与设置 SSL 模式、通用 SSL 设置、证书包、TLS 版本、始终 HTTPS、源证书。
- waf:列出与获取规则集、阶段入口点,创建与删除自定义规则。
- firewall:管理 IP 访问规则(可按 IP 或国家阻止)与用户代理规则。
- bot:获取与更新 Bot 管理设置,启用或禁用 Bot Fight Mode。
- rate-limits:列出、创建、删除速率限制规则。
- security:获取与设置安全级别(含 Under Attack 模式),查看挑战 TTL 与浏览器检查。
- access:管理 Zero Trust Access 应用、策略、组、服务令牌、身份提供商。
- rules:管理源站、转换、重定向、配置、缓存规则,支持更新阶段规则。
- cache:清除缓存、获取与设置缓存级别、开发模式。
- page-rules:列出、创建、删除 Page Rules。
- email-routing:查看与启用邮件路由,管理规则、地址、catch-all。
- dnssec:获取、启用、禁用 DNSSEC。
- waiting-room:列出、创建等候室,查看状态。
- analytics:获取仪表盘与 colo 分析,执行 GraphQL 查询。
- logs:管理 Logpush 任务,列出数据集字段。
- argo:获取与设置智能路由、分层缓存。
- spectrum:管理 TCP/UDP 代理应用。
- custom-hostnames:管理 SSL for SaaS 主机名与回退源站。
- load-balancers:管理负载均衡器、池、监控器。
使用方式
命令遵循 cloudflare-cli <resource> <action> [flags] 的结构。可通过帮助命令查看资源与动作:
cloudflare-cli --help
cloudflare-cli <resource> --help
cloudflare-cli <resource> <action> --help
全局标志包括:--json、--format <text|json|csv|yaml>、--verbose、--no-color、--no-header。
使用 --json 时返回标准化信封格式:
{ "ok": true, "data": { ... }, "meta": { "total": 42 } }
出错时返回:
{ "ok": false, "error": { "message": "...", "code": 401 } }
退出码:0 表示成功,1 表示 API 错误,2 表示用法错误。
适用场景
适合需要在终端或自动化脚本中批量管理 Cloudflare 资源的开发者与运维人员,例如批量配置 DNS、部署 Workers、管理存储与数据库、调整安全与缓存策略、查询分析数据等。
限制
资料未提供关于收费、价格、平台兼容性、性能或效果的具体说明,这些方面暂未提供。使用前需自行准备有效的 Cloudflare API Token,并确保具备相应资源的访问权限。