2025-12-14 23:03:10 +01:00
2025-12-13 02:01:33 +01:00
2025-12-13 02:01:33 +01:00
2025-07-12 20:40:57 +02:00
2025-12-13 02:01:33 +01:00
2025-10-03 13:13:02 +02:00
2025-10-03 13:13:02 +02:00
2025-07-12 20:40:57 +02:00
2025-10-03 13:16:42 +02:00
2025-12-13 02:01:33 +01:00

DDNS

This application enables automatically updating DNS records for various providers.

Features

  • Automatically detect the current IP.
    • Both IPv4 and IPv6 are supported.
    • IP resolution depends on the selected service.
      • ipify (default)
  • Update DNS records in the selected provider.
    • Porkbun
  • Native (Linux)

Build

Execute ./gradlew assemble.
The resulting binary will be located in ./build/bin/releaseExecutable/.

Removing the extension from the binary and adding it to /usr/local/bin/ enables the use of ddns in the terminal.

Usage

The following command updates all A and AAAA DNS records in Porkbun for example.com and test.example.com.

ddns porkbun \ 
    --key=... \
    --secret-key=... \
    --domain=example.com \
    --subdomain= \
    --subdomain=test

Optionally, a file can be used to declare one or more configurations.
The above example can be declared as follows.

porkbun
key=...
secret-key=...
domain=example.com
subdomain=
subdomain=test

To use this config file, execute the command ddns --config=.... By default, the config file is /etc/ddns.conf.

This process can be automated using systemd or cron.

Description
No description provided
Readme GPL-3.0 190 KiB
Languages
Rust 100%