aboutsummaryrefslogtreecommitdiffstats

DDNS.py

DDNS.py is a web frontend for dynamic dns, with the goal of mirroring existing APIs so any dyndns client can be used. Currently it only has support for a very limited subset of the dyn.com API.

This is currently considered experimental and it still needs a lot of love before it's ready for primetime.

Dependencies

This software depends on the following python modules:

PyYAML, Flask, DNSpython, and IPy.

Debian/Ubuntu

All the needed dependencies are provided by the following Debian packages: * python-dnspython * python-flask * python-yaml * python-ipy

Configuration

The configuration is done in the yaml format, and has three main sections. These are users, dnskeys, and zones.

users

This section contains a list of usernames and their passwords. It's possible to store the passwords hashed, but not salted, by specifying the hashing method used.

dnskeys

The dnskeys section kontain a list of TSIG keys, their names and which algorithm they use.

zones

This section is where all domains are specified as subsections for the zone they belong too.

Example config

users:
  - username: user1
    password: pass1
    hash: None
  - username: user2
    password: pass2
    hash: None

dnskeys:
  - name: test-key
    key: the_key_itself
    algorithm: HMAC-MD5

zones:
  - name: example.com.
    ns: ns.example.com
    key: test-key
    domains:
      - domain: test1 # test1.example.com
        users:
          - user1
      - domain: test2 # test2.example.com
        users:
          - user1
          - user2