Simple self hosted ddns service for SchlundTech users, making use of the XML-Gateway.
I've created this to suite my needs, so it's far from being "feature complete" and some assumtions might break usage for others.
Feedback and contributions are always welcome!
- Provides an unsecured http endpoint wating for update request.
- On request:
- Zone Info (0205) is requested for the given domain.
- The given domain is split at the first "." into two parts for this.
- First part is interpreted as ressource record name (aka "subdomain").
- Second part is interpreted as "zone".
- Zone Update (Bulk) 0202001 is sent that
- deletes the existing ressource record
- creates a new one with the given IP
- Zone Info (0205) is requested for the given domain.
Currently there is no advances checks or logic etc. So it's initially required to setup the subdomain in the SchlundTech panel first.
docker build -t ddns-schlundtech .
This will create an alpine based container with the binary.
See docker-compose.yml for how to run the container.
Prepare a save location for the configuration file with the following content:
user = ""
password = ""
context = ""
This file needs to be bind mounted into the container, providing the necessary runtime configuration.
I've just tested with OpenWRT. The following settings are working for me:
Section | |
---|---|
Basic Settings | |
DDNS Service Provider | -- custom -- |
Lookup Hostname | {DOMAIN} |
IP address version | IPv4-Address |
Custom update-URL | {DOCKER_HOST}:8080?ip=[IP]&domain=[DOMAIN] |
Custom update-script | empty |
Domain | {DOMAIN} |
Username | none |
Password | none |
Optional Encoded Parameter | empty |
Optional Parameter | empty |
Use HTTP Secure | unchecked |
Advances Settings | |
IP address source | Interface |
Interface | pppoe-WAN |
Replace placeholders: {DOMAIN}, {DOCKER_HOST}