WebRTC audio/video call and conferencing server.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 
Simon Eisenmann 05dd1d1ecf 0.22.8 11 years ago
build Dramatically reduce output produced by js minification. 11 years ago
debian 0.22.8 11 years ago
doc Added information where to get session ID and secure session ID fixing #128. 11 years ago
html Use slashed icon only when camera and mic are disabled - normal icon otherwise. 11 years ago
m4 Use autoconf macro to compare versions. 11 years ago
src Removed opacity transition from chat pane as it caused compositing issues. 11 years ago
static Removed opacity transition from chat pane as it caused compositing issues. 11 years ago
.gitignore Don't create config.h, it's not needed for a golang only project. 11 years ago
.gitmodules Get rid of submodule and directly added sleepy milestone1. 11 years ago
.hound.yml Enabled houndci.com. 11 years ago
.jshint Added jshint configuration. 11 years ago
.travis.yml Fixed compatibility with Sass 3.4 (3.4 is now required). 11 years ago
AUTHORS Added Evan to AUTHORS. 11 years ago
COPYING Added autoconf/automake support. 11 years ago
ChangeLog Added autoconf/automake support. 11 years ago
Dockerfile The Dockerfile now even works. 11 years ago
LICENSE Initial public release. 12 years ago
Makefile.am Recursively clean all built objects. 11 years ago
NEWS Added autoconf/automake support. 11 years ago
README Added autoconf/automake support. 11 years ago
README.md Add package.json specifying Node.js build dependencies. 11 years ago
autogen.sh Added autoconf/automake support. 11 years ago
configure.ac Merge pull request #132 from deathwish/remove-dpkg-parsechangelog-usage 11 years ago
package.json Add package.json specifying Node.js build dependencies. 11 years ago
server.conf.in Decode secrets as hex and recommend in configuration comments to generate secrets as hex values with example on how to do it. 11 years ago
spreed-webrtc-server Changed name of project to Spreed WebRTC. 11 years ago

README.md

Spreed WebRTC

The latest version of Spreed WebRTC can be found on GitHub:

https://github.com/strukturag/spreed-webrtc

Build prerequisites

Runtime dependencies

Spreed WebRTC compiles directly to native code and has no external runtime dependencies. See http://golang.org/doc/faq#How_is_the_run_time_support_implemented for details.

Building

Build Status

If you got spreed-webrtc from the git repository, you will first need to run the included autogen.sh script to generate the configure script.

Configure does try to find all the tools on your system at the standard locations. If the dependencies are somewhere else, add the corresponding parameters to the ./configure call.

$ ./configure
$ make

Build seperately

Get Go external dependencies first with make get.

$ make assets
$ make binary

Server startup

spreed-webrtc-server [OPTIONS]

Options

-c="./server.conf": Configuration file.
-cpuprofile="": Write cpu profile to file.
-h=false: Show this usage information and exit.
-l="": Log file, defaults to stderr.
-memprofile="": Write memory profile to this file.
-v=false: Display version number and exit.

An example configuration file can be found in server.conf.in.

Usage

Connect to the server URL and port with a web browser and the web client will launch.

Development

To build styles and translations, further dependencies are required. The source tree contains already built styles and translations, so these are only required if you want to make changes.

The following Node.js modules are required, these may be installed locally by running npm install from the project root. Consult the package.json file for more details.

Styles can be found in src/styles. Translations are found in src/i18n. Each folder has its own Makefile to build the corresponding files.

Running server for development

Copy the server.conf.in to server.conf.

Build styles, javascript and binary using make. Then run ./spreed-webrtc-server

The server runs on http://localhost:8080/ per default.

HTML changes and Go rebuilds need a server restart. Javascript and CSS reload directly.

Branding

Insert logo in static/img. Edit src/styles/global/_branding.scss to link to desired custom logo. It is also possible to insert the raw svg data.

Skins

Insert skins in src/styles/global/skins and edit the @import "skins/light"; line in src/styles/global/_variables.scss. Available skins are light and dark. It is recommended to create a new skin file if you wish to customize colors.

Running for production

Spreed WebRTC should be run through a SSL frontend proxy with support for Websockets. Example configuration for Nginx can be found in doc/NGINX.txt.

In addion for real work use one also needs a STUN/TURN server configured with shared secret support.

See https://code.google.com/p/rfc5766-turn-server/ for a free open source TURN server implementation. Make sure to use a recent version (We recommend 3.2). Versions below 2.5 are not supported.

Contributing

  1. "Fork".
  2. Make a feature branch.
  3. Make changes.
  4. Do your commits (run make fmt and make jshint before commit).
  5. Send "pull request".

License

Spreed WebRTC uses the AGPL license, see our LICENSE file.