
FlareDNS是一个Cloudflare动态DNS更新客户端,用于克服现有客户端的灵活性限制。目前处于测试阶段,已在部分系统上进行验证。它从IPify获取外部IP地址信息,可同时更新A(IPv4)和AAAA(IPv6)记录。
该工具专为多服务器共享同一IPv4地址但拥有独立IPv6地址的配置场景设计,支持运行多个实例以适应多DNS更新需求。FlareDNS具有简单、可靠、透明的特点,代码库轻量(单文件),便于根据特殊需求进行调整(如基于主机公网IP计算多个AAAA记录、查询DHCP租约表获取IP等)。
注意:FlareDNS仅在域名使用Cloudflare Nameservers时有效。Cloudflare提供免费服务且性能优异,其DNS最小TTL为2分钟(在多数实际场景中影响不大)。
dyndns.mydomain.com)安装依赖:
shpip3 install -r requirements.txt
运行命令(每60秒检查并更新DNS):
shpython3 update-dyndns.py --email cloudflare-email@mydomain.com --api-key c6c94fd52184dcc783c5ec1d5089ec354b9d9 --hostname dyndns.mydomain.com --ipv4 --ipv6 --interval 60
命令行参数说明:
sh$ python update-dyndns.py --help usage: update-dyndns.py [-h] -e EMAIL -k API_KEY -n HOSTNAME [-4] [-6] [-d] [-i INTERVAL] optional arguments: -h, --help 显示帮助信息并退出 -e EMAIL, --email EMAIL Cloudflare登录邮箱 -k API_KEY, --api-key API_KEY Cloudflare全局API密钥(注意:域名专用API令牌无效!) -n HOSTNAME, --hostname HOSTNAME 需更新的主机名,如mydyndns.mydomain.com -4, --ipv4 使用当前IPv4更新A记录 -6, --ipv6 使用当前IPv6更新AAAA记录 -d, --debug 启用额外调试日志 -i INTERVAL, --interval INTERVAL 更新间隔(秒),设为0则仅更新一次(实际为更新尝试后的睡眠时间)
FlareDNS提供预构建Docker镜像,可在https://hub.docker.com/repository/docker/ulikoehler/flaredns%E8%8E%B7%E5%8F%96%EF%BC%8C%E6%97%A0%E9%9C%80%E5%AE%89%E8%A3%85Python%E5%8F%8A%E4%BE%9D%E8%B5%96%E5%8D%B3%E5%8F%AF%E5%9C%A8%E4%B8%80%E8%87%B4%E7%8E%AF%E5%A2%83%E4%B8%AD%E8%BF%90%E8%A1%8C%E3%80%82
Docker运行示例:
shdocker run -ti --network host --rm --name FlareDNS-dyndns.mydomain.com ulikoehler/flaredns:latest python update-dyndns.py --email cloudflare-email@mydomain.com --api-key c6c94fd52184dcc783c5ec1d5089ec354b9d9 --hostname dyndns.mydomain.com --ipv4 --ipv6 --interval 60
注意:--network host参数可确保容器在主机启用IPv6时支持IPv6。
克隆仓库(默认路径/opt/FlareDNS,可在.service文件中修改):
shgit clone https://github.com/ulikoehler/FlareDNS.git /opt/FlareDNS
安装服务文件:
shsudo cp /opt/FlareDNS/examples/UpdateFlareDNSDocker.service /etc/systemd/system/UpdateFlareDNS.service
pip install -r requirements.txt):
shsudo cp /opt/FlareDNS/examples/UpdateFlareDNSNoDocker.service /etc/systemd/system/UpdateFlareDNS.service
编辑服务文件:
务必修改/etc/systemd/system/UpdateFlareDNS.service中的参数(如***、API密钥、主机名等)。
启用并启动服务:
shsudo systemctl enable --now UpdateFlareDNS
查看日志:
shsudo journalctl -xfu UpdateFlareDNS
探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
通过 Docker 登录认证访问私有仓库
无需登录使用专属域名
Kubernetes 集群配置 Containerd
K3s 轻量级 Kubernetes 镜像加速
VS Code Dev Containers 配置
Podman 容器引擎配置
HPC 科学计算容器配置
ghcr、Quay、nvcr 等镜像仓库
Harbor Proxy Repository 对接专属域名
Portainer Registries 加速拉取
Nexus3 Docker Proxy 内网缓存
需要其他帮助?请查看我们的 常见问题Docker 镜像访问常见问题解答 或 提交工单
manifest unknown
no matching manifest(架构)
invalid tar header(解压)
TLS 证书失败
DNS 超时
410 Gone 排查
402 与流量用尽
401 认证失败
429 限流
D-Bus 凭证提示
413 与超大单层
来自真实用户的反馈,见证轩辕镜像的优质服务