正式版本。 自 0.15.1 以来的两个大阶段(多租户基座与隐私增强)在六轮
预发布中完成了三平台实测验收(Windows + iOS + Web,另有 macOS/Linux/Android
的 CI 实机矩阵),本版为其稳定形态。配套服务端 v0.17.0。
新能力
隐私增强(可选,默认关闭)
- 大小混淆:文件按填充桶上传(LSE4 信封),服务器只能看到桶大小——
精确字节数不再泄露「这是哪份已知文档」「谁在什么时候写了多少」。
成本在设置页如实标注(最坏 +12.5%,小文件按 4KB 计)。 - 时间混淆:上传对齐到时间窗口发车(默认 5 分钟,平均一个窗口、
最多约两个窗口),定时/前台/启动轮次只拉不推——服务器只能判断编辑
发生在哪个窗口里;mtime 按小时取整后上报。「立即同步」不受影响。
分享
- 内嵌图片随分享一起加密打包(服务器仍只见单个密文 blob),查看页本地
解密渲染;离线查看器补齐解帧并加了页面级 CSP(笔记里的外链图片
不再能把查看者 IP 报给第三方)。 - 有效期支持「自定义…」(分钟/小时/天);运维页可撤销分享、
设置新的到期时间。
运维
- 运维页设备列表显示设备名称、平台、客户端版本与最近来源 IP
(转发头只在可信代理时采信);设备被撤销后,被撤销端会收到常驻提示
并停止无意义重试。 - 首次配置三选项:远端未初始化时「测试连接」直接给出
关闭 / 立即同步 / 添加 E2EE 并立即同步(空仓启用无迁移,
首次上传即密文,明文从头到尾不经过服务器)。 - 每请求上报客户端版本与平台:不可逆迁移前「所有设备都升级了吗」
是一个可查的事实。
实测验收修掉的问题(RC 系列)
- 改名的身份连续性:改名后立刻编辑、纯大小写改名、改名到「曾存在后删除」
的名字、两设备并发改名——名字、内容、版本历史三样都对,对象身份
永不重置(INV-05)。 - E2EE 冲突解决死循环与删除重建产生冲突副本(内容世代以认证后的
远端值为下限)。 - 明文模式的改名检测(v6 改名不发删除,拉取端按 fileId 对账,
旧文件不再残留成孤儿)。 - Web 只读端补齐 LSE4 解密。
- 元数据迁移中止后的「伪名回声」不再被误当成改名。
升级
- 先升服务端:
docker compose pull && docker compose up -d - 再升所有设备的插件(协议 v6)
- 隐私增强按需在设置页开启;已有文件在下次修改时自然转入新信封
测试
插件 289 条 / 服务端 210+ 条自动化全绿(含崩溃点注入、对抗性协议、
跨平台文件系统语义、跨租户越权矩阵);验收手册第 1–5 章人工实测通过。
已知限制与剩余威胁见 README「Known limitations & remaining threats」。