Docs › Dynamic DNS
Dynamic DNS on curl and cron
The whole protocol is one authenticated GET, so anything that can make an HTTPS request can update a record.
Where the setting lives
Any machine with curl
Configuration
crontab
*/5 * * * * curl -fsS -u 'alice:<your update password>' \
'https://api.home.network/nic/update?hostname=nas.alice.home.network&myip=auto' >/dev/nullReplace alice with your label and <your update password> with the password from the setup wizard. The username is your label, never your email address.
Worth knowing. myip=auto uses the source address of the
request. Pass an explicit address instead when updating on behalf of
another machine.
Check it worked
verify
# confirm the record moved
dig +short nas.alice.home.network @ns1.home.network
# the update endpoint answers with the dyndns2 status word
curl -u 'alice:<your update password>' \
'https://api.home.network/nic/update?hostname=nas.alice.home.network&myip=auto'
good 203.0.113.7good means the record changed, nochg means it was already correct. Both are success. badauth means the username or password is wrong, and 911 means the fault is at our end, so retry rather than reconfigure.
Still not resolving at home?
If the name answers from ns1.home.network but not from your own resolver, the resolver is stripping the private address as rebind protection. Fix it for your resolver.