Share your code. npm Orgs help your team discover, share, and reuse code. Create a free org »

    peerpublic

    Build Status

    PeerServer: A server for PeerJS

    PeerServer helps broker connections between PeerJS clients. Data is not proxied through the server.

    http://peerjs.com

    If you prefer to use a cloud hosted PeerServer instead of running your own, sign up for a free API key here

    or

    Deploy

    Run PeerServer

    Install the library:

    $> npm install peer

    Run the server:

    $> peerjs --port 9000 --key peerjs

    Or, create a custom server:

    var PeerServer = require('peer').PeerServer;
    var server = PeerServer({port: 9000, path: '/myapp'});

    Connecting to the server from PeerJS:

    <script>
        // No API key required when not using cloud server 
        var peer = new Peer('someid', {host: 'localhost', port: 9000, path: '/myapp'});
    </script> 

    Using HTTPS: Simply pass in PEM-encoded certificate and key.

    var fs = require('fs');
    var PeerServer = require('peer').PeerServer;
     
    var server = PeerServer({
      port: 9000,
      ssl: {
        key: fs.readFileSync('/path/to/your/ssl/key/here.key'),
        cert: fs.readFileSync('/path/to/your/ssl/certificate/here.crt')
      }
    });

    Running PeerServer behind a reverse proxy

    Make sure to set the proxied option, otherwise IP based limiting will fail. The option is passed verbatim to the expressjs trust proxy setting if it is truthy.

    var PeerServer = require('peer').PeerServer;
    var server = PeerServer({port: 9000, path: '/myapp', proxied: true});

    Combining with existing express app

    var express = require('express');
    var app = express();
    var ExpressPeerServer = require('peer').ExpressPeerServer;
     
    app.get('/', function(req, res, next) { res.send('Hello world!'); });
     
    var server = app.listen(9000);
     
    var options = {
        debug: true
    }
     
    app.use('/api', ExpressPeerServer(server, options));
     
    // OR 
     
    var server = require('http').createServer(app);
     
    app.use('/peerjs', ExpressPeerServer(server, options));
     
    server.listen(9000);

    Events

    The 'connection' event is emitted when a peer connects to the server.

    server.on('connection', function(id) { ... });

    The 'disconnect' event is emitted when a peer disconnects from the server or when the peer can no longer be reached.

    server.on('disconnect', function(id) { ... });

    Problems?

    Discuss PeerJS on our Google Group: https://groups.google.com/forum/?fromgroups#!forum/peerjs

    Please post any bugs as a Github issue.

    Keywords

    none

    install

    npm i peer

    Downloadslast 7 days

    674

    version

    0.2.8

    license

    MIT

    repository

    github.com

    last publish

    collaborators

    • avatar
    • avatar