同步操作将从 Gitee 极速下载/Deskreen 强制同步,此操作会覆盖自 Fork 仓库以来所做的任何修改,且无法恢复!!!
确定后同步将在后台操作,完成时将刷新页面,请耐心等待。
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.
Want to add a new language support for Deskreen? Or you found a typo in existing translations of Deskreen App or website? Here are step by step guides:
Read and Respect our Contributor Covenant Code of Conduct When Writing in our Discussion Threads.
Some progress and updates on Deskreen can be found here.
Display Dummy Plugs are good temporary solution, but it is not that good for everyone. If you are a seasoned Windows or Linux or MacOS hacker with a knowledge of low level tweaks and tricks, you can help us to make Deskreen better! On a long run Deskreen seeks for getting rid of Display Dummy Plugs, because most people don't like using them. Sometimes they can't use them because all available display ports are already taken. So we need to have native drivers for Win / Mac / Linux that will help to enable virtual display without Dummy Display Plugs. There are already working commercial solutions out there with their own drivers which they don't disclose, but this task is doable with a help of entire community. The goal of Deskreen is to enable community power and knowledge to overcome these technical challenges and make it a go-to second screen solution that everyone will benefit from!
We plan on making virtual display driver support for each of three main operating systems and place all OS related codes in ./drivers
subdirectory of this project.
You can find brief requirements for driver API in ./drivers/README.md
.
Share your valuable knowledge on how to create virtual desktop without a Dummy Display Plug in this discussion thread.
Thank you in advance!
Get the .dmg file from Releases
Or get from Homebrew: brew install --cask deskreen
Debian and Ubuntu based distributions (deb)
Enterprise Linux based distributions (rpm)
Arch Linux AUR Package
AppImage for other distributions
yarn test-all
locally to make sure you don't have any errors, before submitting your PRYou will need to have node
npm
and yarn
installed
globally on your machine.
cd app/client; yarn install ; cd ../../ ; yarn install
yarn dev
-- run in dev mode with live updatesyarn start
-- run in production mode to test, without packaging
yarn package
-- to package an app and make executables available in release
folder
package.json
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
app/client
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
yarn test
?in root ./
folder of project run this:
yarn jest --updateSnapshot
in Deskreen Viewer ./app/client
folder of project run this:
cd app/client
SKIP_PREFLIGHT_CHECK=true yarn test:nowatch -- -u
yarn test-all
locally to make sure you don't have any errors, before submitting your PRYou 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.
v
ex. v1.0.0
git push <version-tagname>
set version
to <version-tagname>
! without v
in the beginning! (ex. 1.0.0
-- not start with v
) in these three files:
package.json
-- in version
key ex. 1.0.0
app/package.json
-- in version
key ex. 1.0.0
app/package-lock.json
-- in version
key ex. 1.0.0
You can submit your pull request with fix on Deskreen website locales repo
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
GNU General Public License (GPL) Version 2 node-forge
ISC Copyright (c) 2019, Mapbox pixelmatch
🙏 Special thanks to Electron React Boilerplate community for providing a good kickstart template boilerplate code for electron project, that really helped a lot to get started with development of Deskreen.
🙏 Thanks to Github workflows for enabling a robust CI pipeline for the needs of 'forging' 🛠️ Deskreen.
🙏 Many thanks to all 🌍 open source community members and maintainers of libraries used in this project.
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。