« How to force reset a DC computer account (Windows 2003) | Exchange 2007 Installation notes »

Update EasyDNS with tinyget.exe

I've used or tried several dynamic IP clients in the past with various results. One windows shareware utility worked fine, but randomly decided to use 100% of the CPU until manually reset. Probably the best so far was Ez-ipupdate for *Nix systems, it's a freeware/open source utility and really only lacks good reporting features.

So now it's time to batch a utility using (trumpets pleeze) tinyget.exe from the IIS 6 resource kit. I've been an EASY DNS customer for about 7 years now, and they've kindly posted a (1 page) howto on their "API" here.

Tinyget.exe is available from the IIS 6.0 Resource Kit.

Here's the sample code to post an update:

tinyget.exe -a:1 -u:username -p:password members.easydns.com /dyn/dyndns.php?hostname=server.mydomain.com^&myip=12.34.56.78

I was thinking I needed to script another call to determine my local external IP address, but it turns out that if we use "myip=1.1.1.1" EasyDNS will determine our IP from the request headers. Kewl ! Also, "myip=0.0.0.0" will set your host to "offline".

How to do it over SSL:

So now it's time to encrypt the whole conversation, no point in sending your password over clear text.

tinyget.exe -s:3 -a:1 -u:username -p:password members.easydns.com /dyn/dyndns.php?hostname=server.mydomain.com^&myip=1.1.1.1

(-s:3 specifies security as SSL3.)

OK, that was easy. Now let's convert it to a batch script... oh wait, it's already done. Just copy and paste into notepad.

Troubleshooting tinyget.exe:

If you really want to make sure the connection is going over SSL, or you want to see what tinyget.exe is doing, just add -t "trace" to the command line and you'll see the debug level headers.


Post a comment

(If you haven't left a comment here before, you may need to be approved by the site owner before your comment will appear. Until then, it won't appear on the entry. Thanks for waiting.)