clarify Rust-only repository layout
This commit is contained in:
@@ -80,7 +80,7 @@ RemoteDesk 采用双通道设计:
|
||||
|
||||
```text
|
||||
RemoteDesk/
|
||||
├── client/ # Tauri UI 与 Rust native helpers
|
||||
├── client/ # Rust 原生 GUI、helpers 与共享 crate
|
||||
├── agent/ # Rust Linux Agent workspace
|
||||
├── protocol/ # Protobuf 契约和兼容性测试
|
||||
├── edge/ # 独立 Edge Presence/Allocator/byte relay
|
||||
@@ -111,8 +111,8 @@ RemoteDesk/
|
||||
|
||||
## 当前代码
|
||||
|
||||
本节仅描述当前 Rust workspace;迁移前的 Tauri、React、WebView 和 Hysteria2 文字只保留在历史设计文档中,不属于构建或发布入口。
|
||||
|
||||
当前工程已包含 Rust workspace、协议状态模型、多显示器布局、Windows Client Core、RDP 地址校验、回环控制服务、无凭据 IronRDP 协议与 TLS 证书探测、证书指纹固定、Windows Credential Manager 凭据适配器、外部 `mstsc`、带有界自动重连和 D3D11 CPU-upload swap chain 的 IronRDP 原生窗口、Ed25519 签名清单在线升级、native-video 管线规划与真实 D3D11 设备探针,以及 React 管理界面。被控端新增了可逆配置 Microsoft RDP 的独立 Windows Host MSI,以及包含 `agentd`、用户会话进程、PAM/PTY 终端进程、支持双向断点续传的文件进程、配对/WSS/Unix IPC、systemd、DEB/RPM/静态便携构建链的 Linux Agent 基础。独立 Edge 服务已实现短 TTL Presence、测量路径分配、coturn REST 短期凭据、限额透明 TCP byte relay 和接受会话内两端设备 key 签名的 SDP/ICE mailbox,并已接通 Linux 首次配对、终端/文件的签名准入、角色票据及端到端 TLS/WSS opaque relay。接受的桌面会话新增双方 PeerConnection、逐候选 ICE、session-bound TURN 凭据和 H.264/RTX/Opus/DataChannel 传输内核源码;Linux 用户会话将同一次 X11 BGRA 捕获送入 GStreamer H.264 编码器,经严格有界、分块和 SHA-256 校验的 root/user IPC 交给精确绑定用户及 Client 指纹的 WebRTC sender。Windows 控制 helper 已接入有界 RFC 6184 RTP 重组、丢包/积压后 PLI 与关键帧恢复,以及 Media Foundation H.264 MFT 到同 device NV12/D3D11 VideoProcessor/swap-chain 的原生呈现源码。协议 minor 14 还接入显式协商的 Linux 系统输出 Opus 捕获、有界 IPC/WebRTC 发送和 Windows WASAPI 本地播放;minor 15 增加独立 `clipboard_read`/`clipboard_write` 授权、X11 与 Windows `CF_UNICODETEXT` 双向文本剪贴板和 Offer/Request/Data 按需传输源码;RDP Edge 尚未接入。
|
||||
|
||||
`transport/hysteria2-agent` 另提供基于官方 Hysteria2 Go `core/v2` 的 UDP/QUIC 入口和客户端适配器。该入口只允许密码认证的 Hysteria2 UDP 会话,公网不开放 TCP、TCP proxy 或 SOCKS5;报文交付到本机 UDP 适配端口。现有 Rust Agent 的 TCP/WSS 会话协议尚未改为 UDP 数据报协议,因此该入口目前是可部署的传输适配层,不宣称桌面会话已直接接通。
|
||||
|
||||
Linux 图形的 X11 zlib 兼容捕获/输入、GStreamer H.264 WebRTC 发送端和 Windows 原生远端 H.264 接收/解码/呈现已接入源码;协议 minor 9 在首张原生帧后切换到 H.264-only,以呈现 ACK 驱动捕获并在丢包或媒体失败时恢复 zlib,避免长期双路传输完整画面。协议 minor 10 进一步接入显式光标抓取、Windows Raw Input 合并、有界相对鼠标和 XTEST 相对移动,失焦/重连/退出会解除抓取并释放远端输入。协议 minor 11 已接入认证后的 Wayland Portal、严格 PipeWire DMABUF-to-VA-H.264、呈现 ACK、resize 重建和 `reis` EIS 输入源码;minor 12 在断线后释放全部输入并保留 15 秒 Portal/EIS 租约,只有相同 Client 指纹、Linux 用户和轮换令牌才能使用新 WebRTC sender 恢复,并从新 IDR 继续。协议 minor 13 将现有 PeerConnection 媒体内核抽象为认证信令接口,直连 Client/Agent 可在证书固定、Ed25519 认证后的 WSS 上交换严格有界的 SDP/ICE,使用 host-candidate ICE 建立 H.264/RTX/Opus/DataChannel;失败经显式 abort/unavailable 同步后,X11 才回到 zlib,Wayland 仍拒绝 CPU 回退。minor 14 为直连和 Edge 桌面请求增加默认关闭的 Opus 协商,只有同版本 Client 显式开启且已取得授权媒体 sender 时才捕获 Linux 输出 monitor,并在 Windows 通过 IronRDP Opus 解码器和 WASAPI 播放;视频与音频失败互不连带。minor 15 的 X11 文本剪贴板只在双方显式协商对应方向且配对授权包含相同权限时启用,内容限制为规范化 UTF-8 文本和 32 KiB;Wayland 剪贴板仍未接入。新增媒体、音频、剪贴板路径和 GNOME/KDE/Xorg 实机验证仍未执行,因此运行时继续报告 `linux.wayland_desktop=false` 与 `linux.native_video=false`。Linux Terminal 的 Windows 控制 helper 已接通 WSS、证书固定、Ed25519 配对认证和 PTY 字节流,但尚未在真实 Linux/PAM 主机完成端到端运行验证。真实 PipeWire/DRI3/D3D11 呈现/Tauri 继续按 M0 技术验证计划逐项实现,不以模拟代码或仅存在安装包来代替平台验证。Windows Credential Manager 的写入、状态、删除、IronRDP NLA 凭据读取和 Linux 客户端身份存储已接入。
|
||||
|
||||
Reference in New Issue
Block a user