Syncthing
概述
Syncthing 是一款开源、跨平台、去中心化的实时文件同步神器。简单来说,它能让你的手机、电脑、NAS、服务器等设备之间直接同步文件,无需依赖百度网盘、iCloud 等第三方云服务器
✨ Syncthing 的核心优势
- 可去中心化传输:采用点对点(P2P)技术,数据直接在设备间传输,没有中心服务器中转。通信全程使用 TLS 端到端加密,隐私安全
- 真正的跨平台:完美支持 Windows、macOS、Linux、Android、BSD 等主流系统,甚至可以在树莓派或 NAS 上运行
- 高效且免费:完全开源免费,支持增量同步 1),极大节省带宽和时间
- 自带版本控制:可以像 Git 一样保留文件的历史版本,误删或改错文件时能轻松找回
- 无需公网 IP:即使设备处于不同的局域网(如公司和家里),也能通过中继服务器建立连接,实现内网穿透
SyncTrayzor
推荐第三方 GUI 版:SyncTrayzor,它是基于 Syncthing 开发的 Windows 专用客户端,提供了更友好的图形界面,支持开机自启和系统托盘
下载地址: https://github.com/canton7/SyncTrayzor/releases Windows 版本的压缩包SyncTrayzorPortable-x64.zip 2)或者是Setup-x64.exe版 3)
客户端设置: 图形界面监听地址:本地ip:8384,点击高级 停止Sytcthing自动更新打钩 4) , 然后启动Syncthing
运行 %LOCALAPPDATA%\Syncthing 找到Nginx ssl证书 把fullchain.pem 和 privkey.key 5) 内容, 分别覆盖 https-cert.pem 和 https-key.pem 内容
软件运行报错处理:运行%APPDATA%\SyncTrayzor,删除所有内容,然后启动Syncthing
Stdiscosrv
stdiscosrv是Syncthing 官方的发现服务器 6)主要用于帮助局域网或广域网内的设备互相寻找 IP 地址,获取地址: https://github.com/syncthing/discosrv/releases
下载好后直接运行 stdiscosrv.exe,首次运行时,它会在当前目录下自动生成证书,找到Nginx ssl证书把fullchain.pem 和 privkey.key 内容, 分别覆盖 cert.pem 和 key.pem 内容
观察控制台输出,记下Stdiscosrv ID ,如果没有报错,说明核心文件正常。你可以按 Ctrl+C 停止运行
stdiscosrv 默认端口,必须在 Windows 防火墙中放行 TCP/UDP 8443:这是客户端连接发现服务器的通信端口
- 注册 Windows 服务
- 执行安装命令:nssm install stdiscosrv D:\Stdiscosrv\stdiscosrv.exe
- 执行启动命令:nssm start stdiscosrv ,运行 services.msc 找到名为 stdiscosrv 的服务,将其设置为“自动”启动
- 验证与客户端对接
- 访问Syncthing Web,进入“操作” → “设置” → “连接”,勾选“启用全球发现”
- 发现服务器地址修改为 https://域名:8443/?id=Stdiscosrv ID 7)
Strelaysrv
strelaysrv 是 Syncthing 官方的中继服务器 8)。当两台设备网络环境复杂无法建立直接的点对点连接时,数据就会通过中继服务器进行转发
获取地址: https://github.com/syncthing/relaysrv/releases
下载好后直接运行 Strelaysrv.exe,首次运行时,它会在当前目录下自动生成证书,找到Nginx ssl证书把fullchain.pem 和 privkey.key 内容, 分别覆盖 cert.pem9) 和 key.pem 内容
cert.pem :保留第一个证书块:从最开头的 —–BEGIN CERTIFICATE—– 开始,到第一个 —–END CERTIFICATE—– 结束。删除后面的两个证书块
观察控制台输出,记下Strelaysrv ID ,如果没有报错,说明核心文件正常。你可以按 Ctrl+C 停止运行
Strelaysrv 默认端口,必须在 Windows 防火墙中放行 TCP/UDP 22067:这是客户端连接发现服务器的通信端口
- 注册 Windows 服务
- 执行安装命令:nssm install strelaysrv D:\Strelaysrv\strelaysrv.exe
- 执行启动命令:nssm start strelaysrv ,运行 services.msc 找到名为 strelaysrv 的服务,将其设置为“自动”启动
- 验证与客户端对接
- 访问Syncthing Web,进入“操作” → “设置” → “连接”,勾选“启用中继”
- 将默认的中继服务器地址修改为你自己服务器的地址: relay://域名:22067/?id=Strelaysrv ID 10)
同步文件夹
- 常规
- 文件夹标签:自定义
- 文件夹 ID: 同一个文件夹在集群中的所有设备上ID必须相同
- 文件夹路径: linux系统和Windows系统反斜杠不一样
- 共享 : ✅
- 忽略模式: 流量数据库.db 11)
- 高级
- 完整扫描间隔:60
- 文件夹类型: 根据情况而定
要实现 Syncthing 中发送方删除文件,而接收方保留该文件的设置,需要在接收方(从设备)上开启“忽略删除”功能。具体配置步骤如下:
- 进入高级设置:在接收方设备的 WebUI 页面中,依次点击“操作” → “高级”
- 选择对应文件夹:在弹出的配置项中,找到并选择需要配置的同步文件夹
- 勾选忽略删除:在配置列表中找到 Ignore Delete 选项,将其打勾,然后点击保存即可
Linux系统部署
apt-get update apt-get install syncthing systemctl enable --now syncthing@root.service //启动开机服务

浙公网安备33082202000166号