ObsidianSync

Obsidian同步方案

作者:木鱼精灵
时间:2023年10月18日 (星期三) 22:43:00

一、需求和问题

希望在手机和电脑之间实现文件的实时同步,包括文件的变更操作。但发现目前百度网盘、坚果云都无法实现。百度网盘同步只支持PC端,在手机端无法同步,只能在需要看的时候手动点击下载,没有自动化;坚果云在手机端即使设置了离线收藏,下载的文件也在内部空间,其他应用无法访问。

正如Obsidian同步,也有网友研究Obsidian发布的免费替代品。
https://zhuanlan.zhihu.com/p/634583092?utm_psn=1699499464077840384

二、背景和软件

obsidian git

通过github自动实现多平台同步和版本控制
(1)gitee(国内github)新建远程仓库
(2)本地仓库创建及同步远程仓库
(3)obsidian安装obsidian git插件
(4)设置第三方插件obsidian git(主要设置auto pull interval,多个平台都设置,实现多平台自动同步)

Remotely save 插件,使用webdav同步到云。

Remotely save 插件,使用webdav同步到云。
或者“本地仓库”直接使用云盘目录:1.打开 Obsidian。2.在初始界面选择“打开本地仓库”,然后导航到你在 OneDrive 或坚果云上新建的文件夹。

FolderSync

Snycthing, 一款你值得拥有的文件同步软件。

三、思考与方案

  1. 官方:Obsidian官方Sync同步功能,付费。
  2. 第三方软件进行同步(文件系统层级)。同步的本质是不同终端的文件夹映射。由于Obsidian移动端暂不支持直接连接外部云盘,需要通过第三方如FolderSyncFoldersync或者DropSync、Rsync软件将移动端的文件夹(手机本地存储文件夹)与云端强行同步,这类软件本身并不提供云空间储存,因此需要有支持WebDav的网盘,例如坚果云。
  3. 插件方案一:Remotely方案:Obsidian Remotely第三方插件,配合DropBox/OneDrive / WebDAV/S3/OSS/COS 等网盘及云存储服务来使用。
    插件方案二:GitHub​方案:配合 obsidian-git 插件做同步。将本地 vault 推到 github 仓库。问题:网络问题。

自用:基于对“同步”算法的不信任,考虑使用异步方式进行数据的同步和备份。
一是生产数据。平板本地的Obsidian产生数据,数据单向流动。即:平板-云盘(云盘移动版的手机文件夹自动备份功能)。
二是加工数据。平板的数据比较原生态,从云盘新增方式下载到笔记本的本地,通过本地Obsidian精加工。即:笔记本-云盘(PC端的同步盘功能)。该版本是权威数据。特别注意:Obsidian使用的时候,不要打开云盘,两者争抢资源会导致Obsidian保存失败、云盘同步失败。
三是共享数据。异地的PC上的Obsidian均下载云盘的数据,保持最新数据同步,仅供查阅。


参阅件:

Obsidian 多端同步方案及R2图床

  1. 工具选择
    Obsidian有很多同步方法:

官方同步(sync核心插件),96美元/年
Remotely Save 插件,定期同步
LiveSync 插件,即时同步
Git 插件
第三方工具如 resilio sync、iCloud、Onedrive、foldersync

  1. Remotely Save 存储库选择
    Remotely Save 支持:

S3 或兼容S3的服务
Dropbox
Webdav
Onedrive个人版
最终选择是 R2(S3兼容)和 Webdav(infinicloud),我会按 Dropbox和Onedrive→R2→Webdav的顺序描述,并提及一些服务商。

2.1 Dropbox 或 Onedrive
选择后鉴权就行了,适合能稳定访问服务的使用环境。
Onedrive个人版免费层 5GB,Office365拼车(40-50/年)后1TB,但国内一些地区不能访问,一些地区能访问但间歇抽搐,一些地区平常一直顺畅但特殊日期,各有各的缘法。

2.2 Cloudflare R2
稳定、快速,免费层提供 10GB存储容量,计费见官方价格。

项目 免费层 付费层
存储 10GB/月 $0.015 / GB-month
A类操作 100万次/月 $4.50 / million requests
B类操作 1000万次/月 $0.36 / million requests
免费层适合轻度使用,A类操作(写)和 B类操作(读)一般不会超额。超额费用也不高,100GB额外存储费用约 110元/年(90Gx0.015x12=$16.2)。

2.3 WebDav
WebDav 是非常简单、使用广泛的网盘协议,服务商也非常多。这里推荐 infinicloud,免费层提供 20GB存储,没有其他限制。
注册后在 My Page 页面打开 Apps Connection,生成 Password,就有了 服务器地址、用户名、密码。
注意,例如 Remotely Save 里的基文件夹名为 “iliy”,你要先在 infinicloud 的 File Browser 页面根目录下建立 “iliy”文件夹。
infinicloud 是一家日本服务商,在中国访问速度大概 400KB/s~2MB/s,对于笔记这样的大量小文件很够用了。

  1. 已排除服务商
    3.1 坚果云 Webdav
    坚果云対用户 webdav api 的调用限制是 500次/30分钟,即使每30分钟同步1次,也会轻易超额报错。

3.2 Backblaze
免费层存储 10GB,但B类操作只给了 3000次/天,我轻易超了。

  1. 可以试探的其他选择
    我是 A库用 R2,B库用 infinicloud,全端同步。你也可以试试以下选择:

4.1 koofr
好象是北欧的,支持 webdav,免费层提供10GB存储,还支持链接并管理 Onedrive、Google Drive、Dropbox。

4.2 Yandex Disk
俄罗斯的谷歌,支持 webdav,免费层提供10GB存储。

4.3 Alist
自建服务,支持挂载很多网盘,并提供 webdav,很方便。
需要一台服务器,便宜的 VPS 可以低到 $2/年,有一定学习成本。也可以在软路由、NAS上搭建,搭配 Cloudflare 的 Zero Trust 把家里设备的服务穿透出来。

4.5 阿里云 OSS
支持 S3 的服务,最低 9元/年=40GB存储空间,但流量、API 各类操作的收费复杂,可以试试。