这个项目能做什么

Deskhub 是一款开源远程桌面应用,让你可以从另一台设备查看并控制自己的电脑。它原生运行于五个平台:Windows、macOS、Linux、Android 和 iOS。该应用基于共享的 C++20 核心构建,在所有平台上处理协议。 **主要功能:** - **快速串流**:在支持的硬件上支持 60 fps,并在可用时使用 GPU 加速的采集、编码、解码和渲染。 - **安装简便**:通过包管理器(winget、Homebrew、apt)安装或下载发行版。无需账户或后台服务。 - **界面简洁**:每个平台都呈现相同的四个页面(Host、Client、Devices、Settings),让各设备上的操作方式保持一致。 - **安全**:会话通过 QUIC/TLS 进行端到端加密。访问方式类似 SSH——每台机器都有一个密钥,只有当主机所有者通过连接请求、二维码或粘贴公钥批准后,客户端才被允许进入。 - **真实输入**:为 DirectInput 游戏提供相对鼠标和扫描码;主机自身的鼠标/键盘始终优先。 - **包含声音**:机器自身的音频混音通过 Opus 以 64 kbps 传输,每个数据报包含一个 20 ms 帧。 - **多显示器支持**:可共享一个或多个显示器,每个显示器作为独立会话。 - **命令行工具**:`deskhub-cli` 可以共享屏幕、打开远程 shell,并可从脚本或通过 SSH 运行。 - **经过测试的核心**:离线单元测试、CI 中的 sanitizer 运行,以及七个 nightly libFuzzer 目标,覆盖线格式、H.264 解析、重组、终端字节、UI 文本和会话状态机。 **平台:** - **Windows**:参考实现,日常通过 LAN + Tailscale 使用。 - **macOS**:两种角色均可用(ScreenCaptureKit + VideoToolbox + CGEvent)。 - **Android**:客户端支持视频 + 输入;主机为仅查看的屏幕共享(Android 10+)。 - **iOS**:客户端支持视频 + 输入;主机通过 Broadcast Upload Extension 实现仅查看的屏幕共享。 - **Linux**:两种角色均可用(PipeWire + VA-API + uinput + GTK3),支持 Ubuntu、Debian、Mint、Fedora、openSUSE、Arch。 **使用场景:** - 从性能较弱的笔记本或 iPad 运行重负载工作(Claude Code、VS Code、构建)。 - 从另一台设备使用仅限桌面的应用(Chrome、Office)。 - 使用相对鼠标和指针锁定以 60 fps 玩游戏。 - 将多个显示器作为独立会话共享。 **安全:**没有密码、没有发现机制、没有让陌生人进入的开关。使用你信任的网络或 VPN,切勿对 UDP 47777 进行端口转发。完整威胁模型记录在 SECURITY.md 中。 **许可证:**MIT。第三方组件和声明列于 THIRD_PARTY_NOTICES.md。 **文档:**提供英语、越南语、中文和日语版本,涵盖安装、从源码构建、规范、架构、安全、隐私和第三方声明。