Coder Social home page Coder Social logo

jitsi-meet-electron's Introduction

Jitsi Meet Electron

Desktop application for Jitsi Meet built with Electron.

Features

  • End-to-End Encryption support (BETA)
  • Works with any Jitsi Meet deployment
  • Builtin auto-updates
  • Remote control (currently disabled due to security issues)
  • Always-On-Top window
  • Support for deeplinks such as jitsi-meet://myroom (will open myroom on the configured Jitsi instance) or jitsi-meet://jitsi.mycompany.com/myroom (will open myroom on the Jitsi instance running on jitsi.mycompany.com)

Installation

Download our latest release and you're off to the races!

Windows macOS GNU/Linux (AppImage) GNU/Linux (Deb)
Download Download Download Download

NOTE: The GNU/LInux builds are 64-bit only.

Third-Party builds

Download On Flathub

Homebrew

For macOS user, you can install the application using the following command:

brew install --cask jitsi-meet

Using it with your own Jitsi Meet installation

โš ๏ธ The following additional HTTP headers are known to break the Electron App:

Content-Security-Policy "frame-ancestors [looks like any value is bad]";
X-Frame-Options "DENY";

A working Content Security Policy looks like that:

Content-Security-Policy "img-src 'self' 'unsafe-inline' data:; script-src 'self' 'unsafe-inline' 'wasm-eval'; style-src 'self' 'unsafe-inline'; font-src 'self'; object-src 'none'; base-uri 'self'; form-action 'none';";

Development

If you want to hack on this project, here is how you do it.

Show building instructions

Installing dependencies

Install Node.js 16 first (or if you use nvm, switch to Node.js 16 by running nvm use).

Extra dependencies for Windows
npm install --global --production windows-build-tools
Extra dependencies for GNU/Linux

X11, PNG and zlib development packages are necessary. On Debian-like systems then can be installed as follows:

sudo apt install libx11-dev zlib1g-dev libpng-dev libxtst-dev

Install all required packages:

npm install

Starting in development mode

npm start

The debugger tools are available when running in dev mode and can be activated with keyboard shortcuts as defined here https://github.com/sindresorhus/electron-debug#features.

It can also be displayed automatically from the SHOW_DEV_TOOLS environment variable such as:

SHOW_DEV_TOOLS=true npm start

or from the application --show-dev-tools command line flag.

Building the production distribution

npm run dist

Working with jitsi-meet-electron-sdk

jitsi-meet-electron-sdk is a helper package which implements many features such as remote control and the always-on-top window. If new features are to be added / tested, running with a local version of these utils is very handy, here is how to do that.

By default the @jitsi/electron-sdk is build from npm. The default dependency path in package.json is:

"@jitsi/electron-sdk": "^3.0.0"

To work with local copy you must change the path to:

"@jitsi/electron-sdk": "file:///Users/name/jitsi-meet-electron-sdk-copy",

To build the project you must force it to take the sources as npm update will not do it.

npm install @jitsi/electron-sdk --force

NOTE: Also check the jitsi-meet-electron-sdk README to see how to configure your environment.

Publishing

  1. Create release branch: git checkout -b release-1-2-3, replacing 1-2-3 with the desired release version
  2. Increment the version: npm version patch, replacing patch with minor or major as required
  3. Push release branch to github: git push -u origin release-1-2-3
  4. Create PR: gh pr create
  5. Once PR is reviewed and ready to merge, create draft Github release: gh release create v1.2.3 --draft --title 1.2.3, replacing v1.2.3 and 1.2.3 with the desired release version
  6. Merge PR
  7. Github action will build binaries and attach to the draft release
  8. Test binaries from draft release
  9. If all tests are fine, publish draft release

Known issues

Windows

A warning will show up mentioning the app is unsigned upon first install. This is expected.

macOS

On macOS Catalina a warning will be displayed on first install. The app won't open unless "open" is pressed. This dialog is only shown once.

GNU/Linux

If after downloading it, you can't execute the file directly, try running chmod u+x ./jitsi-meet-x86_64.AppImage

NOTE for old GNU/Linux distributions

You might get the following error:

FATAL:nss_util.cc(632)] NSS_VersionCheck("3.26") failed. NSS >= 3.26 is required.
Please upgrade to the latest NSS, and if you still get this error, contact your
distribution maintainer.

If you do, please install NSS (example for Debian / Ubuntu):

sudo apt-get install libnss3

Translations

The json files are for all the strings inside the application and can be translated here.

New translations require the addition of a line in index.js.

Localize desktop file on linux requires the addition of a line in package.json. Please search for Comment[hu] as an example to help add your translation of the English string Jitsi Meet Desktop App for your language.

License

Apache 2. See the LICENSE file.

Community

Jitsi is built by a large community of developers, if you want to participate, please join community forum.

jitsi-meet-electron's People

Contributors

saghul avatar csett86 avatar akshitkrnagpal avatar hristoterezov avatar dependabot[bot] avatar andrei-gavrilescu avatar ovari avatar virtuacoplenny avatar awlx avatar damencho avatar jallamsetty1 avatar miwie avatar jrie avatar imdatceleste avatar emcho avatar lpj145 avatar martindelille avatar depressiverobot avatar neroburner avatar theevilskeleton avatar ribero avatar rogeriomq avatar to-ba avatar yu-re-ka avatar bsimml avatar chref avatar horymury avatar 532910 avatar t2d avatar xosecalvo avatar

Watchers

James Cloos avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.