Skip to main content

A modern and flexible dynamic DNS client

Project description

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

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

dnsupdate-0.4.tar.gz (10.8 kB view details)

Uploaded Source

Built Distribution

dnsupdate-0.4-py3-none-any.whl (22.3 kB view details)

Uploaded Python 3

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

Hashes for dnsupdate-0.4.tar.gz
Algorithm Hash digest
SHA256 153025fc7c3566ac273b0b4c0b46ac7a490a1750682ef0c2e378e2596711307d
MD5 5a7487053c8ac5efb521db29d4fee434
BLAKE2b-256 4db3e591a30291563837a7cf73e37503bd7dd4e127d36a87cd18d456ed3c7e6a

See more details on using hashes here.

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

Hashes for dnsupdate-0.4-py3-none-any.whl
Algorithm Hash digest
SHA256 109ad07d322f27a56148dbd201ce038d084fab0862c32d3fd8434a08752aef6e
MD5 f0b655238bf8c5125e48d2c9100797e1
BLAKE2b-256 c4e249dcba0aa196bba204ee308b31ad02e1b9e1f8d3ae8b55cf2682cbd7c6d4

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page