我们应该使每一个学生在毕业时候,带走的不仅仅是一些知识和技能,最重要的是要带走渴求知识的火花,并使它终生不熄地燃烧下去。——苏霍姆林斯基

GitHub - galaxy-s10/billd-desk: 基于Vue3 + WebRTC + Nodejs + Electron搭建的远程桌面控制

Billd Desk:基于 Vue3 + WebRTC + Node.js + Electron 的开源远程桌面控制程序

@galaxy-s10/billd-desk 是一个开源的、跨平台的远程桌面控制程序。它以现代前端技术栈为基础,结合 WebRTC 实时音视频通信技术和 Electron 桌面端跨平台能力,实现了远程桌面访问、远程操作等实用功能。适用于远程办公、远程协助、桌面共享等多种场景。


技术栈

  • Vue3:采用 Composition API 的现代前端框架,负责构建高性能响应式 UI。
  • WebRTC:点对点实时音视频流传输协议,实现高效的远程桌面画面流和控制指令传输。
  • Node.js:作为后端信令服务器,负责连接管理、房间分配、消息转发等核心逻辑。
  • Electron:让程序轻松打包并运行于 Windows、macOS、Linux 等主流桌面系统,获得系统级桌面捕获与输入控制能力。

项目核心功能

  1. 远程桌面实时画面传输
    通过 WebRTC 实时推送桌面捕获画面,实现流畅的远程桌面观看体验。

  2. 远程控制
    支持鼠标、键盘等控制指令的远程传递,实现真正的操控对方电脑。

  3. 音视频同步
    可选远程音频、摄像头同步,便于远程沟通与协作。

  4. 多平台支持
    兼容 Windows、macOS、Linux,适合个人和企业跨设备办公。

  5. 安全与隐私
    WebRTC 采用端到端加密,最大限度保障数据传输安全。

  6. 房间/邀请码机制
    支持通过房间号/邀请码进行远程连接,简单易用。


典型架构图

1
2
3
4
5
6
7
+-----------+         (WebRTC)         +-----------+
| 客户端A |<------------------------>| 客户端B |
| (Electron)| P2P |(Electron) |
+-----------+ +-----------+
| |
| 信令服务器 (Node.js) |
+------------<------------------------+
  • 客户端间通过 WebRTC 建立点对点数据/媒体通道
  • 信令服务器负责协商、连接建立和用户管理

快速上手

  1. 克隆仓库

    1
    2
    git clone https://github.com/galaxy-s10/billd-desk.git
    cd billd-desk
  2. 安装依赖

    1
    2
    pnpm install
    # 或 yarn install / npm install
  3. 启动信令服务器

    1
    2
    pnpm run server
    # 或 yarn server / npm run server
  4. 启动 Electron 客户端

    1
    2
    pnpm run electron:dev
    # 或 yarn electron:dev / npm run electron:dev
  5. 连接与远控

    • 启动后生成房间号或邀请码,另一端输入即可远程连接。
    • 支持画面观看、鼠标键盘控制等核心功能。

应用场景

  • 远程办公、居家协作
  • 远程技术支持与故障排查
  • 跨平台桌面共享与教学演示
  • 个人多设备间桌面互控

特色优势

  • 完全开源:所有代码透明,支持二次开发与定制。
  • 现代技术栈:Vue3 + WebRTC + Node.js + Electron,现代开发体验。
  • 跨平台:一次开发,多端运行。
  • 高性能低延迟:WebRTC 直连,画面与操作响应快。
  • 易上手:简洁 UI、清晰文档。

参考链接


如果你需要强大、开源、可定制的远程桌面解决方案,不妨试试 Billd Desk!
欢迎 Star、Fork 和参与贡献。