12 KiB
CrossDesk
A lightweight, cross-platform remote desktop for computers, browsers, and mobile devices, with DeskHub for viewing and controlling multiple desktops.
Website · Download · Open Web Client · 中文
CrossDesk connects your computers from desktop, browser, and mobile clients, with DeskHub for viewing and controlling multiple devices together. It is built on MiniRTC and supports self-hosting.
Features · Download and platforms · Quick start · Preview · User guide · Self-hosting · Build and feedback · Sponsor
Features
- Cross-platform access: control Windows, macOS, and Linux desktops from computers, browsers, or native iOS / Android clients. HarmonyOS PC and mobile clients are in development.
- DeskHub: live multi-device previews, groups, enlarged control, group input, and batch file distribution.
- Video and audio: H.264 / AV1, hardware codecs, remote audio, and in-session quality and frame-rate controls. Capabilities depend on the platform and device.
- Everyday controls: monitor switching, keyboard and mouse input, shortcuts, text clipboard, and file transfer.
- Deployment: direct P2P connections, TURN relay, SRTP media encryption, self-hosting, Windows access before sign-in, and Linux headless operation.
Download and platform support
Get a package matching your OS and CPU architecture from the website or GitHub Releases, or open the Web Client directly.
| Platform | Support and installation |
|---|---|
| Windows | Control + host. Windows 10+, x64; .exe installer, with portable builds also supported |
| macOS | Control + host. macOS 14.0+; x64 / arm64 .pkg for Intel / Apple Silicon |
| Linux | Control + host. Ubuntu 20.04+, glibc 2.31 baseline; amd64 / arm64 .deb |
| iOS / iPadOS | Control only. iOS 16.0+; sign the unsigned release app yourself, or build and install with Xcode |
| Android | Control only. Android 8.0+, arm64; install the signed APK or build from source |
| HarmonyOS PC (development) | Control + host. API 26, arm64; build and sign a HAP with DevEco; physical-device validation is ongoing |
| HarmonyOS phones / tablets (development) | Control only. API 20+, arm64; build and sign a HAP with DevEco; physical-device validation is ongoing |
| Web | Control only. A WebRTC-capable browser; no client installation on the controlling device |
Requirements follow the current source and build configuration. Check the release notes for the downloaded package. Client capabilities are summarized under Mobile and HarmonyOS.
- Linux: use
crossdesk-linux-…debfor an existing desktop, orcrossdesk-virtual-desktop-xfce-…debfor a server needing a separate Xfce desktop. Choose one. See installation details and headless operation. - macOS: grant Screen Recording and Accessibility when prompted on first launch. These enable desktop capture and remote keyboard/mouse input. See permissions.
- iOS / HarmonyOS: follow the iOS or HarmonyOS (Chinese) signing and build guide. Unsigned artifacts cannot be installed directly.
Quick start
- Prepare the host. Install and run CrossDesk on the computer to control. Wait for the server-connected status, then find its ID and password under Local Desktop.
- Connect. On another computer, enter the host's 9-digit ID and click Connect. Native mobile clients and the Web Client can also connect.
- Verify the password. Enter the host's current connection password and wait for the desktop to appear. On desktop, select Remember password to reconnect later from Recent Connections.
For self-hosting, both ends must use the same service. See the user guide for connection, password, and browser controls, or the FAQ for failed connections, blank video, and input problems.
Preview
Desktop client
Local credentials, remote connections, and recent devices share the main window. Open DeskHub from the top-left corner.
DeskHub
View devices by group, click a preview to enlarge it, and take control when needed. Batch actions include connecting, muting, and sending files.
Group control sends input to all connected devices; closing DeskHub disconnects all remote connections. See the DeskHub user guide for exact scopes and controls. Screenshots use demonstration data; more views and sources are in the user guide and screenshot notes.
Session controls and settings
Remote sessions support monitor switching, video quality and frame-rate controls, audio, text clipboard synchronization, and file transfer. The toolbar also provides network statistics and privacy screen controls. Desktop settings configure codecs, relay, self-hosting, and the DeskHub video budget.
- Session controls: toolbar, text clipboard, received files, and privacy screens.
- Client settings and updates: general options, DeskHub video settings, and version checks.
- DeskHub technical guide (Chinese): preview subscriptions, bandwidth allocation, protocol, and compatibility.
Mobile and HarmonyOS
iOS / iPadOS
The native controller supports touch and a virtual mouse, multiple monitors, remote audio, file transfers, and text clipboard. Tap 剪贴板 (Clipboard) in the floating menu to send local text, up to 128 KiB per transfer. iPhone and iPad cannot currently act as remote hosts. The native interface uses Chinese labels.
User guide · Build and signing
Android
The native controller supports touch and external keyboards/mice, monitor switching, file transfers, text clipboard, and video settings. H.264 / AV1 use hardware decoding when available, with software fallback when unsupported or when decoding fails. Active sessions use Picture in Picture when switching apps, with a foreground service as a fallback when Picture in Picture is unavailable. Phone-as-host and privacy screens are not currently supported.
User guide · Build from source (Chinese)
HarmonyOS (development)
The PC client acts as both controller and host, sharing the desktop UI and DeskHub. Phones and tablets use a native ArkUI controller with touch, external input devices, monitors, text clipboard, and file transfers. PC screen capture and input control require system authorization. Physical-device and long-session validation are ongoing.
Usage and limits · Build and signing · PC guide · Mobile features (platform guides in Chinese)
Unattended and headless access
- Windows: CrossDesk Service supports lock screens, sign-in, and secure desktops. Installed builds can enable access before sign-in with a separate device ID and password; ordinary Auto Start runs after a user signs in. See the Windows unattended guide for capabilities, limits, and commands.
- Linux: reuse an existing desktop or create an independent Xvfb / Xfce session. See Linux headless operation.
Self-hosting
Host your own signaling and TURN services, then enable them under Settings → General → Self-Hosted Config. Both the controller and host must use the same service.
Deployment guide · Client setup · Server source · Web client deployment
Build and feedback
- Build from source: desktop dependencies, build options, and packaging. Use the platform guides above for mobile builds.
- GUI architecture (Chinese): desktop UI, platform implementation, and project structure.
- FAQ: connections, blank video, permissions, received files, and build issues.
- Report an issue or suggestion: include both operating systems, client versions, connection mode, and reproduction steps.
Support CrossDesk
If CrossDesk is useful to you, consider sponsoring its continued development, cross-platform testing, and maintenance through one of the platforms below. Thank you for your support!
Ko-fi · GitHub Sponsors · AFDIAN
Acknowledgements and license
Thanks to HelloGitHub, Ruanyf Weekly, and the LinuxDo community for featuring CrossDesk and contributing feedback.
Copyright (c) 2026 JUNKUN DI.
CrossDesk is licensed under GPL-3.0-only. See the Privacy Policy.
Code signing policy
CrossDesk uses SignPath.io to sign official Windows releases built from this repository.
Free code signing provided by SignPath.io, certificate by SignPath Foundation.

