Skip to main content

octoDNS DDNS

Project description

octoDNS DDNS

A simple Dynamic DNS source for octoDNS.

Supports both IPv4 and IPv6 addresses. Generally useful when you have a zone with staticly configured records but would also like to include a dynamic record, e.g. for your office or home on a non-fixed IP address.

By default it uses http://api.ident.me/ to find the public address of the machine running the sync.

Installation

Command line

pip install octodns-ddns

requirements.txt/setup.py

Pinning specific versions or SHAs is recommended to avoid unplanned upgrades.

Versions
# Start with the latest versions and don't just copy what's here
octodns==0.9.14
octodns-ddns==0.0.1
SHAs
# Start with the latest/specific versions and don't just copy what's here
-e git+https://git@github.com/octodns/octodns.git@9da19749e28f68407a1c246dfdf65663cdc1c422#egg=octodns
-e git+https://git@github.com/octodns/octodns-ddns.git@ec9661f8b335241ae4746eea467a8509205e6a30#egg={MODULE}

Example config

The following config will combine the records in ./config/example.com.yaml and the dynamically looked up address at dynamic.example.com. creating both IPv4 and IPv6 addresses.

providers:

  config:
    class: octodns.provider.yaml.YamlProvider
    directory: ./config

  dynamic:
    class: octodns_ddns.DdnsSource

  route53:
    class: octodns.provider.route53.Route53Provider
    access_key_id: env/AWS_ACCESS_KEY_ID
    secret_access_key: env/AWS_SECRET_ACCESS_KEY

zones:

  example.com.:
    sources:
      - config
      - dynamic  # will add dynamic.example.com.
    targets:
      - route53

You can configure it to only do A or AAAA by adding a types param to the provider config.

  dynamic:
    class: octodns_ddns.DdnsSource
    types:
      - A

Configuring lookup urls

If you would like to use an alternate provider for looking up your address you can configure urls with a and/or aaaa with urls that return the address as the content of the response.

dynamic:
  class: octodns_ddns.DdnsSource
  urls:
    # Defaults:
    A: https://api.idify.org/
    AAAA: https://api6.idify.org/

Alternatives

The following have been tested and confirmed to work as of the time they were added to this document.

Service IPv4 URL IPv6 URL
ipify.org https://api.ipify.org https://api6.ipify.org
icanhazip.com https://ipv4.icanhazip.com https://ipv6.icanhazip.com
ipinfo.io https://v4.api.ipinfo.io/ip https://v6.api.ipinfo.io/ip
ident.me https://v4.ident.me/ https://v6.ident.me/

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

octodns_ddns-0.3.0.tar.gz (5.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

octodns_ddns-0.3.0-py3-none-any.whl (4.6 kB view details)

Uploaded Python 3

File details

Details for the file octodns_ddns-0.3.0.tar.gz.

File metadata

  • Download URL: octodns_ddns-0.3.0.tar.gz
  • Upload date:
  • Size: 5.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.11

File hashes

Hashes for octodns_ddns-0.3.0.tar.gz
Algorithm Hash digest
SHA256 64c9960d8f10ca5eae04f4f45a0e53340fcfee4ef2e5f4bbc0308adeebd06343
MD5 30cf7815ad6a7c1a67113cb435bb306b
BLAKE2b-256 7a81549e8fac9cdeefcdb65c8c4ab0a3e0c716cee3a9ab7bb7e9356568b11d3e

See more details on using hashes here.

File details

Details for the file octodns_ddns-0.3.0-py3-none-any.whl.

File metadata

  • Download URL: octodns_ddns-0.3.0-py3-none-any.whl
  • Upload date:
  • Size: 4.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.11

File hashes

Hashes for octodns_ddns-0.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 6f672a14450fba73c88884fbe612003134fe05b14a7315f0cb356cc6101a2298
MD5 4920e7a06a24005ab5225c887cd6f7f8
BLAKE2b-256 43d5c77758f13d604e3474810f275967d4be2d74648c1ab95fc2896766bf580d

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page