Resources
UPnP
Documentation
The UPnP Forum with all standards and specifications about how UPnP devices should behave
Libraries and Tools
- UPnP-Inspector - The Inspector is an UPnP Device and Service analyzer, and a debugging tool, based on the Coherence DLNA/UPnP framework.
- Puncher - Puncher is an UPnP InternetGatewayDevice manipulation tool, based on the Coherence DLNA/UPnP framework.
- The Intel® Tools for UPnP Technologies - The upnp device code generator is closed source and windows only but produces multi-platform code. Included in the tools is Device Spy - Intel's Universal Control Point (only available for Windows and .NET), a handy tool for testing "action" invocations and events. Currently unsupported.
- A Portable Open Source UPnP Development Kit - the portable SDK for UPnP™ Devices (libupnp) provides C developers with an API and open source code for building control points, devices, and bridges that are compliant with Version 1.0 of the Universal Plug and Play Device Architecture Specification and support several operating systems like Linux, *BSD, Solaris and others.
- UPNPLib - a Java library, seems to be focused on SSDP and IGD
- Platinum - a library in C++
- clinkc - a port(?) of the cyberlink Java lib to C
- GUPnP - a C library written from scratch using glib, gobject and libsoup. Includes a set of tools (e.g. a universal control point) and reference implementations.
- Perl UPnP - a pure Perl UPnP ControlPoint and Device host implementation (seems to be not active anymore)
- UPnP Port Works - a framework concentrating on InternetGateway? device handling (Windows only)
- Developer Tools for UPnP™ Technologies - is a set of development and reference tools for creating software that is compatible with the UPnP specifications, in C# and C/C++
Device Implementations
- MiniUPnP Project - a lightweight library and a daemon for an InternetGateway? device.
- GMediaServer - one of the first OS MediaServer implementations , written in C and based on libupnp/pupnp
- GMediaRender - a MediaRenderer using Gstreamer as the media layer, written in C and based on libupnp/pupnp
- GeeXboX uShare - a MediaServer created as a fork of
- GMediaServer, written in C and based on libupnp/pupnp
- djmount - something very special, mounts MediaServers content as a Linux filesystem with the help of FUSE, written in C and based on libupnp/pupnp. One could call it a Chimera as it provides one part of the ControlPoint, a ContentDirectory client and some pieces of the AVTransport client, that's normally part of the MediaRenderer.
- PyMedS - a MediaServer written in Python, based on Tim Potters code. It is one of Coherences origins.
- PyMediaServer - a MediaServer written from scratch in Python
- X360 Media Server - a MediaServer, especially for the XBox UPnP client, written in Java
- FUPPES - a free, multiplatform UPnP A/V MediaServer with optional on-the-fly audio transconding from ogg/vorbis, mpc/musepack and FLAC to mp3, written in C
- MediaStreamer - a ControlPoint and a (partial?) MediaRenderer for the Nokia N770/N800
- Canola - a ControlPoint and a (partial?) MediaRenderer for the Nokia N770/N800
- UPnPRenderer - a MediaRenderer frontend for mplayer, written in C and based on libupnp/pupnp
- MediaTomb - a MediaServer based on a heavily patched version of pupnp
- jUPnP - a simple UPnP ControlPoint and an even simpler UPnP Device written in Java
- foobar2000 - an advanced freeware audio player for the Windows platform, being an UPnP/DLNA Renderer, Media Server and Control Point
Various
- upnp2mrtg Monitoring Fritz!Box with MRTG - a command line tool written in shell code to gather statistics from an UPnP InternetGateway? enabled Fritz!Box DSL router
