May 14, 2011, 2:16 a.m.
posted by effect
Advertising Arbitrary Rendezvous Services in OS X
Rendezvous isn't just for web pages and iChat. Use this OS X app to advertise whatever you like.
While you can certainly use mDNSProxyResponder [Hack #28] to advertise arbitrary Rendezvous services from the command line, OS X has a number of pretty Aqua apps that will also do this for you. My favorite is a freeware app called Rendezvous Beacon, available at http://www.chaoticsoftware.com/ProductPages/RendezvousBeacon.html. It incorporates all of the functionality of mDNSProxyResponder inside a simple, well-organized interface (Figure).
Turing beacons on and off is as simple as clicking a checkbox. You can add as many beacons as you like, to whatever service, protocol, and port you need. Like mDNSProxyResponder, it will even allow you to advertise services that aren't local to your machine or network, as shown in Figure. In this example, I'm advertising the NoCat web site as the local multicast DNS name nocat.local. This causes any Rendezvous-enabled browsers on the local wireless network (such as Safari or Camino) to see a service called NoCat, which directs them to the IP address shown in Figure. You can change the URL that the user lands on by changing the Path= line in the Text Record box.
You can advertise any service you like by supplying the appropriate Service Type and Port Number. For example, to advertise an iTunes DAAP share, use _daap._tcp. as the Service Type, and 3689 as the port number. The little triangle button to the right of these fields provides a cheat sheet for common services and ports.
To make Rendezvous Beacon run whenever you are using your machine, simply add it to your Login Items in System Preferences. If you are interested in advertising Rendezvous services, I highly recommend trying out this nifty free app.
Another quick and easy method for advertising web pages with Rendezvous is to use mod_proxy , part of the Apache installation on every OS X box. Add an entry like the following to your /private/etc/httpd/httpd.conf:
<IfModule mod_rendezvous_apple.c> RegisterResource "Muzik on Caligula" "/Music/" </IfModule>
This registers a path with the given description for your local machine. Restart Apache by clicking Stop and then Start under System Preferences Sharing Personal Web Sharing. Unfortunately, mod_rendezvous doesn't support proxy like the previous method does, but it can make it easy to publish local paths without any additional software.