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.