Skip to main content

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/

Metadata

Release files for octodns-ddns 0.4.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for octodns-ddns 0.4.0
File Size Uploaded
octodns_ddns-0.4.0.tar.gz 5.8 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for octodns-ddns 0.4.0
File Interpreter ABI Platform
octodns_ddns-0.4.0-py3-none-any.whl Python 3 none any Details

Total release size: 10.5 kB

Release files / octodns_ddns-0.4.0.tar.gz

Download URL octodns_ddns-0.4.0.tar.gz
Size 5.8 kB
Tags Source
SHA-256 checksum
How to use checksums
a529091493da0b8ea0d8a99947540f874979739efd071c8fcdb01f0a0239d93b
BLAKE2b-256 checksum
How to use checksums
e3a8966e502c46caf51023da2ad7c07a27bf1db91ec4127091ffe6356f1f2096
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.13.13

Release files / octodns_ddns-0.4.0-py3-none-any.whl

Download URL octodns_ddns-0.4.0-py3-none-any.whl
Size 4.7 kB
Tags Python 3
SHA-256 checksum
How to use checksums
c5e2d974ac073dd396af0ceb2cb3eb301ecc7ba046ddcc9e8557dcddb8e5fae2
BLAKE2b-256 checksum
How to use checksums
2bad21bde25c17d51e9caeb6788f8f57b20a94f5b44dc92e40ad1cf7165b0f81
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.13.13

Release history Release notifications | RSS feed

This release

0.4.0 This release

2 release files

0.3.0

2 release files

0.2.1

2 release files

0.2.0

2 release files

0.1

1 release file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page