1 个不稳定版本
0.4.0 | 2021 年 5 月 23 日 |
---|
#18 在 #ddns
27KB
263 行
Cloudflare DDNS 服务
这是一个简单的守护进程,在后台运行并定期检查您的公共 IP。如果它发生变化,服务将设置相应的 DNS 记录。该服务支持 IPv4 和 IPv6 地址。
安装
使用包管理器 cargo 安装 Cloudflare DDNS 服务。
cargo install cloudflare-ddns-service
用法
配置
该服务遵循 XDG 规范以定位配置文件。在大多数情况下,这意味着配置文件位于 ~/.config/cloudflare-ddns-service/config.yaml
。
如路径所示,配置应该是一个 YAML 文件。示例可能如下所示
api_token: "secretkey"
zone: "example.com"
domain: "example.example.com"
ipv4: true # defaults to true
ipv6: true # defaults to false
interval: 15 # seconds, defaults to 60
如你所见,我们这里有一个令牌。这个令牌需要至少访问以下内容
- 读取您的帐户区域(从区域名称获取区域 ID)
- 读取和写入 DNS 区域(首先获取记录然后修改它们)
除了令牌之外,您还需要在运行此服务之前准备一些 DNS 记录:如果您启用了 IPv4 支持,则需要为配置的域名已经存在一个 DNS A
记录,如果您启用了 IPv6 支持,则需要一个 DNS AAAA
记录设置在配置的域名上。服务不会创建新的记录,它只是修改现有的记录。
运行
要运行服务,只需调用二进制文件。您可以可选地设置 RUST_LOG
环境变量以配置日志级别
RUST_LOG=info cloudflare-ddns-service
贡献
欢迎拉取请求。对于重大更改,请先提出问题以讨论您想要更改的内容。
请确保根据需要更新测试。
许可证
cloudflare-ddns-service 是合作非暴力软件:您可以在 CNPLv6+ 许可证的条款下使用、重新分配和/或修改它,该许可证可在源代码根目录中的 LICENSE 文件中或在此处找到:https://git.pixie.town/thufie/CNPL。
cloudflare-ddns-service 在适用法律允许的范围内提供绝对没有任何保证。有关详细信息,请参阅 LICENSE
。
归属
这项工作是从 cloudflare-ddns 衍生而来,这是一个用于相同目的的命令行实用程序。它由 Rostislav Raykov [email protected] 编写,并可在上述链接中以 MIT 许可证提供。
这次分支是为了对工具进行重大重构(使其持续运行而不是通过cron运行,以支持IPv6,以及不使用自建的Cloudflare API客户端,而是使用Cloudflare本身提供的库)。由于这些更改的性质,我没有提交PR,因为这基本上是一个独立的工具,几乎所有代码都已被重写。
依赖关系
~18-32MB
~518K SLoC