CrossDesk logo

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 · 中文

Platforms

Release Build License: GPL v3 Stars

Ko-fi GitHub Sponsors AFDIAN

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-…deb for an existing desktop, or crossdesk-virtual-desktop-xfce-…deb for 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

  1. 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.
  2. Connect. On another computer, enter the host's 9-digit ID and click Connect. Native mobile clients and the Web Client can also connect.
  3. 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.

CrossDesk main window with local credentials, remote connection controls, and recent devices; demonstration data

DeskHub

View devices by group, click a preview to enlarge it, and take control when needed. Batch actions include connecting, muting, and sending files.

DeskHub with six demonstration remote desktops and its management toolbar

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.

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.

S
Description
A lightweight cross-platform remote desktop software | 一个轻量级跨平台远程桌面软件。
Readme
70 MiB
Languages
C++ 99%
Objective-C++ 0.5%
Shell 0.3%
Xmake 0.1%
NSIS 0.1%