状态与路线图
CipherFS 尚未发布。README 描述当前行为,已确认需求规定目标;本页说明已完成什么、接下来做什么、以后计划什么。顺序是承诺,日期不是。
已完成
- 核心:稳定 FileId 与因果版本链、客户端加密、内容定义分块、加密 redb 索引、每设备签名日志、成员与密钥纪元、共享的历史/垃圾箱/冲突视图、可撤销的退休与 GC、本机 Full/Partial 正文策略、明文导出。已冻结的共享格式 1、metadata schema 2 与 CAS schema 1,protobuf 载荷与保留原始字节的认证记录。
- 同步:不可变的 Directory 与 S3 存放点、正文 pack、iroh 1.3 QUIC 对端与 ticket + SAS 配对、开新纪元的撤销、恢复密钥、后台循环与存放点 GC;配对/恢复证明、快照与上传清单的认证分片,显式预算最高 512 MiB;Rust、C、Python、Go 可用的运行时 S3 凭据 provider(环境变量、静态、内存注入)。
- 归属进程:一个进程凭操作系统文件租约持有仓库;Web 登录或
cipherfs serve --vault发布 Unix socket / 命名管道 + 随机 token 的私有本地 API,仓库被占用时普通 CLI 命令经归属进程执行。 - 接入:CLI;macOS(FUSE-T)与 Linux(内核 FUSE)挂载,含只读冲突视图;Bearer 会话的 Web 服务与 React 界面;Rust
SyncedVault;基于cipherfs-api的 C、Python、Go 绑定。 - 共享管理策略:按因果关系裁决策略,任一在线的有管理权设备到期轮换纪元;CLI、HTTP 和 Rust/C/Python/Go API 均可读写。
- 自描述仓库:每个仓库自带
FORMAT.md、公开测试向量和只读参考解密器recover.py。 - Windows:core、API、CLI 在 x86 模拟下的 ARM64 虚拟机上编译并通过测试;少数计时敏感用例仍需原生 x86 机器复测。Windows 没有挂载。
接下来:发布前的核心工作
这些不需要新平台或新构建环境,是下面所有项的地基。
以下三项已落地,wire format 1 冻结;本机 schema 可继续显式迁移:
- 仓库策略记录与定期纪元轮换:轮换周期与恢复公示期同在一条共享策略记录里,到期由任一在线设备开新纪元。
- 孤儿恢复设备的公示期:凭恢复密钥加入的设备发布管理权申请,等满公示期(默认 7 天)后生效;期间任一先加入、未撤销的成员反对即作废,既有成员在接纳生效记录之前始终可反对。已实现:本机持久化表态、激活暂停、迟归反对重算、CLI/HTTP/绑定与无人值守模式;React 面板继续冻结。
- 审计预留:格式 1 为访问审计保留
a/前缀、CFSAUD01容器与cipherfs audit v1标签(已写入FORMAT.md)。
首个发布前,不碰格式:
- 收尾
cipherfs serve:配置文件与一个守护进程服务多个仓库、就绪与健康接口、TCP 监听与 TLS 规则、由归属进程提供挂载、退役独立 web 二进制。 - 凭据与解锁来源:文件、systemd credential、钥匙串、远端密钥服务 provider,凭据引用进存放点配置,写入设备删除权检查;本机解锁来源、密封状态与服务器自动解封、内存保护。
- Dioxus 浏览器界面替换 React 界面:一套组件库走 HTTP API,编成 wasm 由
cipherfs serve托管;对齐后 React、Node 与 TypeScript 类型生成退出构建。此前 React 界面冻结。 - 错误文本与 HTTP span 不带路径,让“明文不进日志”在所有日志级别成立。
计划:服务器线
- S3 前门:守护进程说 S3 协议,SigV4、桶与键映射、Range、分片上传、版本列表、预签名 URL,默认只听回环,其他地址强制 TLS。
- 服务器 API:写入耐久等级、短保留策略、单文件固定与热度预取、按 FileId 访问。
- 访问审计:每台设备的文件访问日志(设备、应用、时间、FileId、VersionId、操作、结果、字节),和正文一样保存:纪元密钥派生的钥加密、设备私钥签名、作为不可变对象发布到存放点,所有未撤销成员可按文件或按设备查看;设计已定稿,未实现。见需求。
- WebDAV 存放点:provider 绑定的传输与契约测试已在
cipherfs-sync;CLI/Web 注册入口与完整验收待做。 - 规模验收:按规模预算实测百万文件、1 TB、100 GB 单文件与 10 台设备。
计划:应用线
- 桌面透明接入:归属进程提供 macOS File Provider 与 Windows Cloud Files 同步根;FUSE 保留为 macOS 与 Linux 的高级模式。
- 桌面 App:Dioxus 壳内嵌
cipherfs serve,托盘、自启、钥匙串与生物识别解锁、浏览、预览、编辑、上传下载;macOS、Windows、Linux 的打包、签名与自动更新;与上面的浏览器界面共用同一组件库。 - 手机:UniFFI 的 Kotlin/Swift 绑定;Android 与 iOS App 持有 Partial 仓库、按需读取、由系统后台任务对存放点同步;OneDrive、Dropbox、Google Drive 存放点;之后加 Android DocumentsProvider 与 iOS File Provider 扩展。
不做
- WinFsp 驱动或 WebDAV 服务;Windows 的透明接入只有 Cloud Files。
- 多用户权限。仓库内所有设备同权;子树密钥为将来只读分享目录预留。
- 保留权限、所有者、xattr、ACL 或硬链接。
- 任何可信服务器。存放点与中继只见密文。
发布
共享 wire format 1 已冻结;本机数据库 schema 继续显式迁移。版本号、变更记录与首个发布在上述剩余核心工作之后;应用线与服务器线按各自节奏在冻结共享格式上交付。