Obsidian + COS 实现多端同步

以前一直用的 Joplin 搭配 Onedrive 的方式来记笔记,觉得 Joplin 客户端还是太过笨重,而且移动端的 UI 实在是太难看,更难忍受的是同步经常会有些各式各样的问题,于是打算换成很多人推荐过的 Obsidian,同步方案就选择用腾讯云的 COS,免费 50G 的储存空间加上每个月 10G 的免费流量,完全足够使用了。

Obsidian 中的配置和插件安装

关闭安全模式

关闭安全模式

打开 Obsidian 后,点击左下角的「设置」按钮,选择「第三方插件」,再选择关闭「安全模式」即可。

安装 Remotely Save 插件

社区插件市场

安装 Remotely Save

关闭安全模式后,点击「社区市场插件」,在搜索栏中输入 Remotely Save,之后安装启用。

腾讯云添加和配置 COS 储存桶

创建新的 COS 储存桶

创建新储存桶1

进入腾讯云控制台的 COS 储存桶列表页面,创建一个新的储存桶。

创建新储存桶2

地域随意选择,最好选一个离你物理距离近的。

名称也随意,我这里用「obsidiantest」做例子。

访问权限选私有读写,然后下一步。

创建新储存桶3

不用做任何修改,直接下一步。

创建新储存桶4

这一步的请求域名先记下来,之后会用到,点击「创建」完成步骤。

创建子账号

为了安全性着想,创建一个只用来访问 Obsidian 储存桶的子账号。

创建子账号1

打开腾讯云控制台的访问管理的用户列表页面,点击「新建用户」。

创建子账号2

选择「自定义创建」。

创建子账号3

选择「可访问资源并接受信息」,下一步。

创建子账号4

用户名随意,这里以「obsidiantest」为例,勾选「编程访问」并下一步。

创建子账号5

这里什么都不用选,直接下一步,接下来的页面也是直接下一步,直到点击完成。

创建子账号6

点击复制,把SecretIdSecretKey保存好,之后会用到。

配置子账号的储存桶权限

配置权限1

回到 COS 储存桶列表页面,点击之前创建的储存桶的「配置管理」。

配置权限2

点击「权限管理」中的「储存桶访问权限」,再点击「添加用户」。

配置权限3

用户类型选择「子账号」,子账号 ID 中选择之前创建的子账号,勾选前三个权限选项,然后点击保存。

储存桶跨域访问 CORS 设置

为了防止一些问题出现,我们还得额外调整一下储存桶的跨域访问 CORS 设置。

依然是在储存桶的「配置管理」中设置。

跨域访问 CORS 设置1

选择「安全管理」-「跨域访问 CORS 设置」,点击「添加规则」。

跨域访问 CORS 设置2

来源 Origins 中填入以下三行配置:

1
2
3
app://obsidian.md
capacitor://localhost
http://localhost

「操作 Methods」的权限全部勾上,其他默认即可,然后点「保存」。

Remotely Save同步设置

同步设置1

打开 Remotely Save 的插件设置页面,选择「S3 或兼容 S3 的服务」,共有五个选项需要配置,分别是「服务地址」「区域」「Access Key ID」「Secret Access Key」和「储存桶(Bucket)的名字」。

还记得我们之前新建储存桶最后一步记下来的请求域名吗。

obsidiantest-1234567890.cos.ap-nanjing.myqcloud.com

其中cos.ap-nanjing.myqcloud.com就是「服务地址」,ap-nanjing为「区域」,obsidiantest-1234567890为「储存桶(Bucket)的名字」。

「Access Key ID」和「Secret Access Key」就是创建子账号最后复制的SecretIdSecretKey

最后点一下下方的检查按钮,如果出现下图一样的右上角提示,则说明配置成功了。

同步设置2

端到端加密

如果你有这个需求的话,还可以在 Remotely Save 的设置页面中,添加一个密码,这样你上传到 COS 的文件就是加密过的。

端到端加密