A modern and flexible dynamic DNS client
Project description
dnsupdate is a dynamic DNS client that has first-class support for IPv6 and aims to be easily configurable to meet the needs of any situation. Unlike most other dynamic DNS clients, dnsupdate has been designed from the start to support IPv6 and many different update services. It is written in Python and configured using YAML, making it easy to use and extend.
Features
Built-in support for FreeDNS, nsupdate.info, as well as any service that uses the standard DynDNS protocol
IPv6 support
Simple YAML configuration file
Obtain addresses from a web service, router or local interface
Only submits an update if the address has changed
Respects API return values to avoid abuse bans
Installation
pip install dnsupdate
Alternatively, you can simply download and run dnsupdate.py.
It is also available on the Arch Linux AUR.
Dependencies
Python ≥3.5
Beautiful Soup (optional, for scraping router pages)
netifaces (optional, for getting local addresses)
Configuration
dnsupdate is configured using a single YAML file. The path to the file can be specified on the command line. If not, dnsupdate will try to use ~/.config/dnsupdate.conf and /etc/dnsupdate.conf, in that order.
Most users will likely be satisfied with a simple configuration like this:
dns_services: - type: NSUpdate args: hostname: example.nsupdate.info secret_key: 26Yg7wUhxo
More examples are available in the examples/ directory.
Full documentation is available here: https://dnsupdate.readthedocs.io/
Usage
usage: dnsupdate [-h] [-f] [-V] [config] Dynamic DNS update client positional arguments: config the config file to use optional arguments: -h, --help show this help message and exit -f, --force-update force an update to occur even if the address has not changed or a service has been disabled -V, --version show program's version number and exit
Documentation
Documentation is available online, but it can also be built locally by running:
python3 setup.py build_docs
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
Built Distribution
File details
Details for the file dnsupdate-0.4.tar.gz
.
File metadata
- Download URL: dnsupdate-0.4.tar.gz
- Upload date:
- Size: 10.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/47.3.1.post20201103 requests-toolbelt/0.9.1 tqdm/4.48.2 CPython/3.8.6
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 153025fc7c3566ac273b0b4c0b46ac7a490a1750682ef0c2e378e2596711307d |
|
MD5 | 5a7487053c8ac5efb521db29d4fee434 |
|
BLAKE2b-256 | 4db3e591a30291563837a7cf73e37503bd7dd4e127d36a87cd18d456ed3c7e6a |
File details
Details for the file dnsupdate-0.4-py3-none-any.whl
.
File metadata
- Download URL: dnsupdate-0.4-py3-none-any.whl
- Upload date:
- Size: 22.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/47.3.1.post20201103 requests-toolbelt/0.9.1 tqdm/4.48.2 CPython/3.8.6
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 109ad07d322f27a56148dbd201ce038d084fab0862c32d3fd8434a08752aef6e |
|
MD5 | f0b655238bf8c5125e48d2c9100797e1 |
|
BLAKE2b-256 | c4e249dcba0aa196bba204ee308b31ad02e1b9e1f8d3ae8b55cf2682cbd7c6d4 |