Open-source, self-hostable remote desktop application written in Rust, offered as an alternative to TeamViewer.
kunkundi/crossdesk
A lightweight cross-platform remote desktop app with browser, desktop and mobile clients, a multi-device wall view, and self-hostable signaling and TURN relay.
Open-source alternative to:TeamViewer
AnyDesk
- Stars
- 4,535
- Forks
- 440
- Open issues
- 12
- Last commit
- 6 hours ago
What is it?
CrossDesk is a remote desktop application that lets you control a remote computer from another desktop, a web browser, or a native iOS or Android client. Desktop builds cover Windows, macOS and Linux, and a HarmonyOS version is in development.
The DeskHub feature, called the desktop wall, shows live previews of multiple devices grouped together, lets you zoom into one screen to take control, and supports group control and batch file distribution. Sessions can switch between monitors, sync text clipboard, transfer files, and adjust picture quality and frame rate, with H.264 and AV1 encoding and hardware acceleration where available.
Connections use P2P direct links with TURN relay fallback and SRTP media encryption. Teams that prefer their own infrastructure can deploy the signaling and relay services themselves. The project is built on MiniRTC and licensed under GPL-3.0.
Key features
- 01Desktop control across Windows, macOS and Linux, plus browser and native iOS and Android controllers.
- 02DeskHub multi-device wall with live previews, grouping and batch file distribution.
- 03H.264 and AV1 video with hardware encoding and decoding where supported.
- 04P2P direct connections with TURN relay fallback and SRTP encryption.
- 05Self-hostable signaling and TURN relay services.
Use cases
- Accessing a home or office computer from a laptop, phone or browser without installing a client on the controlling device.
- Monitoring and operating several remote machines from one screen through the desktop wall.
- Running a self-hosted remote access setup for a team that needs to keep connection traffic on its own servers.
- Operating headless Linux machines through an isolated virtual desktop session.
Quick start
- 1
Download the installer for your system from the official site or GitHub Releases
- 2
Install and run CrossDesk on the computer you want to control, and wait for the connected-to-server status
- 3
From another device, enter the 9-digit ID of the controlled computer and its connection password, then click connect
Things to know
- Licensed under GPL-3.0, a copyleft license that requires derivative works to be distributed under the same terms.
- iOS and Android clients can only control other devices, not be controlled.
- HarmonyOS support is still in development and has not completed real-device acceptance.
- Published iOS builds are unsigned and must be signed by you or built with Xcode.
Topics
FAQ
- What is crossdesk?
- A lightweight cross-platform remote desktop app with browser, desktop and mobile clients, a multi-device wall view, and self-hostable signaling and TURN relay. CrossDesk is a remote desktop application that lets you control a remote computer from another desktop, a web browser, or a native iOS or Android client. Desktop builds cover Windows, macOS and Linux, and a HarmonyOS version is in development.
- Is crossdesk free to use? What license does it have?
- crossdesk is open source under the GPL-3.0 license. Check the license terms before using it in commercial products.
- Is crossdesk still maintained?
- Actively maintained. The last commit to crossdesk was on Oct 21, 2026.
- What can I use crossdesk for?
- Accessing a home or office computer from a laptop, phone or browser without installing a client on the controlling device. Monitoring and operating several remote machines from one screen through the desktop wall. Running a self-hosted remote access setup for a team that needs to keep connection traffic on its own servers. Operating headless Linux machines through an isolated virtual desktop session.
- How do I install crossdesk?
- Download the installer for your system from the official site or GitHub Releases Install and run CrossDesk on the computer you want to control, and wait for the connected-to-server status From another device, enter the 9-digit ID of the controlled computer and its connection password, then click connect
- Where can I get crossdesk?
- The source code and installation instructions are on GitHub: https://github.com/kunkundi/crossdesk
Summary generated by AI from the project's README. GitHub stats refresh daily.
Related projects
Self-hosted, open-source peer-to-peer WebRTC video conferencing with browser-based rooms, screen sharing, chat and a whiteboard.
Free, open-source private screen sharing for live streams with up to 20 friends, watched in a browser or self-hosted.
An open-source, low-latency remote desktop for Linux, written in Rust with WebRTC transport and GStreamer hardware encoding.
A cross-platform FFmpeg GUI for lossless cutting, trimming and remuxing of video and audio files without re-encoding.
Self-hosted game streaming host that lets Moonlight clients stream games from your own PC or server with hardware or software encoding.