LOGO OA教程 ERP教程 模切知识交流 PMS教程 CRM教程 开发文档 其他文档  
 
网站管理员

[点晴永久免费OA]CrossDesk:一个免费开源的轻量级跨平台远程桌面软件,支持 Web 客户端访问

admin
2025年11月17日 15:0 本文热度 258

 

开源地址:https://github.com/kunkundi/crossdesk

简介

CrossDesk 是一个轻量级的跨平台远程桌面软件,支持 Web 端控制远程设备。

CrossDesk 是 MiniRTC 实时音视频传输库的实验性应用。MiniRTC 是一个轻量级的跨平台实时音视频传输库。它具有网络透传(RFC5245),视频软硬编解码(H264/AV1),音频编解码(Opus),信令交互,网络拥塞控制,传输加密(SRTP)等基础能力。

系统要求

平台最低版本
WindowsWindows 10 及以上 (64 位)
macOSmacOS Intel 15.0 及以上 ( 大于 14.0 小于 15.0 的版本可自行编译实现兼容 )
macOS Apple Silicon 14.0 及以上
LinuxUbuntu 22.04 及以上 ( 低版本可自行编译实现兼容 )


使用

在菜单栏“对端ID”处输入远端桌面的ID,点击“→”即可发起远程连接。

 

如果远端桌面设置了连接密码,则本端需填写正确的连接密码才能成功发起远程连接。

 

发起连接前,可在设置中自定义配置项,如语言、视频编码格式等。 

 

Web 客户端

浏览器访问 CrossDesk Web Client。 输入 远程设备 ID 与 密码,点击连接即可接入远程设备。如图,iOS Safari 远程控制 Win11

 

如何编译

依赖:

Linux环境下需安装以下包:

sudo apt-get install -y software-properties-common git curl unzip build-essential libx11-dev libxrandr-dev libxinerama-dev libxcursor-dev libxi-dev libxcb-randr0-dev libxcb-xtest0-dev libxcb-xinerama0-dev libxcb-shape0-dev libxcb-xkb-dev libxcb-xfixes0-dev libxv-dev libxtst-dev libasound2-dev libsndio-dev libxcb-shm0-dev libasound2-dev libpulse-dev

编译

git clone https://github.com/kunkundi/crossdesk.git
cd crossdesk
git submodule init 
git submodule update
xmake b -vy crossdesk

运行

xmake r crossdesk

无 CUDA 环境下的开发支持

对于未安装 CUDA 环境的 Linux 开发者,这里提供了预配置的 Ubuntu 22.04 Docker 镜像。该镜像内置必要的构建依赖,可在容器中开箱即用,无需额外配置即可直接编译项目。

进入容器,下载工程后执行:

export CUDA_PATH=/usr/local/cuda
export XMAKE_GLOBALDIR=/data
xmake b --root -vy crossdesk

对于未安装 CUDA 环境的 Windows 开发者,执行下面的命令安装 CUDA 编译环境:

xmake require -vy "cuda 12.6.3"

安装完成后执行:

xmake require --info "cuda 12.6.3"

输出如下:

根据上述输出获取到 CUDA 的安装目录,即 installdir 指向的位置。将 CUDA_PATH 加入系统环境变量,或在终端中输入:

set CUDA_PATH=path_to_cuda_installdir

重新执行:

xmake b -vy crossdesk

注意

运行时如果客户端状态栏显示 未连接服务器,请先在 CrossDesk 官方网站 安装客户端,以便在环境中安装所需的证书文件。

关于 Xmake

安装 Xmake

使用 curl:

curl -fsSL https://xmake.io/shget.text | bash

使用 wget:

wget https://xmake.io/shget.text -O - | bash

使用 powershell:

irm https://xmake.io/psget.text | iex

编译选项

# 切换编译模式
xmake f -m debug/release
# 可选编译参数
-r :重新构建目标
-v :显示详细的构建日志
-y :自动确认提示
# 示例
xmake b -vy crossdesk

运行选项

# 使用调试模式运行
xmake r -d crossdesk

更多使用方法可参考 Xmake官方文档 。

自托管服务器

推荐使用Docker部署CrossDesk Server。

sudo docker run -d \
  --name crossdesk_server \
  --network host \
  -e EXTERNAL_IP=xxx.xxx.xxx.xxx \
  -e INTERNAL_IP=xxx.xxx.xxx.xxx \
  -e CROSSDESK_SERVER_PORT=xxxx \
  -e COTURN_PORT=xxxx \
  -e MIN_PORT=xxxxx \
  -e MAX_PORT=xxxxx \
  -v /path/to/your/certs:/crossdesk-server/certs \
  -v /path/to/your/db:/crossdesk-server/db \
  -v /path/to/your/logs:/crossdesk-server/logs \
  crossdesk/crossdesk-server:latest

上述命令中,用户需注意的参数如下:

  • EXTERNAL_IP:服务器公网 IP , 对应 CrossDesk 客户端自托管服务器配置中填写的服务器地址

  • INTERNAL_IP:服务器内网 IP

  • CROSSDESK_SERVER_PORT:自托管服务使用的端口,对应 CrossDesk 客户端自托管服务器配置中填写的服务器端口

  • COTURN_PORT: COTURN 服务使用的端口, 对应 CrossDesk 客户端自托管服务器配置中填写的中继服务端口

  • MIN_PORT/MAX_PORT:COTURN 服务使用的端口范围,例如:MIN_PORT=50000, MAX_PORT=60000,范围可根据客户端数量调整。

  • /path/to/your/certs:证书文件目录

  • /path/to/your/db:CrossDesk Server 设备管理数据库

  • /path/to/your/logs:日志目录

注意

  • /path/to/your/ 是示例路径,请替换为你自己的实际路径。挂载的目录必须事先创建好,否则容器会报错。

  • 服务器需开放端口:3478/udp,3478/tcp,MIN_PORT-MAX_PORT/udp,CROSSDESK_SERVER_PORT/tcp。

证书文件

客户端需加载根证书文件,服务端需加载服务器私钥和服务器证书文件。

如果已有SSL证书的用户,可以忽略下面的证书生成步骤。

对于无证书的用户,可使用下面的脚本自行生成证书文件:

# 创建证书生成脚本
vim generate_certs.sh

拷贝到脚本中

#!/bin/bash
set -e
# 检查参数
if [ "$#" -ne 1 ]; then
    echo "Usage: $0 <SERVER_IP>"
    exit 1
fi
SERVER_IP="$1"
# 文件名
ROOT_KEY="crossdesk.cn_root.key"
ROOT_CERT="crossdesk.cn_root.crt"
SERVER_KEY="crossdesk.cn.key"
SERVER_CSR="crossdesk.cn.csr"
SERVER_CERT="crossdesk.cn_bundle.crt"
FULLCHAIN_CERT="crossdesk.cn_fullchain.crt"
# 证书主题
SUBJ="/C=CN/ST=Zhejiang/L=Hangzhou/O=CrossDesk/OU=CrossDesk/CN=$SERVER_IP"
# 1. 生成根证书
echo "Generating root private key..."
openssl genrsa -out "$ROOT_KEY" 4096
echo "Generating self-signed root certificate..."
openssl req -x509 -new -nodes -key "$ROOT_KEY" -sha256 -days 3650 -out "$ROOT_CERT" -subj "$SUBJ"
# 2. 生成服务器私钥
echo "Generating server private key..."
openssl genrsa -out "$SERVER_KEY" 2048
# 3. 生成服务器 CSR
echo "Generating server CSR..."
openssl req -new -key "$SERVER_KEY" -out "$SERVER_CSR" -subj "$SUBJ"
# 4. 生成临时 OpenSSL 配置文件,加入 SAN
SAN_CONF="san.cnf"
cat > $SAN_CONF <<EOL
[ req ]
default_bits = 2048
distinguished_name = req_distinguished_name
req_extensions = req_ext
prompt = no
[ req_distinguished_name ]
C = CN
ST = Zhejiang
L = Hangzhou
O = CrossDesk
OU = CrossDesk
CN = $SERVER_IP
[ req_ext ]
subjectAltName = IP:$SERVER_IP
EOL
# 5. 用根证书签发服务器证书(包含 SAN)
echo "Signing server certificate with root certificate..."
openssl x509 -req -in "$SERVER_CSR" -CA "$ROOT_CERT" -CAkey "$ROOT_KEY" -CAcreateserial \
  -out "$SERVER_CERT" -days 3650 -sha256 -extfile "$SAN_CONF" -extensions req_ext
# 6. 生成完整链证书
cat "$SERVER_CERT" "$ROOT_CERT" > "$FULLCHAIN_CERT"
# 7. 清理中间文件
rm -f "$ROOT_CERT.srl" "$SAN_CONF" "$ROOT_KEY" "$SERVER_CSR" "FULLCHAIN_CERT"
echo "Generation complete. Deployment files:"
echo "  Client root certificate: $ROOT_CERT"
echo "  Server private key: $SERVER_KEY"
echo "  Server certificate: $SERVER_CERT"

执行

chmod +x generate_certs.sh
./generate_certs.sh 服务器公网IP
# 例如 ./generate_certs.sh 111.111.111.111

输出如下:

Generating root private key...
Generating self-signed root certificate...
Generating server private key...
Generating server CSR...
Signing server certificate with root certificate...
Certificate request self-signature ok
subject=C = CN, ST = Zhejiang, L = Hangzhou, O = CrossDesk, OU = CrossDesk, CN = xxx.xxx.xxx.xxx
cleaning up intermediate files...
Generation complete. Deployment files::
  Client root certificate:: crossdesk.cn_root.crt
  Server private key: crossdesk.cn.key
  Server certificate: crossdesk.cn_bundle.crt

服务端

将 crossdesk.cn.key 和 crossdesk.cn_bundle.crt 放置到 /path/to/your/certs 目录下。

客户端

  1. 点击右上角设置进入设置页面。 

 

  1. 点击点击自托管服务器配置


 

  1. 证书文件路径选择框中找到 crossdesk.cn_root.crt 的存放路径,选中 crossdesk.cn_root.crt,点击确认。


  1. 勾选使用自托管服务器配置,点击确认配置生效。


常见问题

见 常见问题 。


该文章在 2025/11/17 15:14:07 编辑过
关键字查询
相关文章
正在查询...
点晴ERP是一款针对中小制造业的专业生产管理软件系统,系统成熟度和易用性得到了国内大量中小企业的青睐。
点晴PMS码头管理系统主要针对港口码头集装箱与散货日常运作、调度、堆场、车队、财务费用、相关报表等业务管理,结合码头的业务特点,围绕调度、堆场作业而开发的。集技术的先进性、管理的有效性于一体,是物流码头及其他港口类企业的高效ERP管理信息系统。
点晴WMS仓储管理系统提供了货物产品管理,销售管理,采购管理,仓储管理,仓库管理,保质期管理,货位管理,库位管理,生产管理,WMS管理系统,标签打印,条形码,二维码管理,批号管理软件。
点晴免费OA是一款软件和通用服务都免费,不限功能、不限时间、不限用户的免费OA协同办公管理系统。
Copyright 2010-2025 ClickSun All Rights Reserved