dyn.addr.tools - simple dynamic DNS for your own domains, no account required
$ curl -d "192.0.2.1" "https://dyn.addr.tools/1SuperSecretPassphrase" 192.0.2.1 9afcdffa…086ca968.dyn.addr.tools
$ dig 9afcdffa…086ca968.dyn.addr.tools +short 192.0.2.1
dyn.addr.tools is a dynamic DNS service with a simple HTTP interface meant to point subdomains (via CNAME) to non-static IP addresses.
Let ‹ipaddr› be an IPv4 or IPv6 address, ‹secret› be a random alphanumeric string (or Base64) of at least 14 characters in length, and ‹sha224› be the SHA-224 hash of ‹secret›.
A POST or PUT to "https://
A GET to "https://
A DELETE to "https://
"‹sha224›.dyn.addr.tools" is meant to be the target of a CNAME at your own subdomain.
‹ipaddr› may be the word "self" to use the requester's external IPv4 or IPv6 address. Use host "ipv4.dyn.addr.tools"
or "ipv6.dyn.addr.tools" to force IPv4 or IPv6.
At least one update must be made every 90 days to remain active. IPv4 and IPv6 updates are handled independently.
Say you want to keep "home.example.com" updated with your external IPv4 address.
First, pick a random alphanumeric string. This string acts like a password and must be at least 14 characters long.
We'll use "1SuperSecretPassphrase".
Add a CNAME record to point "home.example.com" to the subdomain of "dyn.addr.tools" named by calculating the SHA-224
of "1SuperSecretPassphrase". This should look similar to:
Update the target of the CNAME to resolve to your external IPv4 address:
$ curl "https://ipv4.dyn.addr.tools/1SuperSecretPassphrase?ip=self"
Use a program, cron job, etc., to make a similar update request when the IP changes and at least once every 90 days.
For example, you can use pfSense to keep your IP updated by adding a new Dynamic DNS Client (under Services) with
these settings:
EXAMPLE
Name: home.example.com
Type: CNAME
Target: 9afcdffa0d7a6d6f0140cadea70a9f62d58a96dd5d50f268086ca968.dyn.addr.tools
Service Type: Custom
Update URL: https:// Max Cache Age: 60
SEE ALSO