add README

This commit is contained in:
2025-10-03 13:16:42 +02:00
parent 29f4991235
commit ff903413eb

50
README.md Normal file
View File

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