本文最后更新于 2026年5月3日。
https://github.com/timothymiller/cloudflare-ddns
timothymiller/cloudflare-ddns 是一个基于 Rust 编写的开源工具,其核心功能是为 Cloudflare 提供动态域名解析(DDNS)服务。
简单来说,如果你在家中或办公室通过普通宽带拨号上网,你的公网 IP 地址通常会定期发生变化。如果你想通过域名(如 home.yourdomain.com)访问自建的服务,就需要一个工具在 IP 变动时自动告诉 Cloudflare 更新解析记录。
该项目的主要特点如下:
1. 核心功能
-
自动 IP 检测:程序会自动检测你当前的公网 IPv4 或 IPv6 地址。
-
实时更新:一旦发现 IP 发生变化,它会通过 API 立即更新 Cloudflare 中的 DNS 记录。
-
多域名支持:可以同时管理多个域名或子域名。
2. 技术优势
-
极度轻量(Rust 编写):
-
体积小:Docker 镜像仅约 1.1 MB。
-
内存占用极低:运行时仅消耗约 3.5 MB 内存。
-
相比于 Python 或 Go 编写的同类工具,它更加省资源,非常适合在树莓派、软路由(OpenWrt)或群晖(NAS)等嵌入式设备上运行。
-
-
零依赖:作为一个完全静态编译的二进制文件,它不需要在系统上安装任何库文件。
3. 主要特性
-
IPv4/IPv6 支持:可以同时更新 A 记录和 AAAA 记录。
-
配置简单:完全通过环境变量进行配置,非常适合 Docker 部署。
-
健康检查与监控:支持通知功能(如通过 Webhooks 发送通知)以及心跳检测(Heartbeat)。
-
支持代理模式:你可以通过环境变量设置是否开启 Cloudflare 的 CDN 小云朵(Proxy 模式)。
-
WAF 列表管理:除了更新 DNS,它还可以维护 Cloudflare 的 WAF 允许列表。
4. 快速部署示例 (Docker)
如果你有 Docker 环境,只需运行以下命令即可:
Bash
docker run -d \
--name cloudflare-ddns \
--restart unless-stopped \
-e CLOUDFLARE_API_TOKEN=你的API令牌 \
-e DOMAINS=example.com,www.example.com \
timothyjmiller/cloudflare-ddns:latest
总结建议:
如果你正在寻找一个高性能、超省资源且配置简单的 Cloudflare DDNS 方案,这个 Rust 版本的项目是目前 GitHub 上最优秀的选择之一。