Wednesday, 22 September 2004

UPnP (Universal Plug and Play)

Universal Plug and Play, an Intel-centric norm that is used for things like dynamical location and configuration of network devices (it is quite different from Rendezvous in the sense that it covers both service browsing and service interaction).

It is used for remote control of Windows Internet Sharing, punching holes in UPNP-enabled firewalls (MSN and most Bittorrent clients use it for precisely that purpose), etc., but most recently for configuration and media sharing among entertainment devices under DLNA.

Of course, Apple seem to keep wanting to do their own thing, and their own thing only, so there is no native UPnP support in Mac OS X

Resources:

Category Date Link Notes
Tools Mar 4 UPnP Help Test cases and tools
Libraries Jan 6 miniupnp Heartily recommended, includes an easy-to-use IGD port mapping tool
Older gupnp-igd for poking ports through Internet Gateway Devices
upnpportmapping a cross-platform library and tool
Miranda a UPNP administration tool
Coherence a Python framework, featuring an inspector for debugging.
gUPnP a C and GTK single-threaded framework to implement UPnP browsing and manipulation (including the creation of graphical tools)
GUPNP Network Camera a server and control point based on the above
libupnp The basic stuff
Servers Feb 2 ps3mediaserver Java DLNA server specifically developed to stream media to the PS3
Older FUPPES seems to play along well with MacPorts
uShare UPnP A/V Media Server simple, straightforward, written in C.
MediaTomb trendy, somewhat ugly UI.
TwonkyVision Media Server (commercial, Mac OS X installer requires you to reboot, which is preposterous)
Unsorted Older GMediaRender
djmount an installable filesystem, might work with MacFUSE
Programatically Controlling a UPNP Firewall fear.
CyberGarage lots of sample code and packages (even for Mac OS X), including CyberLink for Java and CyberMediaGate for C++