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.4.0.tar.gz (5.8 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.4.0-py3-none-any.whl (4.7 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for octodns_ddns-0.4.0.tar.gz
Algorithm Hash digest
SHA256 a529091493da0b8ea0d8a99947540f874979739efd071c8fcdb01f0a0239d93b
MD5 4be5f7eeaafd276a6a9d8c05017acfa5
BLAKE2b-256 e3a8966e502c46caf51023da2ad7c07a27bf1db91ec4127091ffe6356f1f2096

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for octodns_ddns-0.4.0-py3-none-any.whl
Algorithm Hash digest
SHA256 c5e2d974ac073dd396af0ceb2cb3eb301ecc7ba046ddcc9e8557dcddb8e5fae2
MD5 644c9553de639984df54322d5cf30ca1
BLAKE2b-256 2bad21bde25c17d51e9caeb6788f8f57b20a94f5b44dc92e40ad1cf7165b0f81

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