Obsidian Remotely Save

Remotely Save 是一款非官方的 0.0 Obsidian 介绍 笔记软件同步插件。它允许用户通过多种云服务进行笔记的同步,包括 Amazon S3DropboxOneDrive 以及 WebDav 等。插件还支持端到端加密、计划自动同步等功能,并完全开源。

主要特性:

  1. 支持多种云服务: 用户可以选择 Amazon S3、Dropbox、OneDrive 等云服务进行同步。
  2. 移动端支持: Vaults 可以在移动端和桌面设备之间同步。
  3. 端到端加密: 如果用户指定密码,文件将在发送到云端之前使用 openssl 格式加密。
  4. 自动同步: 用户可以计划自动同步,也可以手动触发同步。
  5. 开源: 插件完全开源,使用 Apache-2.0 许可证。

使用限制:

设置技巧

设置技巧:

使用技巧:

其它时候,基本上能够自动多设备同步,无需认为干预。

同步算法

《Remotely Save》的同步算法 V2 通过精确的时间戳比较和操作组合,实现了文件和文件夹的同步。它考虑了本地和远程的删除历史,以及文件和文件夹的创建和删除逻辑。通过这种方法,它确保了跨设备的准确同步,同时也揭示了同步过程中可能遇到的一些特殊情况和处理方法。

同步源

同步算法 V2 主要依赖于四个记录源:

  1. 本地文件: 通过扫描本地 vault 中的所有文件获取。
  2. 远程文件: 通过扫描远程服务上的所有文件获取。
  3. 本地“删除或重命名”历史: 通过 Obsidian 的跟踪 API 记录。
  4. 远程“删除”历史: 插件在每次同步时上传。

文件同步处理

同步算法通过收集四个时间戳,并尊重最大时间戳及其相应的操作来处理文件同步。以下是时间戳的组合及相应的操作:

文件夹同步处理

文件夹的同步不使用任何元数据,只关注文件夹的名称。算法首先生成所有文件的计划,然后确定文件夹的存在性。如果应存在的文件夹在本地或远程不存在,则相应地递归创建。

文件夹的删除必须满足以下条件:

示例

网络资源


本文作者:Maeiee

本文链接:Obsidian Remotely Save

版权声明:如无特别声明,本文即为原创文章,版权归 Maeiee 所有,未经允许不得转载!


喜欢我文章的朋友请随缘打赏,鼓励我创作更多更好的作品!