pavlobu

    pavlobu/deskreen

    Deskreen turns any device with a web browser into a secondary screen for your computer. ⭐️ Star to support our work!

    web
    blueprintjs
    darkwire-io
    deskreen
    easy-to-use
    electon-app
    electron
    electron-react-boilerplate
    electronjs
    end-to-end-encryption
    linuxapp
    macosapp
    sceen-sharing-to-multiple-devices
    second-screen
    share-app-window
    share-screen
    testcafe
    typescript
    webrtc
    wifi
    windowsapp
    TypeScript
    AGPL-3.0
    19.7K stars
    1.1K forks
    19.7K watching
    Updated 2/27/2026
    View on GitHub
    Backblaze Advertisement

    Loading star history...

    Health Score

    5.6

    Weekly Growth

    +0

    +0.0% this week

    Contributors

    1

    Total contributors

    Open Issues

    11

    Generated Insights

    About deskreen

    Deskreen CE (Community Edition)

    platform (Over 2M downloads during 5 years since launch)

    Deskreen Logo

    Deskreen turns any device with a web browser into a secondary screen for your computer

    To learn more visit our website: deskreen.com

    Deskreen is an electron.js based application that uses WebRTC to make a live stream of your computer screen to a web browser on any device. It is available for MacOS, Windows and Linux operating systems. The current open-source Community Edition version has limited features. If you need more features please consider upgrading to Pro version for more features when it is released.


    ▶️ See how people use Deskreen on Youtube (video tutorials, demos, use cases for Deskreen day to day usage)


    Deskreen Frequently Asked Questions


    Deskreen Github Discussion Threads

    Read and Respect our Contributor Covenant Code of Conduct When Writing in our Discussion Threads.

    Announcements Channel in Discussions

    Some progress and updates on Deskreen can be found here.



    • Bugs General - for general bug reports if you don't know dev environment details. Please include Deskreen version! If you saw a bug and know your dev environment, and how to reproduce it, please consider opening a new Issue labeled as Bug and provide full details.

    • General Discussion - for general discussion. For example how did you find out about Deskreen? Or send cheers and thanks to anyone in Deskreen's community members. 🎉


    • Enhancements and New Features for Deskreen - share your ideas of what improvements can be done to Deskreen. Issues created with enhancement tag should be related to some concrete example of change in UI, Security patch, Performance improvement with some concrete notes on how you think the problem should be approached. Otherwise for general improvements with short paragraphs post your thoughts here.





    NOTE: We are looking for a solution to get rid from Dummy Display Plugs while using Deskreen as a second screen. Your code support is highly valuable and welcome in Deskreen!

    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!

    Installing with binaries

    Windows

    • Get the .msi or .exe file from Releases

    Mac

    • Get the .dmg file from Releases

    • Or get from Homebrew: brew install --cask deskreen

    Linux

    • Debian and Ubuntu based distributions (deb)

    • Enterprise Linux based distributions (rpm)

    • Arch Linux AUR Package

    • AppImage for other distributions

    Get Started for Developers

    Prerequisites

    You will need to have node>=v23 pnpm>=v10.20.0 installed.

    1. git clone this repo
    2. pnpm i
    3. cd ./src/client-viewer && pnpm i && cd ../..
    4. pnpm clean && pnpm build && pnpm start -- run in prod like mode

    for more pnpm commands look at package.json

    Maintainer

    License

    AGPL-3.0 License © Pavlo (Paul) Buidenkov

    Electron-Vite MIT License © electron-vite-react

    React MIT License © Facebook, Inc. and its affiliates

    Vite MIT License © Vite.js

    Electron Builder MIT License © electron-builder contributors

    Apache 2.0 © blueprintjs

    simple-peer MIT. Copyright © Feross Aboukhadijeh

    tweetnacl ISC License © Dmitry Chestnykh, Devi Mandiri, and contributors (https://github.com/dchest/tweetnacl-js)

    darkwire.io MIT License © darkwire/darkwire.io

    And many many others...

    Thanks

    🙏 Many thanks to all 🌍 open source community members and maintainers of libraries used in this project.

    Discover Repositories

    Search across tracked repositories by name or description