📮 INBOX

Go Report Card GoDoc codecov Maintainability Join the chat at https://gitter.im/inbox-server/community

Inbox makes it easy to setup a WebRTC HTTPS signaling server

Table of Contents

Features

Install

Download latest binary

You can download the latest version from releases for your system/architecture

Compile from source

Docker image

Free public instances

The following are public instances you can use instead of running your own:

Usage

  -bind string
        a bind for the http server (default "0.0.0.0:3000")
  -cleanup-interval int
        Interval in seconds between server cleaning up inboxes (default 1)
  -cors
        Allow CORS
  -https
        Run server in HTTPS mode or HTTP (default true)
  -inbox-capacity int
        Maximum number of messages each inbox can hold (default 100)
  -inbox-timeout int
        Number of seconds for the inbox to be inactive before deleting (default 60)
  -long-polling
        Allow blocking get requests until a message is available in the inbox (default true)
  -max-body-size int
        Maximum request body size in bytes (default 1048576)
  -max-header-size int
        Maximum request body size in bytes (default 1048576)
  -public string
        Directory path of static files to serve (default "public")
  -server-cert string
        HTTPS server certificate file (default "server.crt")
  -server-key string
        HTTPS server private key file (default "server.key")

Tutorial

If you’re new to writing WebRTC application I recommend you make yourself familiar with the basic concepts from google, For a tutorial about how to use Inbox I got you covered from installation to Javascript communication Read more

API Documentation

Purpose

How is it working?

The General Concept

Inbox acts as a temporary mailbox between peers, the server creates the inbox upon the first interaction with the user and deletes it after a duration of inactivity which is 1 minute by default Read more

The implementation

How to run the example

Benchmarks

Inbox inherits the high speed of Go and as it uses the RAM as storage its mostly a CPU bound process, the project comes with go benchmarks you can test it on your hardware yourself, You can checkout my CPU specs and benchmark numbers on my machine here Read more

Contribute

Expected contribution flow will be as follows:

License

MIT License (c) Emad Elsaid