From ff903413eb39abc7b61e28210496782ff1d4bab3 Mon Sep 17 00:00:00 2001 From: Infendro Date: Fri, 3 Oct 2025 13:16:42 +0200 Subject: [PATCH] add README --- README.md | 50 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 50 insertions(+) create mode 100644 README.md diff --git a/README.md b/README.md new file mode 100644 index 0000000..685fa72 --- /dev/null +++ b/README.md @@ -0,0 +1,50 @@ +# 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.