Skip to main content

dnsupdate

A modern and flexible dynamic DNS client

Build status Documentation Status

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

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

Metadata

Release files for dnsupdate 0.4.1

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

Source distribution (sdist)

Source distribution for dnsupdate 0.4.1
File Size Uploaded
dnsupdate-0.4.1.tar.gz 23.0 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for dnsupdate 0.4.1
File Interpreter ABI Platform
dnsupdate-0.4.1-py3-none-any.whl Python 3 none any Details

Total release size: 45.5 kB

Release files / dnsupdate-0.4.1.tar.gz

Download URL dnsupdate-0.4.1.tar.gz
Size 23.0 kB
Tags Source
SHA-256 checksum
How to use checksums
b27287ce6123b0d33a45ffb3be72907046ec5f2ba10d0874ed7a56909700b2bc
BLAKE2b-256 checksum
How to use checksums
a518ded89aa384f529322cae42911cb963b7d1bd77c3feb53dce243098c4e8ff
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.12.10

Release files / dnsupdate-0.4.1-py3-none-any.whl

Download URL dnsupdate-0.4.1-py3-none-any.whl
Size 22.5 kB
Tags Python 3
SHA-256 checksum
How to use checksums
d18e7229489049950d68fb3bf1977b8c5f81544c9d426a4cc3962b1dd128c165
BLAKE2b-256 checksum
How to use checksums
467641ef609d8c87fd3a20b7f5defc5658a552bf7d63ec4a121af028e9d965c6
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.12.10

Release history Release notifications | RSS feed

This release

0.4.1 This release

2 release files

0.4

2 release files

0.3

2 release files

0.2

1 release file

0.1

2 release files

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