Webconference solution based on webrtc
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
.openshift Restart by stop and start. Dec 8, 2015
.prod_utils Added a script to check the status in the production server Oct 8, 2017
app Resolves: #228 Filtering by room Id and session instead of just session. Dec 5, 2017
client Change local storage to FileSystem. Fix #226 Dec 5, 2017
nightwatch Adding end-to-end testing with nightwatchjs. Dec 6, 2017
public language rework (#231) Mar 31, 2018
spec Fix oembed test. Sep 10, 2015
.gitignore Adding end-to-end testing with nightwatchjs. Dec 6, 2017
.jshintrc Fix codacy forin issues, and active in .jshintrc Mar 15, 2015
.shippable.yml Fixing JSHint errors on client side. Feb 5, 2015
.travis.yml Add coveralls module. Feb 4, 2015
Dockerfile Adding an example of docker/docker-compose Jan 26, 2016
LICENSE Update LICENSE Feb 15, 2015
Procfile Initial export from svn to git. Welcome to opensource Loowid Oct 8, 2014
README.md Resolves #217 Changing xirsys and adding coturn server support Nov 27, 2017
docker-compose.yml Changed the image origin of the turn server. Now we take the original… Dec 1, 2017
gruntfile.js Do not run mongo if mongo is available. Feb 19, 2016
log.js JSHint compilance for server side. Fixed #16. Jan 21, 2015
oembed.js Remove flickr and instagram oembed connection. Nov 12, 2015
package.json Marked package.json to the 2.1.0 version Dec 6, 2017
proxy.js Check if certificate is available in proxy. Fixes #195 Jan 18, 2016
server.js Youtube upload and waveform in audio only recording. Jun 22, 2017
webrtc.io.js Resolves #217 Changing xirsys and adding coturn server support Nov 27, 2017

README.md

LooWID Build Status Build Status Coverage Status Codacy Badge Translated

LOOk What I'm Doing is a web application that allows you to connect with other users and share audio, video, screen and files without any plugin using WebRTC technology.

https://www.loowid.com

Wiki Documentation Vote us !! Bitnami Contest
Wiki Documentation LooWID Bitnami Contest Bitnami

Install

  1. You need to install nodejs, mongo and git before run LooWID.

  2. Download source code.git clone https://github.com/loowid/loowid /install/dir

  3. Create and download public and private keys of your self-signed certificate.

    http://www.cert-depot.com/
    If no certificate available LooWID startup in http port.
    When https port is running, http port is used only to redirect to https port.
    
  4. npm install --production

  5. npm start

  6. Connect to https://localhost/

Note: If you want to work with the latest stable release then you must clone https://github.com/loowid/loowid/releases/latest

Docker

Too many steps to install? Don't worry LooWID is also dockerized !! If you have docker and docker-compose installed you can just type:

docker-compose up

This will bring up a copy of MongoDB and LooWID in 2 containers and you can access LooWID on https://{docker-ip/}

Development

Follow the same steps but change steps 5 and following:

  1. npm install -g grunt-cli

  2. npm install

  3. grunt (Default development server)

    • grunt cluster : Run cluster server with 2 nodes (--nodes=N change default value)
    • grunt prod : Run production environment do not watch for code changes
    • grunt test : Run unit tests
    Use --port=80 --sport=443 --bport=8000 to change default port values.
    add --mongodb=off to don't startup mongodb and provide it independently
    
    grunt cluster --sport=9090 --port=8080 --bport=7000 --nodes=3
    listen in ports 8080, 7001, 7002, 7003 (http) and 9090 (https).
    
    grunt --port=8080
    will listen in ports 443 (https) and 8080 (http).
    
    grunt --mongodb=off
    won't startup mongodb
    
    grunt test --testcase=<file_name> --nodes=3
    run only <file_name> testcase in a cluster environment with 3 nodes. See spec/tests folder.
    
  4. If you get some npm packages errors try npm update (We had that errors on Windows 7 64bits)

Configuration

There are some environment variables you may set to configure your LooWID deployment. Check your hosting provider documentation in order to know how to set this values, for example, with openshift you can type:

	rhc env set VARIABLE=VALUE -a app
  1. Credentials to access to some admin resources (debug level and stats). By default admin/admin.
ADMIN_USERNAME=<your-admin-username>
ADMIN_PASSWORD=<your-admin-password>
  1. Chrome plugin extension id. Set the id of your own plugin extension for screen sharing. A generic domain plugin will be used by default.
CEXTID=<generic-domain-plugin-id>
  1. COTURN configuration, to enable STUN/TURN service on
Mandatory:
COTURN_SERVER=<ip or hostname of your coturn server>:<port>
COTURN_AUTH_USERNAME=<coturn generated username>
COTURN_AUTH_SECRET=<coturn secret>

Optional:

COTURN_AUTH_HOURS=<number of hours that the credentials will be valid>
COTURN_EXCLUSIVE=<set any value to make you coturn server the only server in the ice list>
  1. Room timeout. The number of days that a room can be active on the server before expires (15 days by default).
ROOM_TIMEOUT=15
  1. Path to certificate files. By default public.pem and private.pem in the same folder, you could set the full path to your own certificate files.
PUBLIC_KEY=<path-to-your-cert-public.pem>
PRIVATE_KEY=<path-to-your-privatekey.pem>
  1. LTI Producer Configuration. The consumer connects with multiple LooWID rooms depends on LTI context, the first user with OWNER_ROLE will be the room owner. The LooWID producer entrypoint is configured with LTI_PATH (/lti). Set LTI_DOMAIN if your host is behind a proxy with other domain than req.headers.host. More about LTI
LTI_KEY=<lti-key>
LTI_SECRET=<lti-secret>
LTI_PATH=<lti-url>
LTI_DOMAIN=<lti-host>
LTI_OWNER_ROLES=<lti-owner-role1>,<lti-owner-role2>,...
  1. Control host and port for websocket connection.
WS_HOST=<websocket-host-server>
WS_PORT=<websocket-port-server>
  1. MongoDB URL: By Default LooWID uses localhost to connect with mongodb, set one of this variables to connect to another URL.
MONGOLAB_URI=<MongoDB URI>
MONGOHQ_URL=<MongoDB URL>
  1. Embed.ly configuration, to enable OEMBED service with Embed.ly
EMBEDLY_APIKEY=<embedly api key>

Translate

If you are interested in add a translation or improve the existing ones you can use weblate platform at: https://hosted.weblate.org/engage/loowid/ . We'll incorporate your translations as soon as possible.

License

LooWID is licenced under The MIT License (MIT)

##Preview You can watch the review made by Jay Weldy to see what LooWID looks like. Thanks Jay IMAGE ALT TEXT HERE

(Click image to watch video)

Help us to maintain LooWID

LooWID is an open source project and code developement and translations contributions would be very appreciated. We encourage you to join to start developing on project and create a pull request to the main repository. If you can't contribute development or translations and still want to contribute to the project, you could donate via Flattr this git repo

That will help us to maintain www.loowid.com service up and running.