Cloudflare Dns Updater

🌐 自动同步 IP 到 Cloudflare DNS

通过 Cloudflare API 自动创建或更新 DNS A 记录,支持代理模式,实现域名指向服务器的自动化部署。

收藏
8.6k
安装
2.3k
版本
0.1.1
CLS 安全性认证2026-08-10
点击查看完整报告 >

使用说明

核心用法

Cloudflare DNS Updater 是一款用于自动化管理 Cloudflare DNS 记录的 CLI 工具。通过调用 Cloudflare API,它能够在指定域名(zone)下创建或更新子域名(record)的 A 记录,将其指向指定的 IPv4 地址,并可选择是否启用 Cloudflare 的代理服务(橙色云)。

使用流程简洁:验证 CLOUDFLARE_API_TOKEN 环境变量 → 解析用户输入的 zone、record、IP 参数 → 调用 update-record.py 脚本执行 API 请求 → 返回操作结果。支持 @ 符号表示根域名,默认启用代理模式。

显著优点

  • 自动化部署:消除手动登录 Cloudflare 控制台的操作,适合 CI/CD 流水线
  • 幂等性设计:同一记录多次更新不会产生冲突,适合动态 IP 场景(如家庭服务器)
  • 代理集成:默认开启 Cloudflare 代理,自动获得 DDoS 防护、CDN 加速、SSL 证书
  • 零配置依赖:仅需 Python3 和 requests 库,无复杂运行时依赖

潜在缺点与局限性

  • 单记录类型限制:仅支持 A 记录(IPv4),不支持 AAAA、CNAME、MX 等其他记录类型
  • 环境变量依赖:必须预置 CLOUDFLARE_API_TOKEN,权限配置不当会导致操作失败
  • 无批量操作:每次只能处理单条记录,大规模域名管理效率较低
  • 无历史回滚:更新操作直接覆盖,无内置的版本控制或撤销机制

适合人群

  • 运维工程师/ DevOps 从业者
  • 自建服务器用户(NAS、家庭实验室、VPS 玩家)
  • 需要将动态 IP 自动同步到 DNS 的开发者
  • 追求基础设施即代码(IaC)的团队

常规风险

  • 权限泄露风险:API Token 如具有过宽的 DNS 编辑权限,一旦泄露可导致域名被恶意篡改
  • IP 验证缺失:脚本本身不验证 IP 格式合法性,错误输入可能导致解析失败
  • 覆盖风险:相同 record 名的现有记录会被无条件覆盖,可能意外中断服务
  • API 限流:高频调用可能触发 Cloudflare 速率限制,导致临时不可用

安全解读

核心用法

Cloudflare DNS Updater 是一款用于程序化管理 Cloudflare DNS A 记录的技能。通过调用官方 API,它能够自动创建或更新 DNS 记录,并将域名指向指定的 IPv4 地址,同时支持 Cloudflare 代理功能的开关控制。

使用该技能需预先配置 CLOUDFLARE_API_TOKEN 环境变量,确保 Token 具备 DNS 编辑权限。核心脚本 update-record.py 接收三个必填参数:--zone(根域名)、--record(子域名或 @)、--ip(目标 IP),以及可选的 --proxied 参数控制代理状态。执行流程为标准 CLI 调用模式,脚本会输出 JSON 格式的操作结果。

典型应用场景包括:服务器迁移后快速切换 DNS 指向、动态 IP 环境下的域名自动更新、CI/CD 流水线中的域名预配置等。

显著优点

1. 官方 API 保障:直接调用 Cloudflare 官方 REST API,数据通过 TLS 加密传输,无中间人风险
2. 安全认证设计:API Token 从环境变量读取,拒绝硬编码,符合安全最佳实践

3. 轻量依赖:仅依赖 Python requests 库,无复杂依赖链,降低供应链攻击面

4. 功能聚焦:单一职责设计,代码量少(约 255 行),易于审计和维护

5. 代理支持:原生支持 Cloudflare 代理开关,便于灵活配置 CDN 和安全防护

潜在缺点与局限性

1. 外部依赖刚性:完全依赖 Cloudflare API 可用性,服务中断或网络隔离时将无法执行
2. 无重试机制:当前实现缺乏指数退避重试,临时网络抖动可能导致任务失败

3. 权限验证前置:脚本执行前不会预检 Token 权限,错误配置会导致运行时失败

4. IPv4 单一支持:仅支持 A 记录(IPv4),不支持 AAAA 记录(IPv6)或 CNAME 等其他记录类型

5. 输出控制不足:缺乏日志级别控制参数,难以适配自动化流水线中的静默执行需求

适合的目标群体

  • DevOps 工程师:需要在部署脚本中自动配置域名指向
  • 运维人员:管理多台服务器的动态 IP 映射场景
  • 开发者:构建个人项目或测试环境的快速域名配置
  • CI/CD 集成者:将 DNS 更新纳入自动化发布流程

常规使用风险

1. Token 泄露风险:若环境变量配置不当或被日志记录,可能导致 API Token 泄露,建议配合密钥管理服务使用
2. DNS 配置误操作:错误的 --record--ip 参数可能导致服务中断,生产环境建议先在测试域名验证

3. 并发冲突:多实例同时修改同一记录可能产生竞态条件,需外部协调机制

4. 依赖版本风险requests 库若存在未修补漏洞可能影响安全,建议锁定依赖版本

Cloudflare Dns Updater 内容

scripts文件夹
手动下载zip · 5.3 kB
update-record.pytext/plain
请选择文件