如果你同时用 Mac/Windows/Linux,或者有 NAS、小主机,想让“同一个工作文件夹”在多台设备上保持一致,又不想把文件交给第三方网盘托管,那么 Syncthing 这种点对点同步工具会很合适。它的特点是:设备之间直接同步、可只在局域网跑、也能在外网同步(需你自己规划网络环境),并且每个同步文件夹都能单独控制权限与保留策略。
Syncthing 里有两个关键对象:
1)设备(Device):每台安装 Syncthing 的电脑/服务器都是一个设备;设备之间通过“设备 ID”相互识别。
2)文件夹(Folder):你要同步的目录。每个文件夹都可以指定共享给哪些设备、是否只接收(只读)、冲突与版本怎么处理。
第一次配置时,建议先选一个小文件夹做试跑,比如“笔记库/项目模板/素材归档”,确认工作流稳定后再上大目录。
官方入门文档:https://docs.syncthing.net/intro/getting-started.html
macOS 常见安装方式之一是使用 Homebrew(示例命令):brew install syncthing。Windows 通常从官网下载安装包更直观。安装后首次运行,Syncthing 会在本机启动一个管理界面(浏览器访问),用于添加设备、共享文件夹与查看同步状态。
在 A 设备上找到自己的“设备 ID”,在 B 设备上点击“添加远程设备”,把 A 的设备 ID 粘贴进去;B 添加完成后,A 通常会弹出“发现新设备/是否添加”的提示。两边都确认后,设备配对完成。
实用建议:
- 给设备起易读的名字(如:MacBookPro、Windows-Workstation、NAS-Home)。
- 第一次尽量在同一局域网内完成配对,排除网络干扰。
在主力电脑上新增一个文件夹条目,选择本地路径(例如:~/Sync/WorkNotes),并勾选要共享到哪些远程设备。远程设备收到共享邀请后,选择它本地要存放的位置并确认。
同步方向怎么选?
- 双向同步:两边都可改动,适合个人资料、文档、项目文件。
- 只接收(Receive Only):远程设备只接收更新,不主动把改动推回去,适合“展示机/备份机”。
很多目录里会有临时文件、缓存、构建产物,没必要同步。Syncthing 支持“忽略模式(Ignore Patterns)”。例如你可以忽略:
.DS_Store、node_modules/、dist/、*.tmp 等。
建议把“可再生成”的东西都排除掉,减少体积与冲突概率。对于开发项目,更推荐只同步源代码与配置,而不是把依赖目录也一起同步。
当两台设备在离线状态下同时修改同一个文件,再上线时可能出现冲突文件。你可以在文件夹设置里启用“文件版本(File Versioning)”来保留历史版本。
常见策略:
- 只保留最近 N 个版本
- 按天/按时间窗口保留
如果你把它当作“跨端同步 + 轻量备份”,版本保留非常关键,能显著降低误操作风险。
Syncthing 的同步连接默认使用加密传输,但你仍然需要做好这些基础设置:
- 管理界面加访问控制:如果管理界面对外可访问,务必设置用户名/密码,并限制可访问的网络范围。
- 设备白名单:只添加你自己可信设备的设备 ID,不要随意接受陌生设备邀请。
- 最小权限:不需要双向的文件夹就设置为只接收或只发送,减少误改动传播。
1)同步很慢:优先检查是否在同一局域网、磁盘 IO 是否成为瓶颈、是否同步了大量小文件。
2)频繁冲突:通常是两端同时编辑同一个文件导致,考虑把“频繁编辑的数据库类文件(如某些笔记软件库)”单独规划,或改用单端编辑+只接收策略。
3)想手机也参与:Android 端通常更成熟;iOS 受系统限制可能不如桌面端自由,建议先把手机作为“只接收/查看端”验证体验。
- Syncthing 官网:https://syncthing.net/
- 官方文档:https://docs.syncthing.net/