@signal-fire/server

    0.5.0 • Public • Published

    Signal-Fire Server

    Signal-Fire Server is a WebRTC signaling server built for node.js.

    A WebRTC signaling server communicates between peers to set up peer-to-peer audio/video and/or data channels. This allows your clients to communicate directly with each other.

    Features

    • WebSockets powered WebRTC signaling server
    • There is a tailor-made browser client available as well
    • Automatic peer ID generation (also possible to plug in your own)
    • Automatic routing of messages
    • Supports one-to-one, one-to-many and many-to-many out of the box
    • Horizontally scalable by using registries

    Install

    You can help by reporting bugs or unexpected behavior. If you encounter anything, please open an issue, or even better, a pull request.

    Install the module through npm:

    npm i @signal-fire/server
    

    Command Line Interface (CLI)

    There is also a CLI available to start and manage multiple workers simultaneously. The CLI is a work-in-progress, but can already be used.

    To install the CLI:

    npm i -g @signal-fire/cli
    

    To start a new worker on port 3003:

    > signal-fire start -p 3003
    

    See the CLI documentation to learn how to use the CLI.

    Documentation

    Click here to view the documentation.

    Example

    In this example we use the LocalRegistry in-memory registry from the @lucets/registry package.

    The resulting app is in fact just a Luce application, which you can extend yourself. You'll also need to use your own HTTP server, of course.

    import { Server } from 'http'
    
    import createApp from './index'
    import { LocalRegistry } from '@lucets/registry'
    
    const registry = new LocalRegistry()
    const app = createApp(registry)
    const server = new Server()
    
    server.on('upgrade', app.onUpgrade())
    server.listen(3003, () => {
      console.log('Server listening on port 3003')
    })

    License

    Copyright 2021 Michiel van der Velde.

    This software is licensed under the MIT License.

    Install

    npm i @signal-fire/server

    DownloadsWeekly Downloads

    2

    Version

    0.5.0

    License

    MIT

    Unpacked Size

    14.8 kB

    Total Files

    9

    Last publish

    Collaborators

    • michielvdvelde