ddns-client is a Go client to update public DNS with your current IP (a.k.a DynDNS).
The binaries are built for Linux (amd and arm), Windows (i386) and MacOs (darwin i386). The client should work on any operating system when built from source
- Download the relevant version from the release page
- Set the relevant Environment variables to your provider.
docker pull viajusta/ddns-client
docker run --rm -e <provider env var>=<val> viajusta/ddns-client -p <provider> -d <comma separated list of FQDN> -i <interval>
git clone git@github.com:via-justa/ddns-client.git
cd ddns-client
go build
- -d, --dns comma separated list of FQDN of records to set
- -p, --provider provider hosting the DNS zone
- -i, --interval interval to check records status in time format (e.g. 30m, 1h)
- -l, --log set log file path to use. default: none (print to console)
- -h, --help print available options
- -v, --version print away client version
Provider | Environment variables | comments |
---|---|---|
hetzner | HETZNER_API_KEY |
|
namecheap | NAMECHEAP_<DOMAIN>_PASSWORD |
<DOMAIN> is your domain when all - and . are replaced with underscore (e.g. for my-domain.com set NAMECHEAP_MY_DOMAIN_PASSWORD ) |
I'm more than happy to reply to any issue of feature request via the github issue tracker. When opening an issue, please provide the version you're using and any useful information that can be used to investigate the issue.
If you like to suggest improvements please provide relevant use case it solves.
Requests to add providers should include link to the provider API documentation and information if the provider can set a send box environment.
Pull requests are welcomed, just try to keep the structure as close to the existing ones.
This work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License.