关于 ONS
ONS 即 Obsidian NAS Sync 的缩写.
这是一套致力于快捷高效的解决 Obsidian 与家中 NAS 之间文件同步问题的套件.
它由三部分组成:
- Obsidian Plugin: Obsidian 插件负责监控知识库中的变动并与 NAS 进行同步
- Central Control Server: 中控服务器负责连接双方信息的认证和交换
- NAS Sync Server: NAS 同步服务负责存储知识库数据并向客户端提供数据同步
其中 中控服务器 可使用 ons.betax.dev
, 也可自行部署在云服务器中.
对比其他同步方案
项目 | ONS | Sync | iCloud | WebDAV(云) | WebDAV(自) | SMB |
---|---|---|---|---|---|---|
描述 | 点对点NAS同步服务 | 官方同步服务 | 苹果网盘 | 第三方云盘接入 | 自建网盘 | 硬盘挂载 |
使用成本 | 一次性硬件+每月网费 | $5/月 | 50GB ¥6/月 | ¥10~¥30/月 | 一次性硬件+每月网费 | 一次性硬件+每月网费 |
优点 | 数据私密、长期成本低廉 | 支持版本管理、选择性同步、配置简单 | 速度快、空间价格便宜、支持全平台 | 空间便宜、全平台支持 | 数据私密、长期成本低廉 | 数据私密、长期成本低廉 |
缺点 | 你需要一台NAS, 一次性投入较大, 网络NAT支持 | 空间小、价格高 | 体验最好还是需要苹果全家桶设备 | 数据安全没有保障、服务不稳定 | 一次性投入较大、需要公网IP或内网穿透 | 一次性投入较大、需要公网IP或内网穿透 |
适用人群 | 家中已有NAS但没有公网IP者 | 需要稳定服务、版本控制且价格不敏感者 | 苹果全家桶用户 | 已经在使用网盘或价格非常敏感者 | 家中已有NAS且有公网IP或穿透手段者 | 家中已有NAS且有公网IP或穿透手段者 |
使用场景
ONS 在收集调查身边人使用 Obsidian 的习惯后确定了要服务的核心使用场景:
1n1: 1 台 NAS, 多个 Obsidian 客户端, 同时 1 个在线
- 1 台 NAS
ONS 不会考虑多个存储目的地的情况.
首先在大多数 Obsidian 用户中, 需要多地存储的不到 3%, 其次 NAS 本身就提供了与第三方的多种同步方式.
如果你确实有多地存储的需求, 请搭配其他同步服务一起使用, 例如: NAS 中自带的网盘同步.
- 多个 Obsidian 客户端
ONS 采用单向注册制, 客户端只需填写正确的穿透ID和密码即可, 对客户端数量没有限制
- 同时 1 个在线
在设计之初, 考虑大部分用户不存在同时打开多个 Obsidian 进行编辑的情况, 所以 ONS 不具备内容冲突解决能力, 请同时最多 1 个在线.
切记! 请勿多个客户端在线编辑, 这可能会导致内容冲突
功能
- Github 登录: 接入 Github, 免去账户管理的麻烦
- P2P 直连: 基于 WebRTC 技术实现 NAS 与客户端的点对点直连
- 密码保护: NAS 端支持设置密码, 客户端若无提供正确密码, 将直接被拦截在信息交换阶段
- 变动自动同步: Obsidian 客户端支持修改文档内容后自动同步
- 大文件分块传输: 考虑带宽限制与技术条件,
ONS
会将大文件分为40KB
的块来进行传输