想要在应用内实现加密、增量同步文件到 s3,有什么建议吗?

247 天前
 0o0O0o0O0o

原始需求是通过 s3 同步客户端应用的数据,类似于 https://github.com/remotely-save/remotely-save ,但当然不只是笔记软件,可能是 keepass ,也可能是 taskwarrior ,又或者是 beancount ,甚至是 rime 词库,总之是那些数据很私密并且不需要服务端的应用。

  1. 需要增量、压缩
  2. 需要客户端加密的最佳实践
  3. 后端是 s3 ,所以要尽可能减少请求的数量,因为这与费用相关

我从 这里 发现了一些开源的备份工具,例如 duplicati 、knoxite 、restic 、kopia 等,但是并没有找到太多讲述原理和设计的,大部分都需要去读它们的源码才可能了解和对比它们,所以在这之前我想先寻求一下各位的建议

1008 次点击
所在节点    程序员
4 条回复
locoz
247 天前
看看 juicefs ?感觉也可以适用于你的需求
0o0O0o0O0o
247 天前
@locoz #1 是的,这个在查找的时候也搜索到过,感觉也非常厉害。
iX8NEGGn
247 天前
Duplicati 的基础原理挺简单的,它有提供一份简短的技术白皮书: https://www.duplicati.com/assets/Block-basedstorageformat.pdf

它只有三种文件类型 Filelist 、lndex file 、Block file ,把软件下载下来,自己备份少许文件,把备份的文件解压,看看里面的数据结构,一下就能明白它的原理了。

其他比较流行的备份软件比如 Duplicacy 、Kopia ,我记得它们的文档也有解释备份或加密模型,之前有研究过,时间过去太久有点忘记了。
0o0O0o0O0o
247 天前

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1023185

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX