# 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.