#V2EX ### [分享创造] [开源] ReMemory:防备意外的数字遗产工具,基于 Shamir 分割密钥,纯 JS 离线恢复 Hi, I'm José, a developer from Canada. Writing in English since my Chinese isn't up to the task. A community member saw the project on GitHub and invited me here. 大家好,我是 José,来自加拿大的开发者。中文写不好,所以用英文发帖。一位社区成员在 GitHub 上看到了这个项目,邀请我来到 V2EX 。 I ride my bike a lot and I've hit my head before. That got me thinking: what if I can't remember my passwords one day? I don't want to hand one person the keys to everything. ReMemory encrypts your files and splits the decryption key using Shamir's Secret Sharing (any 3 of 5 can recover, nobody alone). Each person gets a self-contained bundle that works in any browser, offline. 我经常骑自行车,也摔伤过头。这让我想到:万一有一天我忘了自己的密码怎么办?我不想把所有密钥交给一个人。ReMemory 会加密你的文件,然后用 Shamir 秘密分享把解密密钥分给你信任的朋友(比如 5 个人中任意 3 个可以恢复,但任何一个人单独无法解密)。每个人会收到一个独立的 bundle ,在任何浏览器中离线即可使用。 recovery interface collecting shares ![](https://i.imgur.com/yR4tzVN.png) printed PDF with recovery words and QR code ![](https://i.imgur.com/wQ1LO2F.png) Architecture / 架构: * Bundle creation uses Go → WASM for Hashicorp Vault's Shamir implementation, age encryption, PDF generation, and ZIP packaging 创建 bundle 使用 Go → WASM ,包括 Hashicorp Vault 的 Shamir 实现、age 加密、PDF 生成和 ZIP 打包 * Recovery is pure JS. Started as Go WASM too but a contributor pointed out it wasn't necessary. Smaller bundles, fewer dependencies for the part that needs to work decades from now 恢复端是纯 JS 。最初也是 Go WASM ,但有贡献者指出没必要。更小的 bundle ,更少的依赖——这部分需要在几十年后依然能用 * Timelocks use drand (League of Entropy) as decentralized time oracle. Only part needing internet 时间锁使用 drand ( League of Entropy )作为去中心化时间预言机,是唯一需要联网的部分 * Self-hostable with Docker, but self-hosting is optional since recovery has no backend 支持 Docker 自托管,但自托管是可选的,因为恢复过程没有后端 * Apache-2.0 license / Apache-2.0 开源协议 The app is in active development and the architecture keeps evolving based on feedback (like the WASM → pure JS change for recovery). I'd love to know what would make this more useful to you. Is there something missing, or something that doesn't fit how you'd actually use it? 项目还在活跃开发中,架构也在根据反馈不断调整(比如恢复端从 WASM 迁移到纯 JS )。很想听听大家的想法:还缺什么功能?有什么地方不符合你的实际使用场景? Try it / 试试看:download the demo bundles from the releases page, open recover.html, drag in 3 of the 5 share folders. 从 releases 页面下载 demo-bundles.zip ,打开 recover.html ,拖入 5 个分享文件夹中的任意 3 个即可体验。 The project currently has Traditional Chinese (中文(台灣)) and several other languages. 目前项目已有繁体中文(中文(台灣))及其他多种语言。 GitHub: Overview: Greetings from Canada! 來自加拿大的問候! https://www.v2ex.com/t/1194940#reply0