这是一个用Python编写的简单动态DNS脚本,用于更新CloudFlare DNS A/AAAA记录,功能类似于经典的ddclient perl脚本。适用于需要在动态IP环境下保持域名解析记录最新的场景,如家庭网络、动态IP服务器等。
适用于需要动态更新CloudFlare DNS记录的用户,特别是:
bash$ docker run --rm -it kissgyorgy/cloudflare-dyndns:v5.1 --help
使用-6 IPv6选项前,需先启用Docker守护进程的IPv6支持。启用后,可在任何容器、服务或网络中选择使用IPv4、IPv6或两者。
使用本脚本后,它将"接管"您指定域名的记录管理,具体表现为:
重要:不应再通过其他方式手动修改相关A/AAAA记录,否则更改会被脚本覆盖。如您有特殊使用场景需求,请提交issue反馈。
$ cloudflare-dyndns --help Usage: cloudflare-dyndns [OPTIONS] [DOMAINS]... 用于根据本机当前IP地址更新CloudFlare DNS A和/或AAAA记录的命令行脚本。 主域名("@"记录)直接输入"example.com" 子域名格式:"*.example.com"(泛域名)或"sub.example.com"(具体子域名) 域名列表可通过CLOUDFLARE_DOMAINS环境变量设置(域名间用空格分隔,注意引号包裹)。 支持IPv4和IPv6地址,默认仅更新IPv4的A记录,可通过选项调整。 Options: --api-token TEXT CloudFlare API令牌(在个人资料页面/API令牌选项卡创建)。可通过 CLOUDFLARE_API_TOKEN环境变量设置。 [必填] --proxied 是否启用Cloudflare性能和安全加速(代理模式) -4 / -no-4 开启/关闭IPv4检测及A记录更新 [默认: 开启] -6 / -no-6 开启/关闭IPv6检测及AAAA记录更新 [默认: 关闭] --delete-missing 当未找到IP时删除对应DNS记录(IPv4缺失删A记录,IPv6缺失删AAAA记录) --cache-file FILE 缓存文件路径 [默认: /home/walkman/.cache/cloudflare-dyndns/ip.cache] --force 删除缓存并强制更新所有域名 --debug 显示详细日志和异常跟踪信息 --help 显示帮助信息并退出
| 参数 | 环境变量 | 说明 | 必要性 |
|---|---|---|---|
--api-token | CLOUDFLARE_API_TOKEN | CloudFlare API令牌(从个人资料→API令牌创建) | 必填 |
[DOMAINS] | CLOUDFLARE_DOMAINS | 需更新的域名列表(空格分隔,支持泛域名) | 必填 |
| 参数 | 说明 | 默认值 |
|---|---|---|
-4/-no-4 | 启用/禁用IPv4检测及A记录更新 | 启用 |
-6/-no-6 | 启用/禁用IPv6检测及AAAA记录更新 | 禁用 |
--proxied | 启用Cloudflare代理(性能与安全加速) | 禁用 |
--delete-missing | IP缺失时删除对应DNS记录(A/AAAA) | 禁用 |
--cache-file | IP缓存文件路径 | /home/walkman/.cache/cloudflare-dyndns/ip.cache |
--force | 忽略缓存强制更新所有记录 | 禁用 |
--debug | 显示调试日志和异常详情 | 禁用 |
1: 发生未知错误2: IP地址无法确定(IP检测服务错误)3: CloudFlare相关错误(API调用失败、记录获取失败等)v5.1 移除CloudFlare IP追踪服务
该服务已停止工作,替换为ipify.org服务
v5.0 macOS支持
新增从macOS信任存储读取CA证书的能力,无需文件式CA存储
v4.0 IPv6支持
-6选项用于更新AAAA记录--delete-missing选项,可删除缺失IP对应的记录(详情见issue #6)--proxied标志用于启用Cloudflare代理服务v3.0 API令牌强制支持(不兼容变更)
仅支持API令牌(需在My Profile / API Tokens创建:[***]
强烈建议从v2.0升级并使用API令牌(相比全局API密钥,可实现最小权限控制)。
移除--domains选项,保留CLOUDFLARE_DOMAINS环境变量配置方式
v2.0 PyPI发布适配(不兼容变更)
脚本名称变更为cloudflare-dyndns,缓存文件路径更新。
Docker镜像入口点已同步更新,拉取新镜像后可正常使用
来自真实用户的反馈,见证轩辕镜像的优质服务
免费版仅支持 Docker Hub 加速,不承诺可用性和速度;专业版支持更多镜像源,保证可用性和稳定速度,提供优先客服响应。
免费版仅支持 docker.io;专业版支持 docker.io、gcr.io、ghcr.io、registry.k8s.io、nvcr.io、quay.io、mcr.microsoft.com、docker.elastic.co 等。
当返回 402 Payment Required 错误时,表示流量已耗尽,需要充值流量包以恢复服务。
通常由 Docker 版本过低导致,需要升级到 20.x 或更高版本以支持 V2 协议。
先检查 Docker 版本,版本过低则升级;版本正常则验证镜像信息是否正确。
使用 docker tag 命令为镜像打上新标签,去掉域名前缀,使镜像名称更简洁。
探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
通过 Docker 登录认证访问私有仓库
在 Linux 系统配置镜像加速服务
在 Docker Desktop 配置镜像加速
Docker Compose 项目配置加速
Kubernetes 集群配置 Containerd
在宝塔面板一键配置镜像加速
Synology 群晖 NAS 配置加速
飞牛 fnOS 系统配置镜像加速
极空间 NAS 系统配置加速服务
爱快 iKuai 路由系统配置加速
绿联 NAS 系统配置镜像加速
QNAP 威联通 NAS 配置加速
Podman 容器引擎配置加速
HPC 科学计算容器配置加速
ghcr、Quay、nvcr 等镜像仓库
无需登录使用专属域名加速
需要其他帮助?请查看我们的 常见问题 或 官方QQ群: 13763429