Skip to content

oeuillot/upnpserver

Repository files navigation

Build Status NPM version

upnpserver

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.

Compatibility

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

Installation

$ 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 */ }, [
  '/home/disk1',
  { path: '/home/myDisk' },
  { path: '/media/movies', mountPoint: '/My movies'},
  { path: '/media/albums', mountPoint: '/Personnal/My albums', type: 'music' }
]);

server.start();

##Configuration 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'
  • modelName String Model name of server. Default 'Node upnpserver'
  • uuid String UUID of server. (If not specified, a UUID v4 will be generated)
  • hostname String Hostname to bind the server. Default: 0.0.0.0
  • 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.

Testing

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

make test

Author

Olivier Oeuillot

Contributors

https://github.com/oeuillot/upnpserver/graphs/contributors