Skip to content

Deskreen fork - As if your screen is "echoing" on another device - Easy ScreenShare - Transform other devices into virtual displays.

License

Notifications You must be signed in to change notification settings

rozsazoltan/echoscreen

Repository files navigation

EchoScreen

Important

EchoScreen is a forked version of Deskreen from 2025, created with minor modifications. It was not made for profit or personal fame, but solely for implementing personal fixes for personal use. The project was published only because of its open-source origins. Regardless, all my respect goes to Deskreen.

Whats changed

v3.2.0

  • New icon and name – for better differentiation from v2
  • The video automatically zooms in on click (due to devices that are difficult to navigate with a mouse, e.g., TVs)

v3.0.0

  • Removed banner – it was unnecessary.
  • Removed donate button – original project was inactive since 2022.
  • Random PIN generation – I want to share the screen with my TV, and while a random PIN provides security, it was more frustrating than useful for me.
  • Original name and icon retained if you just want to run a version without distracting elements.

Known issue

  • "No Wifi or LAN connection" error – This project is compatible only with Node.js versions between v14 and v20. If the build is compiled using a higher Node.js version, this error may occur.
  • Automatic fullscreen without user interaction does not work due to browser security policies. (See: #11)

Contribute

Requirements

  • Node.js v16.x
  • yarn v1.x
  • react-scripts latest
# For mise version manager
mise use node@16

# For nvm version manager
nvm use 16.20.2
npm i -g yarn react-scripts
yarn install
cd ./app/client; yarn install --frozen-lockfile ; cd ./../../ ; yarn install --frozen-lockfile

How to start project

# Dev Mode
yarn dev

# Prod Mode
yarn start

How to make build

# Win 64bit
yarn package-win

# Win 32bit
yarn package-win-32

# macOS
yarn package-mac

# Linux
yarn package-linux

Release

Conventional commits

We aim to make code changes more transparent by using conventional commits. This convention helps keep commit messages clear and structured, making it easier to understand what kind of changes have been made.

For more details, see the official specification at conventionalcommits.org.

Semantic versioning

Version numbers are released semantically to clearly indicate the nature of changes in each version.

  • X - major version: changes that are not backward compatible
  • Y - minor version: backward-compatible new features
  • Z - patch version: backward-compatible bug fixes

For example, version v2.5.1 means major version 2, minor version 5, and patch version 1.

The official specification for semantic versioning can be found at semver.org.

Prepare PR and Build

To release a new version, we use GitHub Actions. First, a "Prepare PR" (pull request) is created for the new version. This PR automatically updates the necessary files, though some manual edits might still be needed, for example, in the CHANGELOG or other documentation. Once the PR is merged, the release process starts automatically, triggering the build of installers for Windows, macOS, and Linux.

Forked from Deskreen

This project is a modified version of Deskreen, originally created by pavlobu.

Deskreen is licensed under the GNU Affero General Public License v3.0 (AGPL-3.0).
AGPL-3.0 License © Pavlo (Paul) Buidenkov

License

This project is a fork of Deskreen, originally created and licensed by Pavlo (Paul) Buidenkov under the GNU Affero General Public License v3.0 (AGPL-3.0).

Modifications © 2025–present Zoltán Rózsa

This modified version is also licensed under the AGPL-3.0.
For full license terms, see the LICENSE file.

Copyright

AGPL-3.0 License © Pavlo (Paul) Buidenkov
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

Thanks

We express our sincere gratitude to Pavlo (Paul) Buidenkov for originally creating Deskreen and for his long-term, selfless dedication to maintaining it. His work laid the foundation for everything that followed, and we hold his contribution in the highest regard.

We also thank the Electron React Boilerplate community for providing a well-structured starter template that greatly accelerated the early stages of Deskreen's development.

Appreciation goes to GitHub Actions for enabling a dependable continuous integration system, which has been essential throughout the development process.

Finally, a heartfelt thank you to the broader open-source community and to the maintainers of the libraries used in this project. Your ongoing efforts make projects like this possible.

Motivation: Because together, nothing is impossible.