I just got an email from DynDNS.org saying that my hostname was about to expire, due to lack of updates. I have my D-Link DI-704 router set to update that automatically, but apparently it only updates it when your IP actually changes. This is fine until you have the same IP for 35 days, which is how often your DynDNS record has to be updated or else it will be deleted. I went to the DynDNS.org client page and set out to find a good updater program.
I’ve tried most of the top-ranked programs before. Most of them cost at least a little bit, which is more than I wanted to pay for something that I didn’t really need anyway. Many of them have a bunch of extra features I don’t need or want. I would prefer a simple service that simply updates my DynDNS record, and doesn’t have a multi-colored blinking icon and a built-in coffee maker.
The first freeware client I came to was DNSer. This is a very simple program, which seems to be perfect for what I want. It installs as an NT service, so I never even have to see it once it’s setup. It can detect your IP address from basically any webpage, specifically your broadband router’s status page. Some of these routers use non-standard HTML which screws up DNSer’s parsing, so it can even save a temporary copy of the status page with the problem code fixed. Configuring DNSer is definitely not idiot-proof, but it’s not too complicated either. You have to edit a .INI file by hand with the proper parameters. There are templates for many routers and dynamic DNS services, so in many cases this amounts to substituting in your router’s IP address and your username and password for whichever service you use. Using the .INI file also means that DNSer doesn’t stick itself all over your system. The parameter /INSTALL installs it as a service and /UNINSTALL removes the service. After that, just delete the directory where you unzipped the program, and it’s completely gone. No registry mucking or random files scattered about.
My router wasn’t listed, and uses a funny form of authentication. You don’t automatically get a login prompt if you just go to the status page first, and the login page is actually a set of frames with three other pages inside it. Once I figured out exactly how to get DNSer to logon, it was smooth sailing. Here’s the config section from my .INI file for the DI-704:
;----------------------------------------------------------------------------; ;This is a template for D-LINK DI-704 Router, Firmware 2.60 build 2 ;Contributed by Bill Talcott ;If your router's LAN IP isn't 192.168.0.1 you should change it accordingly: [Source] Interval=55 URL=http://192.168.0.1/menu.htm?RC=@ URL1=http://192.168.0.1/status.htm User=admin Pass=secret Prefix=IP Address</font></td><td ALIGN=CENTER WIDTH=40%> Count=1 Log=1 ;File=di704temp.html ;----------------------------------------------------------------------------;
The URL parameter is the actual login form frame’s URL. URL1 is the status page that shows your IP address. Pass should be set to whatever your password is to access your router. Prefix is the text that DNSer looks for on the status page right before your IP address. As you can see, you need to include any tags from the source HTML of the page too. Count is which occurance of the Prefix to use. Some routers use the same label on the internet IP address and the LAN IP address, and have them arranged in tables. If it shows the LAN IP first, you could set Count to 2 to have it use the second IP address listed. These parameters, and everything else in the .INI file, are explained in the documentation that comes with the program. Like I said, it’s not idiot-proof, but not really too hard either.
The default DynDNS.org service template has a maximum refresh time of 25 days. This means that if your record hasn’t been updated in 25 days, it will force an update, to keep your record from expiring. This is exactly what I was looking for. DNSer seems to be the perfect program for my needs. It gives up a bit of user-friendliness for nearly-infinite customizability, and doesn’t have a bunch of extra junk I don’t want. If you’re looking for something lke this, I recommend you check out DNSer yourself.