justme fb5800f81d
ci/woodpecker/push/web-build Pipeline was successful
ci/woodpecker/push/ci Pipeline failed
ci/woodpecker/push/dev-image unknown status
fix(web): show the author of incoming messages right away [CI]
Messages from other members or devices used to render as an unknown member
until the space structure refreshed. Use the author account the server
records for the object, together with the loaded profiles, when the item
arrives.
2026-10-16 07:04:31 +08:00

WebDrop

零信任的端到端加密暂存与同步:文本、JSON、剪贴板、文件。浏览器内加密,后端节点完全不受信任,只保存和转发密文。

状态

文档是权威来源,代码以文档为准。

部分 状态
协议、API、威胁模型 已定稿(docs/)
test-vectors/ 已完成。由 node:crypto 独立生成,服务端(.NET)和 @webdrop/core(WebCrypto)各自复现
server/ 频道与便捷分享 API 已实现;含独立的可选 WebDrop.Frontend 静态资源模块;NativeAOT 发布为 OCI 镜像
packages/core/ 已完成并验证。168 个测试,含对着真实服务端的端到端
web/ 前端,开发中

文档

文档 内容
docs/threat-model.md 信任边界、攻击者模型、每种模式的保证、元数据泄露、不做的事
docs/e2ee-boundary-comparison.md 当前信任边界、签名授权/事件的目标设计与分阶段路线
docs/protocol.md 密钥派生、令牌、帧格式、加密和 padding、校验算法、保留策略(协议权威文档)
docs/api.md HTTP / WebSocket / SSE 接口、鉴权头、错误码
docs/architecture.md 组件、技术栈、NativeAOT 约束、存储模型、部署、阶段划分
docs/ui-design.md 前端视觉与交互:色彩、形状、blur 约束、页面、状态与诚实提示、动效
docs/frontend.md 前端工程:技术栈、分层、状态模型、传输与重连、性能与可维护性约定
web/AGENTS.md 前端契约:权威顺序、范围、必须遵守与禁止项
packages/core/README.md @webdrop/core 的接口、前端要做和不用做的事、必须注意的几点
server/README.md 服务端的结构、配置、AOT 发布、验证码(Cap)接入
docs/deployment.md Podman Quadlet 自托管部署与 Woodpecker CI
test-vectors/README.md 协议测试向量的生成与使用

核心概念

  • 频道:唯一的顶层概念,一条只追加的帧流,有自己的 id、密钥、设置和账号成员人数上限。
  • 条目:频道里的一项内容(文本、JSON、文件),由若干帧组成,可复制、下载、删除。
  • 成员:频道里的人是用户(账号);设备只是账号的属性,同一账号的多设备只算一人,请求凭账号会话鉴权。频道强制登录,没有未登录访客(便捷分享不受影响)。
  • 所有者 / 成员:所有者持有管理密钥,成员通过频道链接加入。
  • 模式:enc(默认,浏览器端 AES-256-GCM)和 raw(负载原样,服务器可见,用于公开或用户自行加密的内容)。

目录

webdrop-proj/
├─ docs/
├─ test-vectors/    协议测试向量,所有实现共用
├─ packages/core/   @webdrop/core,TS,加解密与帧编解码(网页、将来的 CLI 共用)
├─ server/          .NET 10,NativeAOT;可将 Vite dist 嵌入 WebDrop.Frontend
└─ web/             Vite + React + TypeScript
S
Description
WebDrop encrypted quick sharing and channel sync
Readme
1.5 MiB
0 Stars 1 Watchers 0 Forks
Languages
TypeScript 52.2%
C# 37.4%
CSS 5.7%
JavaScript 3.6%
PowerShell 0.5%
Other 0.6%