Skip to content
Switch branches/tags

Latest commit


Git stats


Failed to load latest commit information.
Latest commit message
Commit time


Dynamic DNS with AutoDNS

Build Status License

Some measurement values

Quality Gate Status Security Rating Coverage Lines of Code

Give it a try! GitHub release (latest by date including pre-releases)

DDAuto is a simple REST-service for dynamic DNS. It uses the Java Domainrobot Sdk to update the IPv4 and IPv6 addresses of a host and can be used with many routers, for example the AVM Fritz!Box. DDAuto can be executed by commandline, init.d or systemd.

Requirement: An AutoDNS account! For further details have a look at AutoDNS: Efficient Domain-Management for Resellers

If you find a bug or you certain features, don't hesitate to file a ticket.


I'm not responsible for any data loss, hardware damage or broken keyboards. This guide comes without any warranty!

Big picture

DDAuto is running as a service. A client can access the service via url and basic-auth. Let's assume DDAuto is running on localhost, then we can update the IPv4 and IPv6 address of the host by calling the following curl command:

curl -u dyndns:test123 -i \ 

For each host an api-token must be defined. If the api-token doesn't match the host, the update will be rejected. Because of this security feature, DDAuto can be used by different people. They can't update the IPs each other.

Configuration and start

DDAuto is a spring boot application, that's why the application is extremely customizable just by configuration! Details of the configuration can be found here: and

Side note: To avoid the use of the java keystore tool, DDAuto could be run behind a proxy. Corresponding headers are set by default.

Here is the suggested directory/file structure:

├── /opt/ddauto
│   ├── application.yml
│   ├── ddauto-0.1.0.jar
│   ├── ddauto.jar -> ddauto-0.1.0.jar
│   ├── zone.log   (log of the zone updates)
│   ├── log4j2.xml

application.yml defines the properties. An example can be found here
Important: The basic-auth, the api-tokens and the credentials for AutoDNS should be defined in this file!

The start by command line looks like:

java -jar /opt/ddauto/ddauto.jar \

DDAuto can also be started easily as a service. For further information, see

Configuration of zones and hosts


      name:   # the zone
      ns:   # the primary nameserver of the zone
        - myhost:1234567890abcdef

The last line defines the host with the api-token 1234567890abcdef.

A simple greeting page is enabled by default. It can be disabled by setting the property greeting.enabled=false.

Basic routes

All routes are secured by basic-auth. A detailed description of the routes can be found here:

Suggested AutoDNS setup


Setup a router for dynamic DNS

As an example, let's have a look at the setup of dynamic DNS in the Fritz!Box 7590. The following settngs are required:

  • DynDNS Provider: User-defined
  • Domain name: The hostname for which the IPs should be updated.
  • Username / Password: The credentials for basic-auth.
  • Update-URL: {baseUrl}/update/<domain>/?apitoken=[yourApitoken]&ipv4=<ipaddr>&ipv6=<ip6addr>
    If both IP parameters are omitted, an attempt is made to fetch the remote IP.