kunkundi / crossdesk
git clone https://github.com/kunkundi/crossdesk.git
v1.7.1-20261019 · 3d ago
A lightweight, cross-platform remote desktop software with support for Web Client access | 一款支持 Web 客户端访问的轻量级跨平台远程桌面软件。
+7
stars, 24h · #4,718
+~35
stars, 7 days · #5,465
+~150
stars, 30 days · #5,054
4.5k
★ total · +1% this week
442
forks · 12 open issues
Star history (as recorded here)
LanguageC++
LicenseGPL-3.0
Created2023-11-20 (2y ago)
Last pushtoday
Watchers25
OwnerUser
GitHub topics
audio-streamingcodeccpluspluscross-platformkcplibdatachannelremote-controlremote-desktoprtcrtpsdl3video-streamingweb-clientwebrtcxmake
Links
- GitHub: github.com/kunkundi/crossdesk
- Homepage: https://www.crossdesk.cn
- Releases · Issues · Hacker News mentions
README excerpt
CrossDesk 轻量、跨平台的远程桌面,支持电脑、浏览器和移动端连接,用桌面墙集中查看与操控多台设备。 官方网站 · 下载客户端 · 打开 Web 客户端 · English CrossDesk 让你从电脑、浏览器或手机连接远端电脑,也能通过 **桌面墙(DeskHub)** 集中查看与操控多台设备。项目基于 MiniRTC,支持自托管。 主要功能 · 下载与平台支持 · 快速连接 · 界面预览 · 使用指南 · 自托管 · 构建与反馈 · 赞助 ## 主要功能 - **跨平台远控:** Windows、macOS、Linux 桌面互控,浏览器及原生 iOS / Android 客户端访问电脑;鸿蒙 PC 与移动端处于开发阶段。 - **桌面墙:** 多设备实时预览、分组、放大操控、群控和批量文件分发。 - **画面与声音:** H.264 / AV1、硬件编解码、远端音频,以及会话内画质和帧率调整;可用能力随平台与设备而异。 - **日常协作:** 多显示器切换、键鼠与组合键、文本剪贴板、文件传输。 - **部署与运维:** P2P 直连、TURN 中继、SRTP 媒体加密、自托管,以及 Windows 登录前远控和 Linux 无头运行。 ## 下载与平台支持 从 官方网站 或 GitHub Releases 下载与你的系统和 CPU 架构匹配的安装包;也可直接打开 Web 客户端。 | 平台 | 支持范围与安装要求 | | --- | --- | | Windows | **控制 / 被控**;Windows 10+,x64;`.exe` 安装包,也支持便携构建 | | macOS | **控制 / 被控**;macOS 14.0+;按 Intel / Apple Silicon 选择 x64 / arm64 `.pkg` | | Linux | **控制 / 被控**;Ubuntu 20.04+、glibc 2.31 基线;amd64 / arm64 `.deb` | | iOS / iPadOS | **仅控制**;iOS 16.0+;发布包为未签名应用,需自行签名,或使用 Xcode 构建安装 | | Android | **仅控制**;Android 8.0+,arm64;下载已签名 APK 安装,或自行构建 | | 鸿蒙 PC(开发版) | **控制 / 被控**;API 26,arm64;使用 DevEco 构建并签名 HAP,仍在进行真机验收 | | 鸿蒙手机 / 平板(开发版) | **仅控制**;API 20+,arm64;使用 DevEco 构建并签名 HAP,仍在进行真机验收 | | Web | **仅控制**;支持 WebRTC 的浏览器;无需在控制端安装客户端 | 系统要求按当前源码与构建配置整理,具体安装包以对应 Release 说明为准。各客户端的功能范围见 移动端与鸿蒙。 - **Linux:** 已有桌面选普通版 `crossdesk-linux-…deb`;需要独立 Xfce 桌面的服务器选 `crossdesk-virtual-desktop-xfce-…deb`。两者选择其一,安装与启动方法见 使用指南 和 无头运行。 - **macOS:** 首次运行时按提示授予屏幕录制及辅助功能权限;前者用于桌面采集,后者用于远程键鼠输入。权限说明 - **iOS / 鸿蒙:** 签名与构建步骤分别见 iOS 和 鸿蒙,不要将未签名产物当作可直接安装的应用。 ## 快速连接 1. **准备被控电脑。** 安装并运行 CrossDesk,等待显示“已连接服务器”,查看“本桌面”中的本机 ID 和密码。 2. **发起连接。** 在另一台电脑的 CrossDesk 中输入被控电脑的 9 位 ID,点击“连接”;也可使用原生移动端或 Web 客户端。 3. **验证密码。** 输入被控电脑当前的连接密码,等待远程画面出现。桌面端可勾选“记住密码”,后续从“近期连接”重连。 使用自建服务器时,两端需要接入同一服务。更多连接、密码及浏览器操作见 使用指南;连接失败、黑屏或无法操作键鼠时先查阅 常见问题。 ## 界面预览 ### 桌面客户端 本机凭据、远程连接和近期设备集中在主窗口,左上角进入桌面墙。 ### 桌面墙(DeskHub) 按分组查看多台设备,点击画面放大,再选择接管操控;支持批量连接、静音与文件分发。 群控会向所有已连接设备发送输入;关闭桌面墙会断开全部远程连接。操作范围与详细用法见 桌面墙使用指南。截图使用演示数据,更多界面及来源见 使用指南 与 截图说明。 ## 会话操作与设置 远程会话支持显示器切换、画质与帧率调整、声音、文本剪贴板同步和文件传输。工具栏还可查看网络状态、控制隐私屏;桌面设置中可配置编码、中继、自托管与桌面墙画面预算。 - 会话操作:工具栏、文本剪贴板、文件保存和隐私屏。 - 客户端设置与更新:常规设置、桌面墙传输及版本检查。 - 桌面墙技术说明:预览订阅、带宽分配、协议与兼容性。 ## 移动端与鸿蒙 ### iOS / iPadOS 原生控制端支持触控与虚拟鼠标、多显示器、远端音频、文件收发和文本剪贴板。悬浮菜单的“剪贴板”按钮可主动发送本机文本,单次上限为 128 KiB。iPhone / iPad 当前不能作为被控桌面。 使用说明 · 构建与签名 ### Android 原生控制端支持触控与外接键鼠、多屏切换、文件收发、文本剪贴板和会话画面设置。H.264 / AV1 优先使用硬件解码,不支持或运行失败时回退到软件解码;切换应用时优先通过画中画保持会话,画中画不可用时尝试前台服务保活。当前不提供手机被控或隐私屏功能。 使用说明 · 源码构建 ### 鸿蒙 HarmonyOS(开发版) PC 端可控制和被控制,复用桌面界面与桌面墙;手机和平板使用原生 ArkUI 控制端,支持触控、外接键鼠、多屏、文本剪贴板和文件收发。PC 录屏与输入控制需要系统授权,真机和长期会话验收仍在进行。 使用与限制 · 构建与签名 · PC 说明 · 移动端功能 ## 无人值守与无头运行 - **Windows:** CrossDesk Service 支持锁屏、登录和安全桌面控制。安装版可额外启用登录前远控,使用独立设备 ID 和密码;普通“开机自启”仅在用户登录后启动客户端。功能限制及启停命令见 Windows 无人值守指南。 - **Linux:** 可复用现有桌面,也可创建独立 Xvfb / Xfce 会话,操作方法见 Linux 无头运行。 ## 自托管 可自行部署信令与 TURN 中继服务,并在客户端“设置 → 常规 → 自托管配置”中启用。控制端与被控端需要接入同一服务。 部署指南 · 客户端配置 · 服务端源码 · Web 客户端部署 ## 构建与反馈 - 源码构建:桌面端依赖、编译参数与打包;移动端请使用上方各平台的构建指南。 - GUI 架构:桌面界面、平台实现与工程结构。 - 常见问题:连接失败、黑屏、系统权限、文件位置与构建问题。 - 提交问题或建议:请提供两端系统、客户端版本、连接方式和可复现步骤。 ## 支持