#routes #update #dns #ipv4 #ipv6 #dns-records #address

nightly app route53-ip-update

使用您的公共IPv4和/或IPv6地址更新Route 53 DNS记录

1 个不稳定版本

0.1.0 2022年12月12日

#45 in #ipv6

Apache-2.0

44KB
894 代码行

route53-ip-update

使用您的IPv4和/或IPv6公共地址更新AWS Route 53 DNS记录

用法

route53-ip-update[选项] [主机名]...

参数

[HOSTNAMES]... 要更新的主机名

选项

  • -a, --address-type <ADDRESS_TYPE>
    是否使用IPv4、IPv6或两者。如果命令行和配置文件未指定,则默认为两者。
  • -n, --allow-nonroutable <ALLOW_NONROUTABLE>
    是否允许使用不可路由的地址。如果命令行和配置文件未指定,则默认为false [可能值:true, false]。
  • -c, --config-file <CONFIG_FILE>
    要读取的配置文件(如果有)。
  • -q, --query-interfaces <QUERY_INTERFACES>
    是否查询接口的地址。如果命令行和配置文件未指定,则默认为false [可能值:true, false]。
  • -Q, --query-ip-service <QUERY_IP_SERVICE>
    是否查询IP服务以获取当前IP地址。如果命令行和配置文件未指定,则默认为true [可能值:true, false]。
  • -I, --ignore-interfaces <IGNORE_INTERFACES>
    在查询时忽略的接口。
  • -s, --ip-service <IP_SERVICE>
    查询当前IP地址的服务。如果命令行和配置文件未指定,则默认为 https://api64.ipify.org
  • -t, --timeout <TIMEOUT>
    允许IP服务响应的超时时间。如果在命令行和配置文件中未指定,默认为10秒。可以指定为带有单位的持续时间,例如10s,1m等。
  • -T, --ttl <TTL>
    应用于新记录的生存时间,单位为秒。
  • -r, --route53-zone <ROUTE53_ZONE>
    要更新的Route 53区域。如果您需要更新多个Route 53区域,请使用配置文件。
  • -h, --help
    打印帮助信息。
  • -V, --version
    打印版本信息。

配置文件

配置文件可以是TOML、YAML或JSON格式。解析器由扩展名决定(.toml使用TOML;.yaml.yml.json使用与JSON兼容的YAML解析器)。

配置文件的格式如下(YAML)

address-type: ipv4|ipv6|both   # Types of addresses to include
allow-nonroutable: false|true  # Whether non-routable records should be allowed
query-interfaces: false|true   # Whether interfaces should be queried
query-ip-service: false|true   # Whether the IP service should be queried
ignore-interfaces:             # List of interfaces to ignore while querying
  - interface-name
ip-service: https://hostname/  # IP service to query.
timeout: "10 s"                # Timeout for the IP service
ttl: 60                        # TTL in seconds to default to
route53-zones:                 # List of Route 53 zones
  - zone-id: zone1-id          # The Route 53 zone id
    ttl: 60                    # TTL in seconds to default to
    hostnames:                 # List of hostnames to update
      - hostname: host.net     # Hostname to update
        ttl: 10                # TTL in seconds to use for this record
  - zone-id: zone2-id
    hostnames:                 # Simplified way of specifying hostnames without TTL
      - host.net

依赖项

~33–49MB
~893K SLoC