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.
- Audio / video calling with SIP interoperability
- Multi-party video conferencing (WebRTC only)
- Guest mode (no account required if invited)
The default settings of the app are found in src/app/config.js
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
- 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
- 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
- Clean the distribution
make clean
- Clean all installed packages and generated files
make distclean
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.
Sylk is available under the AGPLv3 license. See the LICENSE file.
The following organizations have helped the development of Sylk by providing funding: