Website: https://www.deskreen.com
Deskreen is an electron.js
based application that uses WebRTC
to make a live stream of your
desktop to a web browser on any device.
It is built on top of Electron React Boilerplate
For better security mechanism, end-to-end encryption is implemented, which is inspired by
darkwire.io. The difference is that it is rewritten
in Typescript
and transformed to use node-forge
instead of window.crypto.subtle
.
Why this was made? Because a client served with http
without SSL, which makes window.crypto. subtle
unavailable.
(TODO: write more docs about Deskreen architecture)
You will need to have node
npm
and yarn
installed
globally on your machine.
- git clone this repo
yarn install
yarn dev
-- run in dev mode with live updates
yarn start
-- run in production mode to test, without packaging
yarn package
-- to package an app and make executables available in release
folder
yarn test
-- run all unit tests
yarn build-ux && yarn test-ux
-- run User Experience tests (no tests for app/client
yet)
yarn test-watch-not-silent
-- run tests in watch mode with console logs only for host app, excluding app/client
yarn test -- -u
-- update snapshots
yarn test
-- run client tests in watch mode
test:nowatch
-- run client tests a single time
yarn test -- -u
-- update snapshots
yarn coverage
-- when run from project root, generates a coverage report for host
and app/client
You need to install Sonar Qube community edition for your machine. And sonar-scanner. Then add sonar scanner to your PATH.
You need to run sonar-scanner separately on root directory
and on app/client
directory.
Luckily for you sonar scanner is automatically triggered after husky
checks.
So you only need to install and configure SonarCube locally and
create two separate projects in SonarCube panel.
First project for host app, and second project for client viewer app.
TODO: add how to get started with local SonarCube for Deskreen in details.
- All versions git tags should start with
v
ex.v1.0.0
- Before making a new release with
git push <version-tagname>
set version to<version-tagname>
! withoutv
in the beginning! (ex.1.0.0
-- not start withv
) in these three files:package.json
-- inversion
key ex.1.0.0
app/package.json
-- inversion
key ex.1.0.0
app/package-lock.json
-- inversion
key ex.1.0.0
AGPL-3.0 License © Pavlo (Paul) Buidenkov
Deskreen Logo PNG Image -- © Nadiia Plaunova
Apache 2.0 © blueprintjs
MIT © Electron React Boilerplate
simple-peer MIT. Copyright (c) Feross Aboukhadijeh.
Click to donate on Deskreen's Patreon page: DONATE!