news 2026/9/11 6:05:10

Ente Locker 更新日志全解析:从 v1.0.3 到 v1.0.8 的关键功能演进与实现原理

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Ente Locker 更新日志全解析:从 v1.0.3 到 v1.0.8 的关键功能演进与实现原理

Ente Locker 更新日志全解析:从 v1.0.3 到 v1.0.8 的关键功能演进与实现原理

【免费下载链接】ente💚 End-to-end encrypted cloud for everything.项目地址: https://gitcode.com/GitHub_Trending/en/ente

Ente Locker 是 Ente 生态中专为"家庭重要数字资产"设计的端到端加密存储应用,用于安全地存放、共享并传承护照、财务记录、账户凭据等敏感信息。本文以官方 Changelog 为骨架,逐条拆解 v1.0.3 至 v1.0.8 每个版本引入的核心能力——Legacy Kit 数字遗产恢复、集合链接分享、离线访问、账户删除流程改进等——并结合仓库内对应的功能文档与 Flutter 源码,说明每项变更背后的安全模型与实现方式。读完本文,你将完整掌握 Ente Locker 当前版本的功能全貌、每个新特性的操作路径,以及它们在开源仓库中的具体落点,便于自行验证与二次研究。

版本时间线与发布节奏

官方 Changelog 记录了 Locker 移动端近期的 4 个发布版本,发布时间跨度约 3 个月(2026 年 5 月至 8 月):

版本发布时间核心主题
v1.0.8 (mobile)2026 年 8 月账户删除流程改进、上传到 Uncategorized、Legacy 引导、新弹窗样式
v1.0.6 (mobile)2026 年 6 月Bug 修复与稳定性改进
v1.0.5 (mobile)2026 年 5 月引入 Legacy Kit 数字遗产恢复
v1.0.3 (mobile)2026 年 5 月集合链接分享、本地离线使用

从节奏看,v1.0.3 与 v1.0.5 属于功能里程碑(分别在 5 月先后落地"分享/离线"与"数字遗产"两大能力),v1.0.6 与 v1.0.8 则是以修复打磨与体验完善为主的增量版本。Locker 官方文档在 docs/docs/locker/index.md 中同时维护了完整的入门指引与功能地图,Changelog 仅作精简摘要,因此下文将按版本逐条还原每个变更点的完整用法与底层原理。

v1.0.8:删除流程、Uncategorized 上传与 Legacy 引导

v1.0.8 是 2026 年 8 月发布的打磨版本,共包含 4 类明确变更,外加常规的 "Bug fixes and improvements"。

账户删除流程:更清晰的删除影响说明与确认

Changelog 指出该版本"更新了账户删除流程,提供更清晰的删除影响细节与确认"。这一改动直接对应仓库中的账户设置页面 mobile/apps/locker/lib/ui/settings/pages/account_settings_page.dart,其实现与 Ente 统一账户系统联动——Locker 与 Ente Photos、Ente Auth 共用同一套 Ente 账户,账户删除会同时影响整个账户体系(见 FAQ:Locker、Photos 和 Auth)。

结合官方 FAQ 可知删除相关的边界事实:

  • Locker 数据与 Photos 数据使用同一 Ente 账户、但存储相互独立;
  • 免费账户若长期处于无付费订阅的非活跃状态,12 个月后会收到多次邮件通知后被删除;若配置了 Legacy 可信联系人,还会通知这些联系人以便在删除前恢复账户;
  • 账户删除是影响面很大的操作,v1.0.8 的改进重点在于让用户在下单前明确看到"删除后将丢失哪些数据、是否可恢复"等影响说明,并增加二次确认。

允许上传到 Uncategorized 集合

此前 Locker 的上传/创建流程要求条目必须归属于某个集合;v1.0.8 起允许直接将条目上传到Uncategorized(未分类)集合。

Uncategorized 是 Locker 自动创建的特殊集合,用于收纳尚未归类到任意自定义集合的条目。根据 Collections 文档,条目进入 Uncategorized 有两种典型场景:

  • 创建或上传条目时未选择任何集合;
  • 将条目从最后一个集合移除但保留条目本身。

Uncategorized 与普通集合存在两个关键差异点,理解后可避免误操作:

  1. 可与其他集合并存:一个条目可以同时处于 Uncategorized 和另一个集合中,添加到其他集合不会把它从 Uncategorized 移出;
  2. 可被显式选择:编辑条目时,Uncategorized 会与你的其他集合一起出现在集合选择器中,选中即保留在未分类,取消选中即移出。

这一改动消除了"必须预先建好集合才能上传"的摩擦,符合"先存放、后整理"的自然使用习惯。

为 Locker 新增 Legacy 设置引导

v1.0.8 新增了 Legacy 设置的引导提示(Legacy setup prompt)。在仓库中可找到对应的 UI 组件实现:mobile/apps/locker/lib/ui/components/legacy_setup_banner.dart,同时 home_page.dart 与 drawer_page.dart 中也包含 Legacy 相关入口。

该引导的作用是主动提示用户配置账户级数字遗产方案。Legacy 是 Locker 最具差异化的能力(官方文档称"没有其他加密存储应用提供此功能"),包含两条路径:

  • 可信联系人(Trusted contacts):指定另一位 Ente 用户,在等待期后可帮助恢复账户;
  • Legacy Kit(遗产套件):生成 3 张物理恢复表,任意 2 张即可在浏览器中发起账户恢复,协助者无需 Ente 账号。

详细机制见 Legacy 功能总览 与 Legacy 常见问题,v1.0.5 首次引入,v1.0.8 通过引导横幅提高新老用户的配置率。

底部弹窗(Bottom Sheet)切换新组件样式

最后一个功能变更属于 UI 体系升级:Locker 的底部弹窗改用 Ente 统一设计系统中的新组件样式。这与 Ente 多端(Photos、Auth、Locker)共享组件库的做法一致,目的是保证跨产品交互一致性。该变更为纯前端样式层改动,不影响数据模型与加密逻辑。

v1.0.5:Legacy Kit——基于 Shamir 2-of-3 秘密分享的数字遗产

v1.0.5 引入了 Locker 目前最核心的安全特性Legacy Kit。这是本文档中最值得深入的技术点,官方在 Legacy Kits 文档 中给出了完整说明,移动端实现位于 mobile/apps/locker/lib/services/legacy_kit.dart。

设计目标与安全模型

Legacy Kit 解决的是"账户继承/灾难恢复"场景:当账户所有者失去密码与恢复密钥、或不幸离世时,家人如何合法地拿回账户,同时防止任何单一个人或服务器滥用权限。

其核心安全模型由四条规则构成:

  1. 2-of-3 门限:每个 Kit 生成 3 张恢复表,任意 2 张即可发起恢复,单张表永远不够;
  2. Kit 密钥与账户恢复密钥分离:恢复表不包含账户恢复密钥(recovery key),无法直接用它们登录账户;它们只保存一个独立的 kit secret 分片;
  3. 本地重构:恢复时由浏览器在本地将 2 张表的分片组合还原出 kit secret,服务器永远看不到 kit secret、表内容或解密后的恢复密钥;
  4. 服务端调解且可撤销:恢复会话受服务器调解,等待期内账户所有者可阻止(block),并可删除 Kit 使表永久失效。

从源码结构看,legacy_kit.dart 承担了 Kit 的创建、管理、恢复会话状态等客户端逻辑,与 UI 层的 Legacy 页面、邮件通知、等待期状态机共同构成完整流程。

底层数学:Shamir 的 2-of-3 秘密分享

Legacy Kit 的秘密拆分基于Shamir 秘密分享(Shamir's Secret Sharing)的 2-of-3 方案。原理可概括为:把要保护的秘密看作二维坐标系中的一个点,用该点生成一条直线——直线上任意两个点都可以反推出整条直线并恢复秘密,但单独一个点无法确定唯一直线。对应到 Legacy Kit:

  • 3 张恢复表各保存直线上一个不同的点(一份分片);
  • 任意 2 张表的两点即可重构出秘密(kit secret);
  • 单张表的信息量不足以恢复任何内容。

官方还指出,同一套 2-of-3 数学方案在仓库中另有独立落点:2of3 目录 提供了一个不依赖 Ente 账号、可对任意文本型秘密使用的独立 Web 应用;Legacy Kit 则是在此数学基础上叠加了"服务端调解 + 可撤销恢复流程"的账户级封装。

创建 Legacy Kit 的完整步骤

Kit 的创建与管理目前仅在Ente Locker 移动端提供,官方操作路径如下:

  1. 打开 Ente Locker;
  2. 打开 Locker 菜单;
  3. 点击Legacy
  4. 进入Legacy kits
  5. 点击Create legacy kit
  6. 为 3 张恢复表命名;
  7. 选择恢复等待时间;
  8. 按提示完成身份认证;
  9. 下载、打印或分享这 3 张恢复表。

创建后建议将 3 张表分开存放,例如:一张留在家中、一张交给信任的家人、一张交给律师或放入其他安全场所。

恢复等待时间(Recovery wait time)

每个 Kit 只能选择一种等待时间,官方支持 5 档:

等待时间适用场景
Immediate(立即)自恢复(self-recovery),适合自己丢失访问权时快速取回
1 天较短的延迟恢复
7 天(默认)继承场景的常用平衡点
15 天更长的观察期
30 天对未授权恢复的更强防护

两个需要特别注意的规则:等待时间在恢复发起时被"固化"(captured),之后修改只影响未来的恢复尝试;恢复进行中无法修改等待时间。Immediate 对自恢复友好,但给账户所有者留下的阻止窗口几乎为零,因此继承场景应选择更长的时间。

恢复流程:协助者不需要 Ente 账号

Legacy Kit 的一大设计亮点是协助者零门槛——不需要安装 Ente 应用,也不需要 Ente 账号,只需浏览器和任意 2 张表。官方 Web 端恢复步骤:

  1. 打开恢复表上打印的恢复 URL(Ente 云服务的表使用 legacy.ente.com;自托管或自定义部署的 URL 可能不同,以表上打印的为准);
  2. 添加同一 Kit 中的任意 2 张恢复表;
  3. 跟随浏览器恢复流程;
  4. 等待恢复尝试就绪(等待期结束);
  5. 为账户设置新密码。

恢复完成后,通过密码重置流程即可访问被恢复的 Ente 账户;在此过程中,恢复会话是受限(scoped)的,且 2FA 与 passkey 第二因素会被移除,使新密码可以正常登录(见 Legacy FAQ)。

管理、阻止与删除

在移动端进入Legacy → Legacy kits → 点击某个 Kit后,可执行以下管理操作:

  • 重新下载恢复表;
  • 修改恢复等待时间(无活跃恢复时);
  • 删除 Kit;
  • 阻止当前活跃的恢复尝试。

关键语义区分(这也是 FAQ 中反复强调的点):

  • 阻止恢复(Block recovery):取消当前这次活跃的恢复尝试,但 Kit 本身仍然有效,持 2 张表的人之后可以再次发起;
  • 删除 Kit(Delete kit):使这些恢复表对未来的恢复永久失效,同时阻止该 Kit 当前挂起的恢复尝试;
  • 并发限制:每个 Kit 同时只允许一个活跃的恢复尝试。

另外存在配额限制:最多可创建 5 个未删除的 Legacy Kit,删除的 Kit 不再计入配额。

通知与审计

当有人用 Legacy Kit 发起恢复时:

  • Ente 会向账户所有者发送recovery-started 邮件
  • Legacy 页面会显示活跃恢复警告;
  • 恢复完成时也会发送邮件;
  • 当前版本不会在"延迟恢复变为就绪"时单独发送邮件。

审计信息(使用的表编号、IP 地址、User-Agent 等)官方明确标注为"仅作提示(hints)",不能作为身份证明。

安全注意要点

官方在 Legacy Kits 文档 中给出了值得全文照录的安全清单:

  • 同一 Kit 的 2 张表即可发起恢复,请务必分开存放;
  • 表不包含账户恢复密钥,不能直接登录账户;
  • 表名与存储的表负载(payload)均被加密,Ente 服务器无法读取;
  • 打印出的表可能显示人类可读的表名,避免使用敏感命名
  • 所有者的恢复详情仅在恢复会话活跃期间可用;
  • 恢复审计详情只是线索,不证明操作者身份;
  • Legacy Kit 不建立可信联系人关系,也不会暂停非活跃账户删除;
  • 当前不支持 Kit 昵称与 Verify kit 校验流程,Kit 标签基于 3 张表的名称;
  • 如果账户恢复密钥发生变化,已有 Kit 在未来的版本中重新包裹(rewrap)或重建之前可能失效。

v1.0.3:集合链接分享与本地离线使用

v1.0.3 是 2026 年 5 月的功能版本,引入两项能力:以链接形式分享集合、离线保留条目。

以链接形式分享集合(Public Links)

"Share collections as a link"对应的是 Locker 的**公开链接(Public Links)**能力,完整说明见 Public Links 文档。

公开链接允许把单个条目或整个集合分享给任何没有 Ente 账号的人,接收方在浏览器中即可查看。它与"分享给 Ente 用户"是两条互补路径:后者需要对方是 Ente 用户、在应用内以端到端加密方式访问(见 Share Collections with Users);前者面向浏览器公开访问。

公开链接的工作原理:

  1. 生成包含解密密钥的唯一 URL;
  2. 任何持有链接的人都能在浏览器中查看内容;
  3. 密钥位于 URL 的 fragment(# 片段)中,绝不发送给 Ente 服务器——这是"链接本身携带解密能力"的典型设计,服务器只托管加密数据;
  4. 查看内容无需 Ente 账号。

操作路径:

  • 分享单条目:长按条目 → 点击分享按钮 → 点击Share link
  • 分享整个集合:打开集合 → 点击分享按钮 → 点击Share link
  • 删除链接:长按条目(或打开集合)→ 分享按钮 →Delete link→ 确认,链接立即失效。

安全注意:任何持有链接的人都能查看内容,链接可被转发,因此用完后应及时删除链接;涉及敏感密码等内容的链接分享需格外谨慎(相关讨论见 Sharing FAQ)。

本地离线使用(Keep items locally for offline use)

"Keep items locally for offline use"意味着 Locker 支持将条目保留在本地设备上以便离线访问。从仓库源码看,Locker 的文件下载与本地存储相关逻辑位于 mobile/apps/locker/lib/services/db/locker_db.dart(本地数据库层)与 mobile/apps/locker/lib/services/files/download/file_url.dart(文件 URL 获取层),即"加密数据在本地落地 + 按需取用 URL"的实现结构。

由于加密内容始终以端到端加密形态存储,即使离线保留在本地,数据仍处于加密保护之下,这与此前 Locker 的"全部内容端到端加密后才离开设备"的总体安全模型一致(见 加密文档)。离线功能对经常出行、网络不稳定的用户尤为实用——重要证件扫描件在无网环境下也能随时查阅。

如何验证这些变更并跟进后续版本

由于 Locker 完全开源(与 Ente 其他产品一致),你可以直接在仓库中核对本文提到的每处实现:

  • Legacy Kit 客户端核心逻辑:mobile/apps/locker/lib/services/legacy_kit.dart;
  • Legacy 引导横幅组件:mobile/apps/locker/lib/ui/components/legacy_setup_banner.dart;
  • 账户设置与删除流程:mobile/apps/locker/lib/ui/settings/pages/account_settings_page.dart;
  • 本地数据库与离线文件逻辑:mobile/apps/locker/lib/services/db/locker_db.dart;
  • 官方功能文档总入口:docs/docs/locker/index.md,其中 Changelog 位于 docs/docs/locker/changelog.md。

安装入口方面,Locker 支持 iOS(App Store)、Android(Play Store / F-Droid / GitHub Releases)与 Web 浏览器访问,具体渠道与 APK 签名校验方法见 安装指南。若需自行构建移动端,源码位于 mobile/apps/locker;Web 端对应 web/apps/locker。

总结:Locker 演进脉络一览

回看 v1.0.3 → v1.0.8 的四次发布,Ente Locker 的演进主线清晰可辨:

  • 分享能力(v1.0.3):先打通面向非 Ente 用户的浏览器公开链接,与既有的"Ente 用户间加密共享"形成互补;
  • 离线韧性(v1.0.3):让端到端加密数据在设备本地可用,强化移动场景可靠性;
  • 数字遗产(v1.0.5):用 Shamir 2-of-3 秘密分享 + 服务端调解的可撤销恢复流程,奠定 Locker 区别于普通加密网盘的杀手级能力;
  • 体验完善(v1.0.8):账户删除透明化、Uncategorized 上传去摩擦、Legacy 引导与新组件样式,把安全能力转化为易用体验。

截至 v1.0.8,Locker 的免费额度为 100 个条目 / 1GB 存储,付费(任一 Ente 订阅)自动提升至 1000 个条目 / 10GB,且 Locker 与 Photos 存储相互独立(详见 FAQ:定价与计划)。对于看重隐私、需要组织家庭重要文件并为未来做准备的用户而言,这套"加密存储 + 链接分享 + 离线访问 + 数字遗产"的组合已经形成了完整闭环。

【免费下载链接】ente💚 End-to-end encrypted cloud for everything.项目地址: https://gitcode.com/GitHub_Trending/en/ente

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/11 6:04:35

正则表达式在数据安全中的核心应用与优化技巧

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华
网站建设 2026/9/11 6:03:49

软件验收标准如何制定?从“废话”到团队共识的金标准实践

先提个问题:你在实际项目里听到“验收标准”这四个字,第一反应是什么?我猜不少人的反应是“需求文档里不是写了吗,照着抄一遍就行”。但真到验收环节你会发现,抄出来的东西验证团队不认,开发不认&#xff0…

作者头像 李华
网站建设 2026/9/11 6:02:56

若依框架模块化开发实践与优化指南

1. 若依框架模块化开发概述若依(RuoYi)作为国内主流的企业级快速开发框架,其模块化设计思想贯穿整个架构体系。我在多个商业项目中使用若依框架时发现,合理的模块划分能显著提升代码可维护性。当我们需要新增业务功能时&#xff0…

作者头像 李华
网站建设 2026/9/11 6:01:12

楼宇自控系统(BAS)核心技术解析与节能实践

1. 楼宇自控系统如何为建筑节能带来革命性改变去年参与某商业综合体节能改造项目时,一组数据让我印象深刻:在部署楼宇自控系统(BAS)后的第一个完整季度,整体能耗同比下降37%,其中空调系统节能贡献率高达62%…

作者头像 李华
网站建设 2026/9/11 6:00:24

Windows量化服务系统:从LSTM模型到可部署交易服务

简介:这是一套面向高校毕业设计与课程设计场景的Python智能量化交易分析工具,专为具备基础编程能力的学习者和量化入门者打造,解决金融数据分析、策略建模与回测验证等核心需求。资源共258个文件,以236个Python源码为主&#xff0…

作者头像 李华