From 6323850d3c303b0af7b2e8a5e773ac426e86d0bc Mon Sep 17 00:00:00 2001 From: commilitia Date: Sun, 28 Jun 2026 19:49:47 +0800 Subject: [PATCH] =?UTF-8?q?docs=EF=BC=9APROJECT=5FBRIEF=20/=20FRONTEND=5FD?= =?UTF-8?q?ESIGN=20=E6=9E=B6=E6=9E=84=E6=8F=8F=E8=BF=B0=E8=A1=A5=E5=8E=9F?= =?UTF-8?q?=E7=94=9F=E6=95=B0=E6=8D=AE=E9=9D=A2=E6=BC=94=E8=BF=9B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - PROJECT_BRIEF.md:基线免责声明的「已落地」列举补原生数据面(桌面 pion / iOS libwebrtc)+ iOS 原生客户端 + 扫码登录 / Auth Broker;§2 文件传输 P2P 加内联注(协议不变、数据面下沉原生,见 CHANGELOG) - FRONTEND_DESIGN.md:传输 lib 段加注——transfer.ts 经 p2pBackend 抽象选后端,web 仍 JS RTCPeerConnection、桌面 / iOS 换原生(pion / libwebrtc),三端共享线协议;本文只述 web 实现 --- FRONTEND_DESIGN.md | 2 ++ PROJECT_BRIEF.md | 3 ++- 2 files changed, 4 insertions(+), 1 deletion(-) 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 次