- cargo
- dnsutils
./install.sh
or RUST_DDNS_INTERVAL=30min ./install.sh
(default interval is 5min
)
sudo systemctl enable rust-ddns.timer
sudo systemctl start rust-ddns.timer
Set log level to debug:
export DDNS_LOG_LEVEL=debug
Default config file (not created automatically): $HOME/.ddns.conf
Custom config path with option -c
/--config-file
e.g.
DDNS_LOG_LEVEL=debug rust-ddns --config-file ./my.conf
Config file is in yaml
format, and must include the following properties:
server: my.dns.provider.com
domain: ddns.domain.com
methods:
- DELETE
- POST
- PUT
records: # optional, defaults to A
- A
- AAAA
username: api-key/username
password: api-secret/password
--- # multiple configs split by line break
server: my.other.dns.provider
domain: my.other.domain.com
...
The above example config would make 6 calls to the same server, one for each method for each record type. You can provide between 1 and 3 methods, either PUT, POST, or DELETE.