Dynamic DNS from your own command line!
Dynamic DNS (DDNS) interface
We provide a DDNS interface so you can use your domain with routers and other dynamic hosts. This type of protocol is pretty ancient and comes with a few restrictions in general and on our end, including overwriting CAA records so do not use the API if you have any CAA records in place.
Because this API requires you to use login credentials (via BasicAuth) we highly recommend you to use a separate account for any of your dynamic DNS needs and CNAME from your main production domain to this setup.
Here is how it works:
To add A or AAAA records send a request to:
curl -u "[USERNAME]:[PASSWORD]" "https://iwantmyname.com/basicauth/ddns?hostname=[HOSTNAME]&myip=[IP]"
username/password parameters are your normal iwantmyname login credentials,
hostname is the full host you want to update like
myip parameter is the optional IP address you want to update the A record
with. If this parameter is not set we update it to the IP the request is coming from. You can
also include an optional TTL value for the record:
'&ttl=[VALUE]' if not
specified the default value is 3600 (1 hour)
*Note: Older routers may only support GET requests, however the cleaner way of doing it is using POST or PUT requests
You can also add other record types such as TXT, MX, CNAME, NAPTR & SRV.
curl -u "[USERNAME]:[PASSWORD]" "https://iwantmyname.com/basicauth/ddns?hostname=[HOSTNAME]&type=[RECORD_TYPE]&value=[RECORD_VALUE]"
Example adding a TXT record:
curl -u "email@example.com:P@$$W0>d" "https://iwantmyname.com/basicauth/ddns?hostname=verify.mydomain.com&type=txt&value=Xh90WmC95K1GAlAcEF0psz3c2GOandqdqMInclDxd"
*Note: With TXT records, new records will not overwrite existing ones.
Some more info about the service is on our blog.