diff --git a/FRONTEND_DESIGN.md b/FRONTEND_DESIGN.md index eadfad3..6e1133b 100644 --- a/FRONTEND_DESIGN.md +++ b/FRONTEND_DESIGN.md @@ -236,6 +236,8 @@ lib/relay.ts RelaySession(流式 GET + 分块 POST) lib/transfer.ts Orchestrator(决定 P2P / Relay / fallback) ``` +> **数据面下沉原生(2026-06-28 后)**:`transfer.ts` 经 `p2pBackend` 抽象选数据面后端——**web 仍用本表的 JS `RTCPeerConnection`**,桌面 / iOS 换成原生(Go/pion · libwebrtc)以逃 WebView WebRTC 的 256KB rwnd 与渲染器节流;三端共享同一线协议与编排(信令 / relay / 状态机留 JS)。本文余下只述 web 实现,原生数据面见 `CHANGELOG`。 + --- ## 8. SSE 客户端要点 diff --git a/PROJECT_BRIEF.md b/PROJECT_BRIEF.md index d0b1d35..1e3e9be 100644 --- a/PROJECT_BRIEF.md +++ b/PROJECT_BRIEF.md @@ -1,6 +1,6 @@ # Commilitia Drop — 跨 OS 剪贴板与文件传输服务 -> 本文是项目最初的 MVP 规格(设计基线),保留作架构参考;**当前实现状态以 [`CHANGELOG`](CHANGELOG.html) 为准**——其后已落地剪贴板/消息通道、Wails 桌面端、安全加固等,部分「远期」项已实现。 +> 本文是项目最初的 MVP 规格(设计基线),保留作架构参考;**当前实现状态以 [`CHANGELOG`](CHANGELOG.html) 为准**——其后已落地剪贴板/消息通道、Wails 桌面端、扫码登录与 Auth Broker、**原生数据面(P2P 数据面从浏览器 JS 下沉原生:桌面 pion、iOS libwebrtc)**、iOS 原生客户端、安全加固等,部分「远期」项已实现。 项目代号 / 仓库名 / 二进制名:`cdrop` 部署域名:`drop.commilitia.net` @@ -73,6 +73,7 @@ WebSocket 在 Caddy + Go 当前栈下会被强制降级到 h1.1(RFC 8441 未 - **优先 P2P**:WebRTC DataChannel,DTLS 即 E2E - 不用 simple-peer,自己包 RTCPeerConnection + - (协议不变,数据面后续从浏览器 JS 下沉原生:桌面 Go/pion、iOS libwebrtc,逃 WebKit 256KB rwnd 与渲染器节流;见 `CHANGELOG` 2026-06-28) - ICE 仅自建 STUN(`stun:your-stun.example:3478`),不配 TURN(自建 coturn 跑 STUN-only;现已改用 Cloudflare Realtime TURN) - **P2P 失败 → Relay**(**不**做 Pipe 持久化邮箱) - 双方均在线;传输中掉线重连最多 3 次