Cloudflare Management Skill 由 After Dark Systems, LLC 创建,提供基于 Cloudflare API v4 的全面基础设施管理能力,可对域名、DNS、安全、性能和无服务器部署进行控制。
认证方式:API 凭据存放在 ~/cloudflare_global_key 文件中,该文件包含用于旧版认证的 Global API Key 和用于现代认证的 API Token(Bearer token)。推荐使用 Bearer token 进行 API 调用,格式为 -H "Authorization: Bearer <token>"。可使用 ./scripts/cf-api.sh verify-token 验证 token 有效性。
可用脚本:所有脚本位于 scripts/ 目录,并使用 ~/cloudflare_global_key 中的凭据。核心 API 客户端为 cf-api.sh,负责认证处理。区域管理包括 zones.sh(列出、获取、创建和管理区域)和 zone-settings.sh(管理区域级设置)。DNS 管理包括 dns.sh(完整的 DNS 记录增删改查)、dns-import.sh(批量导入 DNS 记录)和 dns-export.sh(导出 DNS 记录)。安全与防火墙包括 firewall.sh(防火墙规则管理)、waf.sh(Web 应用防火墙规则)、rate-limiting.sh(速率限制规则)、ip-access.sh(IP 访问规则,阻止/允许)和 ssl.sh(SSL/TLS 配置)。性能与缓存包括 cache.sh(缓存清除与设置)、page-rules.sh(页面规则管理)和 speed.sh(速度优化,如压缩、Polish 等)。Workers 与 Pages 包括 workers.sh(Cloudflare Workers 管理)和 pages.sh(Cloudflare Pages 项目)。分析与日志包括 analytics.sh(流量与安全分析)和 logs.sh(企业版日志访问)。
快速开始示例:列出所有区域使用 ./scripts/zones.sh list;获取区域详情使用 ./scripts/zones.sh get <zone_id> 或 ./scripts/zones.sh get-by-name example.com;列出 DNS 记录使用 ./scripts/dns.sh list <zone_id>,可按类型过滤如 --type A;创建 DNS 记录使用 ./scripts/dns.sh create <zone_id> --type A --name subdomain --content 192.0.2.1 --ttl 3600 --proxied true;更新 DNS 记录使用 ./scripts/dns.sh update <zone_id> <record_id> --content 192.0.2.2 --ttl 1800;删除 DNS 记录使用 ./scripts/dns.sh delete <zone_id> <record_id>。清除缓存可使用 ./scripts/cache.sh purge-all <zone_id>、purge-urls 或 purge-tags。SSL/TLS 设置可使用 ./scripts/ssl.sh get-mode <zone_id> 和 set-mode <zone_id> strict。防火墙方面可列出规则、阻止或允许 IP。Workers 方面可列出、部署和删除 worker。
常见工作流:设置新域名时,先创建区域、获取区域 ID、添加所需 DNS 记录(A、CNAME、MX 等)、配置 SSL。从其他提供商迁移 DNS 时,先导出源记录,再使用 dns-import.sh 导入。紧急阻止攻击流量时,可阻止特定 IP、启用 Under Attack 模式、清除缓存。
API 参考:reference.md 提供完整的 Cloudflare API v4 文档,包括所有可用端点、请求/响应格式、错误码与处理、速率限制信息。templates/ 目录包含常见操作的 JSON 模板:dns-records.json、firewall-rules.json、page-rules.json、worker-config.json。
错误处理:所有脚本返回适当的退出码——0 表示成功,1 表示 API 错误(查看 stderr 获取详情),2 表示无效参数,3 表示认证错误,4 表示资源未找到。错误响应包含 Cloudflare 错误码和消息以便调试。
最佳实践:尽可能使用代理记录以获得 DDoS 防护;使用 strict SSL 模式实现端到端加密;设置适当的 TTL(动态内容较短,静态内容较长);在强制执行前以日志模式测试防火墙规则;使用最小所需权限的 API token;积极缓存但在内容变更时清除;监控分析以发现异常流量模式。
支持:如有该技能相关问题,请联系 After Dark Systems, LLC。Cloudflare API 文档:https://developers.cloudflare.com/api/。