Start
Dynamic.name is a Dynamic DNS (DynDNS) alternative that uses a different approach than has been traditionally done in the past by using the DNS protocol itself as the client mechanism. This approach bypasses most firewall configurations and removes the need for any additional software to update your IP, making it much easier to deploy and embed while adding no overhead to your system.
To use this service you will need to use our simple web-based API to create a username that will represent a subdomain on dynamic.name (ex. username.dynamic.name). An additional objective of this service is for it to be anonymous in its nature, so no (e-mail) verification is done, this means if you forget your password you will never recover your subdomain.
Once you have created your subdomain you can navigate to the usage section to gain a more detailed understanding and configure your systems to update, or continue reading the no frills quick start & automatic setup guides below.
Quick Start
This is for those who just want to get up and running with the most common use case, a UNIX-based environment with an IPv4 IP. The following steps expect you to replace MYSUBDOMAIN, MYPASSWORD, and XXXXXXXXXXXXXXXX (example passcode) with your own values in all steps.
Step #1: Create a new subdomain
$ curl https://MYSUBDOMAIN:MYPASSWORD@api.dynamic.name/create
201 Created: Your initial passcode is: XXXXXXXXXXXXXXXX
Assuming a successful response like above, copy the passcode returned to use in steps #2 and #3.
Step #2: Verify your subdomain updates properly
$ nslookup -nosearch -type=A XXXXXXXXXXXXXXXX.MYSUBDOMAIN.dynamic.name update.dynamic.name
Server: update.dynamic.name
Address: XXX.XXX.XXX.XXX#53
Name: xxxxxxxxxxxxxxxx.mysubdomain.dynamic.name
Address: XXX.XXX.XXX.XXX
Assuming a successful response like above, you should see your public-facing IP returned.
Step #3: Add cronjob to keep your IP updated
$ (crontab -l; echo "*/5 * * * * nslookup -nosearch -type=A XXXXXXXXXXXXXXXX.MYSUBDOMAIN.dynamic.name update.dynamic.name") | crontab -
This is the same command as in step #2, but now will run every 5 minutes to keep your IP current.
Step #4: Use your subdomain anywhere (example)
$ ssh me@MYSUBDOMAIN.dynamic.name
Automatic setup
If you understand and are comfortable with the steps in quick start guide above you can automatically accomplish the same (and more) using one of the following scripts.
UNIX-Based: dynamic-setup.sh (Shell)
$ sh ./dynamic-setup.sh
Windows: dynamic-setup.ps1 (PowerScript)
C:\> powershell -ExecutionPolicy Bypass "C:\path\to\dynamic-setup.ps1"
You may also be able to double-click on the file to execute it, but the default powerscript security policy will not allow it.
Security advisory
By design, this service is at risk of Man-in-the-middle (MITM) attacks. This is due to the fact the passcode is transmitted in clear text over DNS, while it's unlikely to occur it is advised you have data like SSH keys saved in advance to detect such an event. If you are interested in additional steps to help mitigate MITM risks please view the "advanced security" section inside the usage section.