3 个版本

0.1.6 2024年2月2日
0.1.5 2023年12月4日
0.1.4 2023年12月2日

#152 in HTTP客户端

BSD-3-Clause

30KB
787

Cloudflare DynDNS客户端

获取您的当前公共IP地址(IPv4/IPv6)并更新指定的Cloudflare DNS记录。

配置

客户端配置通过一个 toml 配置文件完成。默认情况下,客户端将从工作目录中的 config.toml 加载其配置,但可以通过提供 -<PATH TO CONFIG> 命令行参数来更改。

示例 config.toml

ipv4_service = "https://api.ipify.org" # Api that returns the current ipv4 address
ipv6_service = "https://api64.ipify.org" # Api that returns the current ipv6 address

[[zones]] 
identifier = "<YOUR ZONE ID HERE>"

[zones.auth]
BearerAuth = "<YOUR ZONE AUTHENTICATION HERE>"

# There can be multiple search rules. All records matching any of the rules will be changed
[[zones.search]]
type = "A"
name = "test.mydomain.net"

[[zones.search]] # Updates any AAAA-type record
type = "AAAA"

由于任何与上面示例中的两个搜索规则之一匹配的记录都将更新,因此这将导致以下结果:

  1. A记录 "test.mydomain.net" 将被更新(如果存在)
  2. 区域的所有AAAA记录都将被更新

配置参考

  • 配置文件结构

    名称 类型
    ipv4_service 可选 url
    ipv6_service 可选 url
    zones 列表 Zone

    注意:至少必须设置ipv4_service和ipv6_service中的一个,并且zones必须至少有一个条目

  • 区域:

    名称 类型
    标识符 字符串
    auth 身份验证
    search 列表 Rule
  • 身份验证(以下任一项)

    1. 使用Bearer身份验证
      名称 类型
      BearerAuth 字符串
    2. 使用ApiKey身份验证:待办
  • 规则:

    名称 类型
    注释 可选 StringMatch
    内容 可选 字符串
    匹配 可选 Match
    名称 可选 字符串
    代理 可选 布尔值
    search 可选 字符串
    标签 可选 StringMatch
    标签匹配 可选 Match
    类型 可选 字符串
  • StringMatch:

    名称 类型
    精确 可选 字符串
    缺失 可选 布尔值
    包含 可选 字符串
    以...结束 可选 字符串
    存在 可选 布尔值
    以...开头 可选 字符串
  • 匹配(以下任意一个)

    1. "任意"
    2. "所有"

依赖项

~8–21MB
~320K SLoC