Janz Blog

Janz Blog

Obsidian利用Syncthing全平台同步终极方案

12
2025-03-02

或许这就是最好的Obsidian全平台同步方案,甚至在国内可能优于官方的同步,因为它的同步速度取决于你内网带宽!并且它不局限于同步Obsidian,也可以同步其他基于文件的的资料或者照片以及视频。

前言

Obsidian的同步最大的问题是IOS端,在桌面端我们可以利用OneDrive,Dropbox等工具来同步,但是在IOS端我们无法使用这些工具来同步其他app的数据,所以如果不使用官方的同步,我们只能依赖插件,例如 remotely-savelive-sync 或者基于 git的http插件以及 working copy 来同步文件,这些插件的最大问题就是性能和对冲突的处理策略不友好,那么 syncthing便是终极的同步方案!

Syncthing 一个几乎实时的Obsidian同步方案,某些方面,它甚至优于官方同步。

Syncthing的介绍

以下来自[官网][https://syncthing.net/]

Syncthing is a continuous file synchronization program. It synchronizes files between two or more computers in real time, safely protected from prying eyes. Your data is your data alone and you deserve to choose where it is stored, whether it is shared with some third party, and how it’s transmitted over the internet.

总结来说:syncthing是一个开源的多端p2p同步工具。

Syncthing的安装

桌面端的下载地址:[官网下载][https://syncthing.net/downloads/]

Windows端

windows端有2类客户端,一类是基于命令行+web端ui的客户端,一类是集成ui客户端,两种都是一样的。

集成UI客户端

[SyncTrayzor下载地址][https://github.com/canton7/SyncTrayzor]

基于WebUI的Base客户端

建议下载安装版[Windows安装版][https://github.com/Bill-Stewart/SyncthingWindowsSetup/]
运行:开启菜单中搜索 syncthing,找到 Start Syncthing打开即运行,没有窗口,没有托盘,这时我们打开浏览器,输入 http://127.0.0.1:8384即可管理[[Syncthing]]。
注意:安装版无法开机自启动,你可以安装以下步骤设置自启动。

  1. 资源管理器打开 %APPDATA%\Microsoft\Windows\Start Menu\Programs\Syncthing 复制 Start Syncthing这个快捷方式
  2. win+R输入 shell:startup打开自启动文件夹
  3. 把快捷方式粘贴到自启动文件夹中,下次开机会自动启动syncthing
    你也可以记住这个文件夹的位置,或者把 Start SyncthingStop Syncthing快捷方式复制到桌面用于手动启动和关闭,也可以从开始菜单启停。

iPhone和iPad端

iPhone上一直没有一个友好的syncthing客户端,主要是无法跨沙箱,也就无法同步文件夹,这确实非常的难受,使用起来很受限,之前一直使用 mobius sync这个收费的客户端,它能跨沙箱,但是如果体验后就必须保持后台,使用体验不算很好。直到开源的 Synctrain的出现让IOS上的同步体验达到几乎无感。

Synctrain

[Github项目][https://github.com/pixelspark/sushitrain]
App Store:[Download on the App Store][https://apps.apple.com/nl/app/synctrain/id6553985316] (非美区)
TF:[Test beta versions through TestFlight][https://testflight.apple.com/join/2f54I4CM]

Mobius Sync

App Store下载,国区38元买断,也很不错的app。

两个app最大的区别在于能否用快捷方式!

Syncthing配置(仅演示局域网下的同步)

以Windows端和iPhone同步为例,其他设备加入大同小异,但syncthing的中继和发现以及stun服务不友好,谨慎使用!

  1. 在2端添加远程设备
    1. windows浏览器打开 http://127.0.0.1:8384,右上角 操作>显示ID 会显示出来二维码。
    2. IOS端 Devices>Add device > Scan using camera 扫描二维码,右上角 Add添加设备
    3. 如果正常,浏览器会收到一条添加设备的通知,点击 添加设备即可连接设备
  2. 在2端添加共享文件夹 Obsidian
    1. 浏览器 +添加文件夹
      mQqgnbcvoIS2HJX.png|500
    2. Obsidian文件夹点击,然后 编辑,选择共享文件夹。
      M4QCzNsIglXK2u1.png|500
    3. iPhone打开 文件app,在 我的iPhone>Obsidian 中新建一个 Obsidian的文件夹用于保存[[obsidian]]的数据
    4. iPhone端 Folders中会显示发现了共享的 Obsidian,选择 Select existing filder > 第3步中新建的Obsidian文件夹,显示警告选择继续即可,Synchronize选择 All files,点击右上角 Add folder
    5. IPkCV2jpyTnYuz6.png|500
  3. 配置Over,你可以在同步的文件任意的添加一些文件看看同步的情况如何
  4. 配置自动化流程(灵魂)
    1. 新建一个快捷指令添加以下2个 Synctrain动作即可
      • Rescan folder: Folder选择上面的 Obsidian文件夹,Subdirectory留空
      • Synchronize for a whileTime填写 15
      • VlY5yCrzBLu8ZiA.png|500
    2. 打开自动化,新建一个自动化流程
      • App选择Obsidian,已打开已关闭 全部勾选,点击立即运行
      • 下一步选择刚才创建的快捷指令
      • 完美自动化!
      • fxhlr9bGnvHjB7J.png|500
  • 自动化流程就是打开app同步一次,关闭app同步一次,如果你怕同步不成功,手动打开Synctrain看一下是否同步即可。

Show Time

没录

结语

用了2天感觉体验还是相当不错的,不过只适合于个人使用,而且最好不要同时编辑两端,它不会比对文件,只会创建冲突文件。
syncthing是有版本控制的,以及syncthing的公共中继有些问题,这些等进阶篇再写了。