node-mumble icon indicating copy to clipboard operation
node-mumble copied to clipboard

Mumble client in Node.js

No Maintenance Intended

This project is not maintained. The code base depends on various native components that keep breaking between Node versions. There might be non-native alternatives these days so someone should implementa new version of the library on top of such.

Mumble client for Node.js

Build Status Code Climate

This module implements mumble protocol handling for Node.js

Installation

npm install mumble

Example

var mumble = require('mumble'),
    fs = require('fs');

var options = {
    key: fs.readFileSync( 'key.pem' ),
    cert: fs.readFileSync( 'cert.pem' )
};

console.log( 'Connecting' );
mumble.connect( 'mumble://example.org', options, function ( error, connection ) {
    if( error ) { throw new Error( error ); }

    console.log( 'Connected' );

    connection.authenticate( 'ExampleUser' );
    connection.on( 'initialized', onInit );
    connection.on( 'voice', onVoice );
});

var onInit = function() {
    console.log( 'Connection initialized' );

    // Connection is authenticated and usable.
};

var onVoice = function( voice ) {
    console.log( 'Mixed voice' );

    var pcmData = voice;
};

Use openssl req -x509 -newkey rsa:2048 -nodes -keyout key.pem -out cert.pem to generate the certificate.

Take a look at the advanced example in "examples/advanced.js"!

Please also take a look at the wiki for an complete documentation of the API.

Contributing

Pull requests, found issues, etc. are welcome. The authors are tracked in the AUTHORS file. This file is kept up to date manually so authors are encouraged to pull request the necessary changes to the AUTHORS themselves.

Running tests

Tests can be executed with mocha. By default the tests are executed against local (localhost) Mumble server in the default port. To use a remote server or non-default port, launch mocha with MUMBLE_URL environment variable set:

MUMBLE_URL=my.mumble.server.com mocha

Related Projects