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.

Duboce Icon

Duboce

Duboce.tgz
2011.02.05 • 12KB

Duboce is a tool to publish multicast DNS service information on behalf of local area networked devices without built-in support for zeroconf. Any number of services for any number of devices can be published from a single computer.

Overview

Duboce is useful when devices that connect to the network don't have their own DNS entries or implement any form of zeroconf discovery. It publishes service information for the devices allowing access by name, so users don't have to remember IP addresses or create hosts file entries on each client machine. It runs in the background on a computer on the same local area network as the devices for which it provides service.

Requirements

  • Mac OS X (Client or Server) version 10.6 "Snow Leopard" or Greater

Usage

The duboced 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 duboce folder to /usr/local.
  3. Copy the com.blanchealley.duboced.plist file to /Library/LaunchDaemons.

Configuration

The configuration file is a property list found at:

/usr/local/duboce/config.duboced

There are two top level keys:

  • Subnet - A string value that lists the first three segments of the subnet duboced should use in dot-decimal notation (e.g. "192.168.0").
  • Services - An array of dictionaries containing service information. Each dictionary contains five required keys:
    • Name - The human-readable name of the service.
    • HostName - The host at which the service can be found. This is the value you want to appear in URLs for the service.
    • IP - The last segment of the IP address of the machine hosting the service. The Subnet value above will be prepended (e.g. "101" becomes "192.168.0.101").
    • Port - The port of the service (e.g. "80" for HTTP).
    • Type - The type of the service (e.g. "_http._tcp."). See http://www.dns-sd.org/ServiceTypes.html for a list of valid service types.

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>Services</key>
<array>
<dict>
<key>HostName</key>
<string>myhost</string>
<key>IP</key>
<integer>101</integer>
<key>Name</key>
<string>My Device</string>
<key>Port</key>
<integer>80</integer>
<key>Type</key>
<string>_http._tcp.</string>
</dict>
 </array>
<key>Subnet</key>
<string>192.168.0</string>
</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.duboced.plist

Stop

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

Future Enhancements

Features planned for future versions:

  • Create a preference pane to manage the configuration file.
  • Detect subnet from network settings.
  • Support multiple subnets.