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.1.tar.gz (23.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

dnsupdate-0.4.1-py3-none-any.whl (22.5 kB view details)

Uploaded Python 3

File details

Details for the file dnsupdate-0.4.1.tar.gz.

File metadata

  • Download URL: dnsupdate-0.4.1.tar.gz
  • Upload date:
  • Size: 23.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.10

File hashes

Hashes for dnsupdate-0.4.1.tar.gz
Algorithm Hash digest
SHA256 b27287ce6123b0d33a45ffb3be72907046ec5f2ba10d0874ed7a56909700b2bc
MD5 604275a89ffcd15b41e4a1b4825021d1
BLAKE2b-256 a518ded89aa384f529322cae42911cb963b7d1bd77c3feb53dce243098c4e8ff

See more details on using hashes here.

File details

Details for the file dnsupdate-0.4.1-py3-none-any.whl.

File metadata

  • Download URL: dnsupdate-0.4.1-py3-none-any.whl
  • Upload date:
  • Size: 22.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.10

File hashes

Hashes for dnsupdate-0.4.1-py3-none-any.whl
Algorithm Hash digest
SHA256 d18e7229489049950d68fb3bf1977b8c5f81544c9d426a4cc3962b1dd128c165
MD5 0dc5fe492ce21e26edc465c060237b02
BLAKE2b-256 467641ef609d8c87fd3a20b7f5defc5658a552bf7d63ec4a121af028e9d965c6

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