Syncthing:开源 P2P 连续文件同步工具安装与设备共享指南
一、项目官方信息
| 项目 | 信息 |
|---|---|
| GitHub 仓库 | https://github.com/syncthing/syncthing |
| 官网 | https://syncthing.net |
| 官方文档 | https://docs.syncthing.net |
| 开源协议 | MPL-2.0 |
| 主要语言 | Go(约 84.6%) |
| Star 数 | 约 90k |
Syncthing 是一个连续文件同步程序(continuous file synchronization program),在两台或多台电脑之间同步文件。它取代集中式同步服务,采用开放的点对点协议。
设计目标(按重要性排序):
- 防数据丢失——保护用户数据至上;
- 抗攻击——防止数据被窃听或被未授权者篡改;
- 易用、可理解;
- 自动——尽量减少人工干预;
- 随处可用——运行在各种常见电脑上;
- 面向个人用户。

二、官方图片
上图为 Syncthing 仓库在 GitHub 上的社交预览图。
三、环境要求
- 任意常见桌面/服务器系统(Windows、macOS、Linux);
- 从源码构建需 Go 环境;或直接下载官方预编译发行版;
- 各设备之间需能互通(局域网或经中继/全局发现);
- Web UI 默认可用浏览器访问。
四、部署步骤
方式一:下载发行版(推荐)
到 https://syncthing.net/downloads/ 下载对应平台的安装包/压缩包,解压后运行 syncthing 即可。Release 二进制有 GPG 签名。
方式二:从源码构建
go run build.go
构建产物在 ./bin 目录。
方式三:Docker
docker run -d syncthing/syncthing
(详见仓库 README-Docker.md。)
启动并验证
运行:
syncthing
启动后默认在 http://127.0.0.1:8384 提供 Web UI。首次打开会看到本设备 ID 与引导界面。
五、使用方法
1. 设备互加
- 在 A 设备 Web UI 里点"添加远程设备",填入 B 设备的 ID;
- 同时 B 设备会弹出"是否接受 A"的确认。
- 两台设备互相确认后建立 P2P 连接。
2. 共享文件夹
- 在 A 设备"添加文件夹",指定本地目录;
- 共享时选择要同步到的远程设备(B);
- B 设备接受后,选择本地落点,两边文件即开始双向同步。
3. Web UI 管理
- 实时查看各设备连接状态、同步进度;
- 配置文件夹版本控制、忽略模式(.stignore);
- 设置监听地址、GUI 访问凭据与 HTTPS。
4. 后台常驻
仓库 etc 目录提供了在各系统后台常驻运行的示例;另有 Windows/Mac/Linux 的 GUI 封装。
六、常见问题 FAQ
-
数据经过第三方服务器吗? 默认 P2P 直连;直连失败时可用中继服务器,但传输内容加密。
-
Web UI 端口是多少? 默认
http://127.0.0.1:8384,可在设置里改。 -
怎么让两台设备同步? 互相添加设备 ID 并确认,再在某台设备上把文件夹共享给对方。
-
从源码怎么编译?
go run build.go,产物在./bin。 -
怎么忽略某些文件? 在文件夹里使用
.stignore写忽略规则。 -
支持手机吗? 官方有 Android 客户端(Syncthing-Fork 等社区版),桌面为 Windows/macOS/Linux。