
这是一个用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记录,否则更改会被脚本覆盖。如您有特殊使用场景需求,请https://github.com/kissgyorgy/cloudflare-dyndns/issues/new%E5%8F%8D%E9%A6%88%E3%80%82
$ 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对应的记录(详情见https://github.com/kissgyorgy/cloudflare-dyndns/issues/6%EF%BC%89--proxied标志用于启用Cloudflare代理服务v3.0 API令牌强制支持(不兼容变更)
仅支持API令牌(需在My Profile / API Tokens创建:[***]
强烈建议从v2.0升级并使用API令牌(相比全局API密钥,可实现最小权限控制)。
移除--domains选项,保留CLOUDFLARE_DOMAINS环境变量配置方式
v2.0 PyPI发布适配(不兼容变更)
脚本名称变更为cloudflare-dyndns,缓存文件路径更新。
Docker镜像入口点已同步更新,拉取新镜像后可正常使用
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。
探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
通过 Docker 登录认证访问私有仓库
无需登录使用专属域名
Kubernetes 集群配置 Containerd
K3s 轻量级 Kubernetes 镜像加速
VS Code Dev Containers 配置
Podman 容器引擎配置
HPC 科学计算容器配置
ghcr、Quay、nvcr 等镜像仓库
Harbor Proxy Repository 对接专属域名
Portainer Registries 加速拉取
Nexus3 Docker Proxy 内网缓存
需要其他帮助?请查看我们的 常见问题Docker 镜像访问常见问题解答 或 提交工单
docker search 限制
站内搜不到镜像
离线 save/load
插件要用 plugin install
WSL 拉取慢
安全与 digest
新手拉取配置
镜像合规机制
manifest unknown
no matching manifest(架构)
invalid tar header(解压)
TLS 证书失败
DNS 超时
域名连通性排查
410 Gone 排查
402 与流量用尽
401 认证失败
429 限流
D-Bus 凭证提示
413 与超大单层
来自真实用户的反馈,见证轩辕镜像的优质服务