Syncthing 使用教程:跨设备文件同步与 Obsidian 联动指南

目录

📖 导读:这篇文章面向第一次接触 Syncthing 的新手小白。我会从"为什么需要它、它和网盘有什么区别"讲起,把 P2P 同步、设备配对、文件夹共享这些概念都用通俗的语言讲清楚。全文按 Windows → Android → iOS → Linux/macOS 的顺序,覆盖你手头几乎所有设备;最后一章专门讲如何用它让 Obsidian 笔记库在多台设备间自动同步——这也是我实际使用它的核心场景。文中所有操作步骤都可以照着点,遇到问题直接翻文末的速查表。

如果你平时用印象笔记、语雀、石墨这种"网页版"笔记,会一直有一种"文件不在自己手里"的不安全感。Obsidian 不一样:它的所有笔记就是本地的一个个 Markdown 文件,你完全拥有它们。而 Syncthing 就是帮你把这些文件在多台设备之间自由同步、但不经过任何第三方云盘的工具。


1. 什么是 Syncthing?为什么不用网盘?

1.1 一句话概括

💡 注(Syncthing):Syncthing 是一个开源、免费、点对点(P2P)的文件同步工具。它在你的设备之间直接传输文件,不经过任何云服务器。你的文件"始终在自己手里"。

你可以把它理解成:你所有的设备组成了一个"私密聊天群",文件就是群里的消息,设备之间直接互传,群外的人(包括任何公司)都看不到内容。

1.2 和网盘(坚果云、OneDrive、百度网盘)对比

特性网盘Syncthing
数据存储位置上传到对方的服务器只在你自己的设备之间传输
数据隐私文件在他人服务器上文件始终在自己设备上
同步速度受服务器带宽限制,国内大文件常被限速局域网内极快;公网走 P2P,取决于双方网络
免费额度 / 文件大小限制常见 10~20GB 免费额度,或限单文件大小完全免费、无额度、无单文件大小限制
同步冲突处理有的会静默覆盖双方同时改同一文件时,冲突版本会保留一份副本
开源否完全开源,可审计代码

💡 注(为什么在国内 Syncthing 格外好使):网盘在国内常面临上传下载限速、某些文件类型被和谐(分享"学习资料"被秒删)、隐私疑虑等问题。Syncthing 的同步流量是设备之间直连的,不经过网盘厂商的服务器,所以既没有"审核删除",也没有"会员限速"这一说。它在国内互联网环境下依然能用,原因见下一节。

1.3 三个核心概念:设备直连、中继、全局发现

这是 Syncthing 文档里出现频率最高的三个词,搞懂它们,后面的配置你就能自己举一反三。

① 设备直连(P2P,点对点)

两台设备如果能互相直接访问(比如在同一 WiFi 下,或一方有公网 IP),Syncthing 就直接在两台设备之间传文件,速度就是你的局域网/宽带速度。

② 中继服务器(Relay)

如果两台设备无法直连(最常见:两边都在家用 NAT 路由器后面,都没有公网 IP),Syncthing 会退而使用一个公开的"中继服务器"帮两边转发数据。速度会慢一些,但保证你能同步上。

💡 注(NAT / 路由器):绝大多数家庭宽带上网时,你的设备不是直接暴露在公网上,而是躲在路由器后面,公网只能"看到"路由器的地址。两个都躲在路由器后面的设备想直连,就需要"打洞"(NAT 穿透)——能打洞成功就直连,打洞失败就退回中继。你不需要理解打洞的细节,只要知道 Syncthing 会自动尝试"先直连、不行再中继"就行。

③ 全局发现(Global Discovery)

Syncthing 没在互联网上建"文件服务器",但需要知道"对方设备现在在哪个 IP"。这个信息由一个发现服务器来广播——它只记录"设备 ID → 当前 IP",不接触你的文件内容。Syncthing 自带若干默认的公开发现服务器,所以你开箱即用,不需要自己搭建任何服务器。

💡 注(一个准确的类比):发现服务器 = 通讯录,帮你查到对方地址;中继服务器 = 快递中转站,无法直接送达时代为转交;而文件本身始终只在你和设备之间流动。Syncthing 默认的发现服务器和中继服务器在国内均可访问,这也是它能"开箱即用"的原因。

1.4 同步流程一句话

把 Syncthing 装到两台设备上 → 互相"添加设备"配对 → 把一个文件夹"共享"给对面 → 之后这个文件夹里的任何改动,都会自动同步到另一台设备。


2. Windows 安装与初始化(第一次上手)

2.1 下载

打开 Syncthing 官网下载页:https://syncthing.net/downloads/

  • 选择 Windows 分类下的 64 位版本(文件名形如 syncthing-windows-amd64-v1.29.x.zip),下载。
  • 官网在国内访问偶尔慢,如果打不开,可以去 GitHub Releases 页面下载:https://github.com/syncthing/syncthing/releases,找最新的 syncthing-windows-amd64 压缩包。

💡 注(版本号):Syncthing 目前稳定版在 1.29.x(2026 年 8 月)。教程里的操作界面在不同小版本间基本一致,版本新一点旧一点不影响照做。

2.2 解压与启动

  1. 把下载的 zip 解压到一个固定位置,比如 C:\Tools\syncthing。
  2. 进入解压出来的文件夹,双击 syncthing.exe。
  3. 第一次运行,会弹出一个黑窗口打印日志,不要关掉它(关掉等于退出 Syncthing)。几秒后,它通常会自动打开浏览器,进入 Web 管理界面:http://127.0.0.1:8384

💡 注(Web 管理界面):Syncthing 本体是个后台服务,它不提供传统软件那样的图形窗口,而是在你的浏览器里提供一个管理页面(默认地址 127.0.0.1:8384)。所有配置都在这个网页里完成。别关那个黑色命令行窗口,它是服务本体。

如果浏览器没自动打开,手动在浏览器地址栏输入 http://127.0.0.1:8384 即可。

2.3 初始安全设置(强烈建议做)

打开管理页面后,右下角会提示"未设置密码,局域网内任何设备都能访问"。点右上角「操作 Actions」→「设置 Settings」:

  1. 常规 General 标签页:
    • 把「设备名 Device Name」改成好认的名字,比如 Windows-台式机。
    • 把「地址 Address」保持 127.0.0.1:8384 不动(管理页面只在本机可访问,更安全)。
  2. GUI 认证 GUI Authentication 标签页:
    • 设置一个用户名和密码。这样局域网内其他人无法通过你的 IP 打开管理页面。
  3. 点「保存 Save」。

💡 注(为什么默认只监听 127.0.0.1):Syncthing 默认管理界面只允许"本机"访问(127.0.0.1),也就是说只有你在这台电脑上能打开配置页面。这样即使没设密码,外人也进不来。设密码是双保险,也方便你以后从手机浏览器管理。

2.4 开机自启(Windows)

  1. 在 Web 管理界面点右上角 「操作 Actions」→「安装/更新安装为 Windows 服务 Install/Upgrade to Windows Service」。
  2. 按提示输入当前 Windows 用户的管理员密码(或确认 UAC 弹窗)。
  3. 安装成功后,Syncthing 会作为系统服务在后台运行,开机自启、无需登录也能跑。此时那个黑色命令行窗口可以关掉了(服务在后台接管)。

💡 注(服务 vs 前台运行):作为"Windows 服务"运行后,Syncthing 在后台常驻,不占窗口,开机自动启动。这是最省心的方式。如果你不想装成服务,也可以让那个黑窗口一直开着,效果一样只是多一个窗口。

2.5 第一步:先在 Windows 本机创建一个共享文件夹

  1. 管理页面左侧点 「添加文件夹 Add Folder」。
  2. 填三样东西:
    • 文件夹 ID(Folder ID):一个英文标识,比如 obsidian(之后配对时要保持一致,见下文)。
    • 文件夹路径(Folder Path):选择你要同步的目录,比如 C:\Users\你\Documents\ObsidianVault。
    • 其他保持默认即可。
  3. 点「保存 Save」。

此时文件夹还没有"共享"给任何设备,因为目前只有你这一台设备。下一步我们添加手机,然后把文件夹共享过去。


3. Android 安装与设备配对(最常用的组合)

手机端是大多数人用 Syncthing 的主要场景(走路、通勤时掏出手机看笔记)。

3.1 安装 Syncthing for Android

  • 推荐渠道:F-Droid 应用商店(开源的安卓应用市场)搜索 Syncthing,或 GitHub 上 Syncthing/syncthing-android 仓库的 Releases 页下载 APK。
  • Google Play 上也有,但因为国内网络原因可能不便下载。
  • 安装后首次打开,授予存储权限(需要读写你指定的笔记文件夹)。

💡 注(Syncthing 安卓客户端):它叫 Syncthing(官方),或 Syncthing-Fork(社区加强版,功能更多)。两者都能和电脑版互通。新手用官方版即可,追求更多功能可以用 Fork 版。

3.2 把手机和 Windows 配对

Syncthing 配对的核心是**「设备 ID」**——每台设备一个唯一标识,格式是一长串字母数字。

在手机上看电脑的设备 ID:

  1. 电脑 Web 管理页面右上角点 「操作 Actions」→「显示 ID Show ID」,会弹出一个二维码和一段 ID 文本。
  2. 手机 Syncthing 主界面点右下角**加号(+)**或「添加设备 Add Device」。
  3. 点二维码图标,扫描电脑屏幕上那个二维码,电脑的信息(设备名 + ID)会自动填入。
  4. 点「保存」。

在电脑上确认手机的请求:

  1. 手机添加电脑的同时,电脑 Web 界面右上角会弹出提示:“发现新设备,是否添加?”
  2. 点「添加设备 Add Device」,确认设备 ID 无误,保存。

💡 注(为什么必须扫码/粘贴 ID 而不是搜索):Syncthing 不依赖账号体系,它靠设备 ID 作为身份凭证。对方持有你的设备 ID,才能向你发起同步。二维码让这一步既安全又省事。

至此,两台设备配对完成。此时它们已经"认识"了,但还没开始同步任何文件。

3.3 把共享文件夹同步到手机

在电脑上把文件夹共享给手机:

  1. 电脑 Web 界面,点左侧那个你建的文件夹(比如 obsidian)。
  2. 在「共享(Sharing)」标签页,勾选手机设备。
  3. 保存。

在手机上接收这个文件夹:

  1. 手机 Syncthing 会收到"新文件夹共享"的提示,点「接受 Accept」。
  2. 设置手机端的本地路径(文件夹放哪里),比如 /storage/emulated/0/Documents/Obsidian。
  3. 确认后,手机开始从电脑拉取文件。

💡 注(文件夹 ID 的作用):同步时 Syncthing 靠「文件夹 ID」来匹配"两边是同一个文件夹"。电脑上文件夹 ID 是 obsidian,手机上接受共享时它也会是 obsidian,两边就能对上。文件夹 ID 必须在两端一致,而"文件夹路径"在每台设备上可以不同(各放各的位置)。

同步开始后,在手机 Syncthing 主界面能看到传输进度。等首次全量同步完成后,改动任何一端,另一端几秒内自动更新——如果你愿意,到这里已经能用了。

💡 注(首次同步后怎么验证):先在手机端 Syncthing 里看文件夹状态变成"已同步 Up to Date",再在电脑端往文件夹里新建一个测试文件,看手机端是不是几秒内出现了。这比盲目相信配置靠谱得多。


4. iOS:特殊说明(Synctrain / Möbius Sync)

苹果生态比较特殊:Syncthing 官方没有 iOS 客户端(因为 iOS 限制后台运行,官方不做)。但目前有两款第三方方案可用。

4.1 首选:Synctrain(开源免费,推荐)

  • Synctrain(GitHub 上叫 Sushitrain)是目前推荐的 iOS Syncthing 客户端:完全开源(MPLv2)、免费、无流量限制。
  • 它在手机上运行完整的 Syncthing 内核(不是网页套壳),功能和其他平台一致。
  • 支持选择性同步(只同步需要的文件)、图片/视频浏览、照片备份等,比付费的 Möbius 还多。
  • App Store 上架,直接搜索 “Synctrain” 下载即可;如果所在地区 App Store 搜不到,可以走 TestFlight 渠道(关注开发者 @tvandervorst 的发布说明)。

4.2 备选:Möbius Sync(付费、历史悠久)

  • Möbius Sync 是老牌方案,App Store 上架,免费版有 20MB 流量限制,Pro 一次性买断(约 6 美元)。
  • 注意:它的内置 Syncthing 内核更新较慢(目前还停留在 1.28.x,而桌面端已是 1.29.x),且闭源。如果你要长期使用,更推荐 Synctrain。

💡 注(iOS 后台同步的固有限制):无论用哪款,iOS 都不允许 App 长时间在后台联网。iOS 上同步通常要打开 App 才会触发(或靠系统在特定时机短暂唤醒)。所以"iOS 自动、随时同步"做不到像 Android 那样实时——这是苹果系统的限制,不是软件能解决的。合理预期:iOS 上"打开 App 即同步",Android/电脑上"实时同步"。

4.3 iOS 与电脑配对

配对逻辑和 Android 一样:在电脑「操作 Actions → 显示 ID」处扫码,或在 iOS App 里输入电脑的设备 ID。配对完成后同样在电脑端把文件夹共享给 iPhone 即可。


5. Linux / macOS 补充(可选)

如果你是 Linux 或 macOS 用户,Syncthing 同样支持,而且配置逻辑和 Windows 完全一致(装好 → 打开管理页面 → 配对 → 共享文件夹)。这里只给关键安装步骤。

5.1 安装

Debian / Ubuntu:

sudo apt install syncthing

macOS(Homebrew):

brew install syncthing

或任意平台:从官网/GitHub 下载对应压缩包,解压后运行 syncthing。

5.2 启动与管理页面

syncthing serve

启动后同样访问 http://127.0.0.1:8384,之后的配对、共享步骤和 Windows 章节完全一样。

5.3 开机自启

Linux(systemd,以 Ubuntu 为例):

# 启用用户级 systemd 服务,开机自启(无需 sudo,推荐)
systemctl --user enable syncthing.service
systemctl --user start syncthing.service

macOS(launchd):Syncthing 官方文档提供了一份 launchd plist 示例(syncthing.plist),把它放入 ~/Library/LaunchAgents/ 并 launchctl load 即可。想省事的话,也可以直接用 brew services start syncthing。


6. 实战:让 Obsidian 笔记库跨设备自动同步(核心应用)

前面都是 Syncthing 本身的操作,这一章把它和 Obsidian 组合起来——这也是我自己的日常用法。

💡 注(Obsidian 是什么):Obsidian 是一款本地优先的 Markdown 笔记软件。你的笔记就是电脑/手机上的一堆 .md 文件(称为 Vault 库),Obsidian 只是"打开"这堆文件的编辑器。正因为笔记是普通文件,Syncthing(或 Git)才能直接接管同步。

6.1 整体思路:三步

① 让 Obsidian 的 Vault 文件夹 = Syncthing 的共享文件夹
② 在每台设备上把 Syncthing 指向这个文件夹
③ 用任意一台设备上的 Obsidian 打开它 → 编辑自动同步

6.2 第一步:Windows 上建好 Vault 并共享

  1. 在 Obsidian 里新建一个 Vault,位置比如 C:\Users\你\Documents\ObsidianVault。
  2. 回到 Syncthing Web 界面,如果还没建过这个文件夹,就添加文件夹,文件夹 ID 填 obsidian,路径填这个 Vault 目录。
  3. 在「共享」里勾选你的手机设备。
  4. 保存后,整个 Vault 就会被同步到手机。

💡 注(同步整个 Vault 还是子文件夹?):直接同步整个 Vault 根目录最省心——Obsidian 的插件配置(.obsidian 文件夹)、附件、模板全都会一起同步过去,手机和电脑的笔记体验一致。不要只挑一个子文件夹同步,那会让配置分裂。

6.3 第二步:Android 上打开同一个 Vault

  1. 手机接受共享后,Vault 的文件就到了你设置的手机路径下,比如 /storage/emulated/0/Documents/Obsidian。
  2. 在手机安装 Obsidian(安卓版)。
  3. 打开 Obsidian →「打开文件夹作为库 Open folder as vault」→ 选择这个路径。
  4. 完成后,手机 Obsidian 里看到的就是和电脑完全一样的笔记库。

关键设置(Android):为了让"电脑一改,手机马上变",在手机 Syncthing 里做两个设置:

  • 文件夹观察者(Folder Watcher):打开。这样手机端的 Syncthing 会实时监听文件夹变化,改动立刻触发同步,不用等默认的扫描间隔。
  • 主文件夹模式(Master Folder):保持关闭(默认)。这个模式是"单向同步"用的,Obsidian 双向编辑要关掉它。

💡 注(为什么这两个设置重要):Syncthing 默认每隔几十秒扫描一次文件夹。开着"文件夹观察者"后,改动会即时触发同步,手机和电脑之间的编辑几乎无缝。而"主文件夹模式"是单向的(电脑只推给手机),开着它会禁止你在手机上编辑,Obsidian 双向使用必须关掉。

6.4 第三步:写完即同步,无感体验

配置完成后,日常就是这样:

  1. 在电脑 Obsidian 写笔记 → 保存 → Syncthing 自动把改动推到手机。
  2. 出门在地铁上掏出手机 Obsidian 接着写 → 保存 → 回到电脑前文件已经是最新。
  3. 没有任何"上传/下载"按钮,一切自动。

💡 注(冲突怎么办):如果两台设备同时改了同一个文件(比如电脑和手机同一分钟都在编辑 日记.md),Syncthing 不会静默覆盖——它会保留一份名为 日记.sync-conflict-20260814-123456-ABCDEFG.md 的冲突副本。手动看一遍、合并内容、删掉冲突副本即可。日常单人使用几乎遇不到。

6.5 进阶:用 .stignore 避免"视图状态"互相覆盖(强烈建议)

Obsidian 每个 Vault 里都有一个隐藏的 .obsidian 文件夹,其中 workspace.json 记录的是当前窗口布局(哪个笔记打开着、面板怎么排)。这类"状态文件"如果被同步到另一台设备,会导致你在手机上打开时,布局是电脑上残留的,体验很怪。

解决办法:在共享文件夹根目录创建一个 .stignore 文件,让 Syncthing 不同步这个状态文件:

// 忽略 Obsidian 每台设备各自独立的窗口布局状态
.obsidian/workspace.json
.obsidian/workspace-mobile.json

💡 注(.stignore 是什么):Syncthing 支持在一个共享文件夹里放一个 .stignore 文本文件,按行写"忽略规则",被忽略的文件不会同步。它和 Git 的 .gitignore 思路一样。上面的规则让每个设备保留自己的窗口布局,同时笔记正文、插件、配置照常同步。

小提示:.stignore 修改后需要重启 Syncthing 或在管理界面点"重新扫描"才生效。不要把它共享到手机(它自己定义忽略规则,不该被传播)。

6.6 一个完整的目录结构示例

C:\Users\你\Documents\ObsidianVault   ← Windows 上的 Vault(= Syncthing 共享文件夹)
├── 笔记
│   ├── 日记.md
│   └── 读书笔记.md
├── 附件
│   └── 图片.png
├── .obsidian/          ← Obsidian 配置(会同步,除 workspace 状态外)
├── .stignore           ← 忽略规则(不参与同步)

手机上接收后,/storage/emulated/0/Documents/Obsidian 就是上面这个结构的镜像。两边 Obsidian 打开各自的路径,笔记完全一致。


7. 安全与隐私配置(进阶)

默认配置已经不错,但这几个开关值得打开,尤其是你同步的笔记比较私密时。

7.1 给管理页面加 HTTPS

在「操作 Actions → 设置 Settings → GUI」里,把「使用 HTTPS」打开。这样管理页面走加密连接,局域网内不会被明文窥探。

7.2 启用文件夹加密(可选)

Syncthing 支持 不受信任的设备 概念:如果某台设备(比如临时借给别人的电脑)不被信任,可以为它启用文件夹加密,这台设备上存的是加密后的文件,它看不到明文内容,但仍能帮你存储和转发。在「设置 → 设备 → 该设备的共享文件夹 → 启用加密」里开启。日常自己的设备用不到,知道有这个选项即可。

7.3 只读共享(单向同步)

如果有一台设备只想"看"、不想让它"改"(比如客厅的展示平板),可以:

  • 在电脑「设置 → 设备 → 该设备 → 共享文件夹 → 高级 → 只读」勾上。
  • 或在该设备端把该文件夹设为「仅接收 Receive Only」模式。

7.4 关闭不用的设备与中继

  • 在「设置 Settings → 连接 Connections」里,可以取消勾选不用的默认全局发现服务器 / 中继服务器,进一步减少对外暴露。
  • 前提是你和你的设备之间能直连(例如在同一个局域网)。如果是异地同步,通常还是需要中继兜底。

8. 常见问题速查表

问题原因解决办法
两台设备一直显示"连接中 Connecting"无法直连,正在尝试中继等一会儿,通常会自动切到中继;确认两台设备时间同步(设备时间不准会导致 TLS 握手失败)
同步速度很慢走的是中继服务器(两边都无公网 IP)在「设置 → 连接」里看是否"通过中继 Relay";无法直连时中继速度是正常现象
手机收不到电脑的文件夹共享请求手机端没有确认,或未配对检查手机端「添加设备」是否完成;电脑端文件夹「共享」是否勾选了手机
提示"设备 ID 不匹配 / 证书错误"设备时间不正确,或 ID 输入有误校准设备时间;重新扫码/核对设备 ID
同步时提示"文件夹冲突"两端同时修改了同一文件找到 .sync-conflict-* 文件手动合并,然后删除冲突副本
电脑重装后手机连不上电脑是"新设备"了,手机还认旧 ID重装后在手机上删除旧设备条目,重新配对
Obsidian 插件在手机/电脑不同步没同步 .obsidian 文件夹共享整个 Vault 根目录(包含 .obsidian);确认 .stignore 没误伤插件文件
手机 Obsidian 打不开/不识别 Vault路径不对,或文件还没同步完成确认手机端 Obsidian 打开的路径就是 Syncthing 下载的路径;等首次同步完成再打开
管理页面无法访问服务没启动 / 端口被占用确认 syncthing.exe 在运行;`netstat -ano

9. 一些建议与总结

  • 先小后大:首次配置别直接同步几十 GB 的大文件夹。建个几 MB 的测试文件夹,跑通"电脑↔手机"双向同步,确认无误后再把真实 Vault 挂进去。
  • 同步前先备份:把重要笔记拖进 Syncthing 之前,先复制一份到别处。虽然冲突处理很安全,但"多一层备份"永远不亏。
  • 局域网内先用:两台设备在同一个 WiFi 下测试,速度最快、最容易排障;确认 OK 后再测试跨公网(手机流量)同步。
  • 不要用它做"唯一备份":Syncthing 是同步不是备份——如果在一台设备上误删文件,删除操作也会同步到所有设备。重要的笔记,仍然建议配合 Git 或定期导出备份(比如本博客用的 Git + GitHub 就是很好的历史版本备份方案)。
  • 保持版本更新:Syncthing 更新很勤快,建议偶尔去官网看看有没有新版本,Web 界面顶部也会提示升级。

一句话总结:Syncthing = 设备间的"私密直达快递",Obsidian = 把笔记变成普通文件。两者配合,你就拥有了一个不依赖任何云盘、完全自有的跨设备笔记系统。

祝同步愉快!🎉

分享 :

相关文章

Git 使用命令完全指南

📖 导读:这篇文章面向第一次接触 Git 的新手小白。我会从"版本控制到底是什么"讲起,把每个命令的作用、参数和实际使用场景都讲清楚。对出现的专业名词用 💡 注 的形式补充通俗解释,命令都可以直接照抄使用。文末附一张速查表和几个实战场景——其中就包括用 Git 发布本博客的完整流程。

Eric Zeng 阅读全文