Skip to main content

Update DNS settings using the Schlundtech XML-Gateway.

Project description

This packages provides a way to update DNS records programmatically, for customers of Schlundtech, using their XML-Gateway.

Many thanks to https://github.com/martinlowinski/php-dyndns for doing the heavy lifting of figuring out how to talk to the XML-Gateway in a way that actually makes it do what we want.

Usage

First, you need to create a subdomain with an A-record in your domain, say home.example.com.

Then you can use the command-line utility provided by this package, like so:

$ schlund-ddns --username USER --password PASS home.example.com 1.2.3.4

(See ddns-update --help for more configuration parameters, e.g. the context that you were told to use when applying for the XML-Gateway.)

Alternatively, set up the provided cgi script schlund-ddns-cgi to provide HTTP access. You’ll need to provide username and password using a configuration file and then passing that file’s path as an environment variable. Here’s an example apache configuration snippet to do this:

ScriptAlias /dns-update /path/to/ddns/schlund-ddns-cgi
<Location /dns-update>
  SetEnv DDNS_CONFIG /path/to/ddns/config

  AuthName "Dynamic DNS"
  AuthType Basic
  AuthUserFile /path/to/ddns/htpasswd
  require valid-user
</Location>

The configuration file is a standard ini file and should look like this:

[default]
username = USER
password = PASS

You can optionally add an allowed_hostnames = one.example.com two.example.com whitespace-separated list to the config file, only those will then be accepted.

The HTTP protocol is modeled after the one from NoIP, that is, clients should perform a request like this to trigger a DNS update:

http://example.com/dns-update?hostname=home.example.com&myip=1.2.3.4

CHANGES

1.1.1 (2018-03-05)

  • Handle PATH_INFO internally

1.1.0 (2018-03-03)

  • Add optional allowed_hostnames config option

1.0.4 (2018-03-03)

  • Make web part Python-3 compatible

1.0.3 (2018-03-03)

  • Make current-setuptools compatible

1.0.2 (2018-03-03)

  • Make Python-3 compatible

1.0.1 (2018-01-14)

  • Move from bitbucket to github

1.0.0 (2014-04-06)

  • First release.

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

ws.ddns-1.1.1.tar.gz (4.9 kB view details)

Uploaded Source

File details

Details for the file ws.ddns-1.1.1.tar.gz.

File metadata

  • Download URL: ws.ddns-1.1.1.tar.gz
  • Upload date:
  • Size: 4.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for ws.ddns-1.1.1.tar.gz
Algorithm Hash digest
SHA256 3fa75bfb675c0f78e78c5ccb7f248ef43afb1b76c2c4f0aad697f1587a13c250
MD5 4eb0cb9787d88fe9eb85d57605cc8d86
BLAKE2b-256 7db47a3be83a47546d34433825e4ca86bc7c435d35d5ec77e5dac1b74b1d6b28

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