node package manager
It’s your turn. Help us improve JavaScript. Take the 2017 JavaScript Ecosystem Survey »


Build Status NPM version


upnpserver icon

UpnpServer is a fast and light UPnP server written in NodeJS. This version does not need an external database (mysql, mongodb), it stores all information in memory.


  • Freebox HD
  • Soundbridge
  • ht5streamer
  • Intel Device Validator
  • Samsung AllShare play
  • LG Smart Share
  • Android
    • VPlayer (with UPNP Plugin)
    • NX Player


$ npm install upnpserver

Command line

For command line, install upnpserver-cli package.

API Usage

var Server = require("upnpserver");
var server = new Server({ /* configuration, see below */ }, [
  { path: '/home/myDisk' },
  { path: '/media/movies', mountPoint: '/My movies'},
  { path: '/media/albums', mountPoint: '/Personnal/My albums', type: 'music' }


Server constructor accepts an optional configuration object. At the moment, the following is supported:

  • log Boolean Enable/disable logging. Default: false.
  • logLevel String Specifies log level to print. Possible values: TRACE, DEBUG, INFO, WARN, ERROR, FATAL. Defaults to ERROR.
  • name String Name of server. Default 'Node Server'
  • uuid String UUID of server. (If not specified, a UUID v4 will be generated)
  • hostname String Hostname to bind the server. Default:
  • httpPort Number Http port. Default: 10293
  • dlnaSupport Boolean Enable/disable dlna support. Default: true
  • strict Boolean Use only official UPnP attributes. Default: false
  • lang String Specify the language (en, fr) for virtual folder names. Default: en
  • ssdpLog Boolean Enable log of ssdp layer. Default: false
  • ssdpLogLevel String Log level of ssdp layer.


For testing purposes used mocha framework. To run tests, you should do this:

make test


Olivier Oeuillot