Skip to content

Plaenkler/DDNS-Updater

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

🌐 DDNS Updater

License Release Linters Go Report CQL Support me

DDNS Updater provides a straightforward way to update dynamic DNS records without messing with the command-line or a file. The user-friendly interface allows for straightforward secure setup and management.

DDNS Updater Dashboard DDNS Updater add Job

🎯 Noteworthy features

  • Simple & User friendly UI
  • Secure authentication with TOTP
  • Encryption of sensitive data
  • Scheduled update service
  • Supports multiple IP resolvers
  • Deploy as Windows Service
  • Available as Docker Container
  • Custom update URL with check

🏷️ Supported providers

Strato DDNSS Dynu Aliyun NoIP DD24 INWX Infomaniak Hetzner

Note: If your DynDNS provider is not listed open an issue and I will integrate it.

Custom provider

Select the provider Custom from the provider list. Then enter the user-defined URL in the URL field. Use the placeholder <ipv4> at the point where the IPv4 address is to be inserted. In the β€œCheck” field, enter a string that will be used for checking to ensure that the update server's response is successful.

πŸ“œ Installation guide

πŸ‹ Deploy with Docker

It is recommended to use Compose as it is very convenient. The following examples show simple deployment options:

Bridge network

--- services: ddns: image: plaenkler/ddns-updater:latest container_name: ddns restart: always networks: - web ports: - 80:80 volumes: - ./ddns:/app/data environment: - DDNS_INTERVAL=600 - DDNS_TOTP=false - DDNS_PORT=80 networks: web: external: false

Macvlan network

--- services: ddns: image: plaenkler/ddns-updater:latest container_name: ddns restart: always networks: web: ipv4_address: 10.10.10.2 volumes: - ./ddns:/app/data environment: - DDNS_INTERVAL=600 - DDNS_TOTP=false - DDNS_PORT=80 networks: web: name: web driver: macvlan driver_opts: parent: eth0 ipam: config: - subnet: "10.10.10.0/24" ip_range: "10.10.10.0/24" gateway: "10.10.10.1"

Note: DDNS Updater can also be deployed behind a proxy like Traefik or NGINX.

πŸ“„ Build from source

DDNS Updater requires the following software to be installed on your system:

Windows Service

After cloning the repository, navigate to the root of the source tree and run the following command to build the executable file:

go build -o ddns-updater.exe cmd/svc/main.go 

The program can then be stored in any file path and set up as a service using the CMD:

sc create DDNS-Updater binPath=[INSTALL_DIR]\ddns-updater.exe type=share start=auto DisplayName=DDNS-Updater 

Standalone application

To build the standalone application, run the following command:

go build -o ddns-updater cmd/def/main.go 

βš™οΈ Configuration

Depending on personal preferences, there are several ways to configure DDNS Updater. Users can select from three different methods:

1. User Interface (Frontend)

The easiest way to configure DDNS Updater is to use the integrated web interface. This can be accessed via the browser at http://host-ip. Changes to the interval take effect immediately. The program must be restarted for the other settings to take effect.

2. Configuration File

A config.yaml file is provided to store all settings. In the absence of this file, the program generates one. Users have the option to directly modify settings within this file. It is important to note that changes made here will only take effect upon restarting the program. Default settings within the file are as follows:

# How often the IP address is checked in seconds Interval: 600 # Enable TOTP authentication TOTP: false # Port for the web interface Port: 80 # Custom IP resolver returns IPv4 address in plain text Resolver: ""

3. Environment Variables

An alternative to the configuration file are environment variables. During the program start these are read they are superordinate to the configuration file.

DDNS_INTERVAL=600 DDNS_TOTP=false DDNS_PORT=80 DDNS_RESOLVER=ipv4.example.com 

About

DDNS client with user-friendly frontend

Topics

Resources

License

Code of conduct

Contributing

Security policy

Stars

Watchers

Forks

Sponsor this project

 

Packages

 
 
 

Contributors 6