🖥️ Zendex
跨平台远程桌面产品
被控端为 Rust + Tauri 桌面客户端,服务端为 Go + Fiber,主控端就是 Web 浏览器。
架构原则
UI 壳只是显示器,核心全部在 Rust。
采集、编码、传输、输入注入、会话管理都在 zendex-core,Tauri 壳只负责界面与 WebCodecs 渲染,未来移动端(Flutter / React Native)可复用同一核心。
技术链路
屏幕采集 → 硬件编码 → WebRTC 传输 → WebCodecs 解码 → 输入注入
| 模块 | 方案 |
|---|---|
| 屏幕采集 | DXGI(Windows)/ ScreenCaptureKit(macOS)/ PipeWire(Linux) |
| 编码 | FFmpeg 硬编层:NVENC / QSV / AMF / VideoToolbox,libx264 软编兜底 |
| 传输 | WebRTC(webrtc-rs),主控端与被控端统一协议 |
仓库结构
zendex/
├── desktop/ # 被控端桌面项目(Rust 核心 + Tauri 壳 + React UI)
│ ├── core/ # zendex-core:采集/编码/传输/注入/会话(平台无关)
│ ├── src-tauri/ # Tauri 2 桌面壳
│ └── src/ # React UI(Vite + Tailwind)
└── server/ # 服务端(API / 信令 / rendezvous / relay)
├── backend/ # Go + Fiber 后端
└── frontend/ # Web 主控端 + 管理后台
路线图
- M0 技术预研 ✅ — 采集 / QSV 硬编 / WebRTC 端到端 / SendInput 注入全部打通
- M1 MVP — Windows 主/被控闭环、设备 ID + 密码、NAT 打洞 + 中继、文件/剪贴板、Web 主控端
- M2 产品化 — macOS、无人值守、团队/地址簿、录屏审计、E2EE、自动更新、计费
- M3 扩展 — Linux / Android、群控/屏幕墙、隐私屏、虚拟屏、自托管、AI 辅助
技术栈
Rust · Tauri 2 · WebRTC · WebCodecs · Go + Fiber · React