A multi DDNS updater webservice. It can currently dynamically update DNS records for the Bytecamp / IONOS DDNS service and Netcup's DNS API. Unlike usual DDNS clients this one is intented to be triggered by an AVM Fritz!Box providing the current public IP addresses.
- HTTP interface to trigger updates
- Support for IPv4 and/or IPv6
- Available Providers:
- Netcup (DNS API)
- Bytecamp (DDNS)
- IONOS Dyn DNS (DDNS)
To use the tool, install it globally by running
npm run build && npm pack && npm install --global mddns-0.2.0.tgz.
Once this is done, start the service: mddns [<port>].
If you prefer to not install the tool npm run start [<port>].
If not port was specified, the system will assign an available port to the service.
To build mddns into a docker container run
docker build . -t mddns:latest
To start the app in docker run
docker run -ti -p 8080:8080 mddns
To trigger the updater just make a GET request to the /update endpoint.
The request parameters are used to configure the Netcup updater.
- The
domainis required. - The
hostnameis optional and defaults to@(=the domain) - The
ip4addris optional and holds the new IP4 address the domain should point to - The
ip6addris optional and holds the new IP6 address the domain should point to Either one or both IP address types can be updated at the same time.
curl http://localhost:8080/update?domain=<domain>[&hostname=www][&ip4addr=<public-ip4address>][&ip6addr=<public-ip6address>]
ToDo
ToDo:
- move the domain config from request into env
TypeScript + Yarn3
yarn add --dev @yarnpkg/sdks