GUPnP is an open source and object-oriented framework specifically designed for creating UPnP devices and control points, written in C using GObject and libsoup. The GUPnP API is intended to be easy to use, efficient and flexible.

Comprises of GSSDP, GUPnP-AV and GUPnP-DLNA

The GUPnP framework consists of several libraries, such as GSSDP, which implements resource announcement and discovery over SSDP, GUPnP, which implements the UPnP specification, GUPnP-AV, a set of helpers for building audio/video apps, and GUPnP-DLNA, a tiny library that makes DLNA-related tasks easier.

The GUPnP framework was initially created because of developer’s frustrations with the libupnp library and its mess of threads. Therefore, GUPnP is entirely single-threaded, asynchronous, integrates with the GLib main loop, and offers the same set of features as libupnp.

It is supported on any distribution of GNU/Linux

The GUPnP software is distributed as part of the GNOME Project and it is supported on any distribution of GNU/Linux, installable from the main software repositories of the respective Linux kernel-based operating systems. Supported hardware platforms include 64-bit and 32-bit.

Users can also install GUPnP using the source package distributed on Softpedia. To achieve that, simply download and save the archive on your computer, preferably somewhere on your Home directory, and extract its contents using an archive manager utility.

Open a terminal emulator application, move to the location of the extracted archive files using the ‘cd’ command (e.g. cd /home/softpedia/gupnp-0.20.13), and run the ‘./configure && make’ command to configure and compile the program.

After a successful compilation process, you will be able to run the ‘make install’ command as root or the ‘sudo make install’ command as a privileged user to install GUPnP system wide and make it available to all users on your GNU/Linux operating system.