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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
64c9960d8f10ca5eae04f4f45a0e53340fcfee4ef2e5f4bbc0308adeebd06343
|
|
| MD5 |
30cf7815ad6a7c1a67113cb435bb306b
|
|
| BLAKE2b-256 |
7a81549e8fac9cdeefcdb65c8c4ab0a3e0c716cee3a9ab7bb7e9356568b11d3e
|
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
6f672a14450fba73c88884fbe612003134fe05b14a7315f0cb356cc6101a2298
|
|
| MD5 |
4920e7a06a24005ab5225c887cd6f7f8
|
|
| BLAKE2b-256 |
43d5c77758f13d604e3474810f275967d4be2d74648c1ab95fc2896766bf580d
|