Please note that this site is best viewed in a modern browser, like Safari, Chrome, or Firefox. Internet Explorer 8 and earlier versions are incapable of properly rendering many page elements.

Eureka Icon

Eureka

Eureka.tgz
2011.02.05 • 25KB

Eureka is an update client for the Dynamic DNS service from DynDNS which works with Apple Wi-Fi routers. It avoids the constant polling behavior of most other clients by tracking changes the router's public IP address via Bonjour.

Overview

Eureka tracks changes to the public IP address reported by the AirPort or Time Capsule router and sends updates to DynDNS. Updates are sent under two conditions. First, any time the router's reported address differs from the address returned by public DNS servers, the new address is sent. Second, when a domain is about to expire, an update is forced and the existing IP address is sent again, which resets the expiration countdown.

Requirements

  • Mac OS X (Client or Server) version 10.6 "Snow Leopard" or Greater
  • Apple Wi-Fi Router: Time Capsule, AirPort Extreme, or AirPort Express
  • DynDNS Account

Usage

The eurekad tool is a daemon which runs in the background without user interaction. Once installed and properly configured, it will start automatically when the host computer starts up.

Installation

  1. Download and expand the archive.
  2. Copy the eureka folder to /usr/local.
  3. Copy the com.blanchealley.eurekad.plist file to /Library/LaunchDaemons.

Configuration

The configuration file is a property list found at:

/usr/local/eureka/config.eurekad

Each top level key value pair of the property list's main dictionary defines a domain. The key is the fully qualified domain name to update and the value is a dictionary which contains the required details:

  • Login - The login for the user's DynDNS account.
  • Password - The password for the user's DynDNS account.

Sample Configuration

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN"
 "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>myhost.example.org</key>
<dict>
<key>Login</key>
<string>user_login</string>
<key>Password</key>
<string>user_password</string>
</dict>
</dict>
</plist>

Running the Daemon

When the installation instructions above have been followed, the daemon will automatically be launched when the computer starts up. To manually start and stop the daemon, use the commands below.

Start

sudo launchctl load /Library/LaunchDaemons/com.blanchealley.eurekad.plist

Stop

sudo launchctl unload /Library/LaunchDaemons/com.blanchealley.eurekad.plist

Future Enhancements

Features planned for future versions:

  • Create a preference pane to manage the configuration file.
  • Store usernames and passwords in the keychain on Mac OS X.