Skip to content

maximdogonov/sylk-webrtc

 
 

Repository files navigation

Sylk

Sylk is a WebRTC client focused on multiparty video conferencing. Sylk is the companion client for SylkServer video conferencing application.

Sylk is built using HTML and JavaScript and uses the SylkRTC API to talk to SylkServer. It can be served as a web page using the web server of your choice, or it can be packaged as a stand alone desktop application using Electron. This repository contains the code to build the website and a companion Electron app.

Features

  • Audio / video calling with SIP interoperability
  • Multi-party video conferencing (WebRTC only)
  • Guest mode (no account required if invited)

Customization

The default settings of the app are found in src/app/config.js

Development

Nodejs is needed for development. Version >= 4.2 is recommended. A convenience configure script and Makefile are provided.

Nodejs can be downloaded from https://nodejs.org

npm or yarn can be used for installing dependencies. If using npm, after installation upgrade it to version > 3.0:

npm install -g npm

NOTE: depending on your Node installation you might need to use sudo.

  • Install all dependencies
    ./configure

Website

  • Build the ready to be deployed distribution (available in dist/)
    make
  • Development build, starts a test webserver which auto-reloads as the code changes
    make watch
  • Deploy the built website to the server
    make deploy
  • Deploy the built website to the staging server
    make deploy-test

Electron application

  • Build the Electron application
    make electron
  • Build and run Electron application:
    make app-run
  • Build macOS DMG package
    make pkg-osx
  • Build Windows NSIS based installer (universal: 32 and 64 bits)
    make pkg-win

NOTE: If building on macOS Wine must be installed with brew install wine.

  • Build Linux AppImage (both 32 and 64 bit builds)
    make pkg-linux

NOTE: Requires a GNU/Linux system with the following packages installed: icnsutils, graphicsmagick

Common

  • Clean the distribution
    make clean
  • Clean all installed packages and generated files
    make distclean

Debugging

By default Sylk doesn't output a lot of information to the browser's JavaScript console. Console debug messages are namespaced by library, the two most important ones being 'sylkrtc' and 'blinkrtc'. In order to enable debugging for both open the browser's JavaScript console and type the following:

    window.blinkDebugger.enable('sylkrtc*,blinkrtc*');

Then reload the page. Debug messages will be logged to the console now.

License

Sylk is available under the AGPLv3 license. See the LICENSE file.

Authors

Credits

The following organizations have helped the development of Sylk by providing funding:

Releases

No releases published

Packages

No packages published

Languages

  • JavaScript 89.1%
  • CSS 8.6%
  • HTML 1.4%
  • Makefile 0.9%