Background

I recently switched to using ZoneEdit's dynamic DNS service. However I could only find 2 clients that worked with Zoneedit.com. One was being sold for about $20 (called DirectUpdate), and the other is ZoneEdit's own open source program (called zeDyn). I wasn't really interested in the $20 one, and after trying the ZoneEdit program, I found it was a bit flaky (it would regularly not be able to find it's IP, etc).

The ZoneEdit program is to be open source, and the source will soon be provided. The instructions on how to make the request are laid out on ZoneEdit's page about Dynamic DNS.  Using the information from this source, I was able to create my own (mostly) open source program. The application runs as a service, so that it will always be running whenever your computer is.

Features

  • Runs as a service
  • Checks for an IP change every 15 minutes
  • Sends updates only when needed
  • NEW! Now checks the existing DNS record on startup and only updates if necessary.
  • Able to handle multiple domains
  • Configured from an INI file
  • Sends e-mail to you when an update occurs

Configuration & Operation

The system is configured from an simple ini file.

Screen shot of sample ini file.  Click for a larger view.

The sections are fairly self explanatory.

In the Settings section:

  • Username - This is your zoneedit.com username. This is a required field.
  • Password - This is your zoneedit.com password.  It needs your username & password in order to login to Zoneedit.com and update your records. This is a required field.
  • Hosts - This is the comma-seperated list of domains that you want to update with the new IP Address. This is a required field.

In the SMTP section:

  • MailTO - This is the destination address(s) that you want to send an e-mail to when an update occurs. There can be multiple addresses here if they are separated by a semi-colon (;). If this field is blank, then no e-mails will be sent.
  • MailFrom - This is the address that the e-mail will be sent from. If this field is blank, then no e-mails will be sent.
  • SMTPServer - This is the name or IP Address of your outgoing SMTP server. Contact your ISP if you do not know what this is. If this field is blank, then no e-mails will be sent.

You will need to restart the service to make any changes take effect.

When the service 1st starts, it will update the DNS Record. It will then check every 15 minutes to see if your public IP has changed. If it has changed, then it will update the DNS record at ZoneEdit.com with the new information. It will only attempt to refresh the record if a change has been made.  Any errors or information will be logged in the Windows Event Log.  A Sample event log is shown here.

Event Log Sample of ZoneEdit Dynamic DNS Update on Initial Startup

Prerequisites

You will need to have Microsoft .NET 1.1 installed.  You can download it from the Microsoft Website.

You will need to be logged in as a local Administrator to install the program.

Download

You can download the installer for the program.  Once it is installed, you will have to update the configuration file with your appropriate information, and start the service.

Version 1.2 (September 21, 2007) - ZoneEditDynDns_Setup_1.2.msi (315KB)

Version 1.1 (December 24, 2006) - ZoneEditDynDNs_Setup_1.1.msi (315KB)
Version 1.1 (December 24, 2006) - ZoneEditDynDNs_Setup_1.1.zip (194KB)

Version 1.0 Initial Release (December 23, 2006) - ZoneEditDynDNs_Setup_1.0.msi (315KB)
Version 1.0 Initial Release (December 23, 2006) - ZoneEditDynDNs_Setup_1.0.zip (194KB)

Cost

Free. Gratis. You pay nothing.  If you find a bug, please let me know the details, and I will fix it. If there is a feature you would like to have added, again, let me know, and I will do my best to write it in.  If you are still using Internet Explorer, scroll on down to the bottom, download and install Firefox (and actually use it). You'll like it better than IE.  It is more secure as well.  You can also use Paypal to make a donation below.

FAQ

1. What is the name of the service?

   The name of the installed service is "ZoneEdit Dynamic DNS Update"

2. I am receiving an error along the lines of 'excessive usage' or 'excessive updates'. What does this mean?

   If you try to update your DNS record too often (i.e. more than a couple times per 15 minutes) ZoneEdit complains with this type of error. This can occur when you are 1st setting the program up, as each time that you start the service it pushes an update to ZoneEdit.  NOTE: This has been partially resolved with the release of version 1.2

3. Can I update multiple domains at the same time (e.g. example.org, www.example.org, example.com, www.example.com)?

   Yes. All the domain names must be in the same ZoneEdit account. If all the domains are listed separated by commas on the HOSTS line in the ini file, it will update all the domains at once (don't put any spaces between the domains).  To update the 4 domains in this example, the HOSTS line in the ini file should read as:


Parital screen shot of sample ini with multiple hosts to update.

4. I've performed the installation successfully, however there was no service created. How can I fix this?

   For some reason, the installer does not always register the application as a service. I don't know why.  It can be fixed by performing the following steps:

  1. Click on Start, and select Run...
  2. type cmd and click OK.
  3. Type (or copy and paste) the following command: c:\windows\microsoft.NET\Framework\v1.1.4322\installutil.exe "\program files\ZoneEditDynDns\ZoneEditDynDns.exe" (you may need to adjust the path if you have not installed everything into it's default directory).
  4. The service should now show up as a windows service.

Help!

If you are having a problem, you can contact me via e-mail at

Legal

It should run fine. It shouldn't cause anything bad to happen. Neither ZoneEdit.com or myself take any responsibility if something does go wrong.

Todo

  • Send e-mail when IP Address is updated
  • Properly interpret error code meanings ( http://zoneedit.com/doc/dynamic/ReturnCodes.txt)
  • Check to see if an update is really needed on startup, and skip the update if the ZoneEdit DNS record matches the current IP.Now in Version 1.2
  • Check for updated versions of the program (and send an e-mail alert when it is true). This probably should be an optional setting.