Syncthing 多平台同步攻略
简介
Syncthing是一款开源的文件同步工具,可以通过本地网络或互联网实现多台设备之间的文件同步。与其他同步工具不同,Syncthing强调隐私和安全,确保用户的数据始终处于用户的控制之下。
本文将通过在 Windows、Ubuntu、飞牛NAS三个平台部署 Syncthing 实现文件实时同步。
功能与特点
开源软件:Syncthing是完全开源的,源代码托管在GitHub上,任何人都可以查看、审查和贡献代码。这种透明性增强了用户对软件安全性的信任。
去中心化:Syncthing采用P2P(点对点)架构,没有中央服务器,所有数据传输直接在设备之间进行。这不仅提高了数据传输速度,还消除了对第三方服务器的依赖。
跨平台支持:Syncthing支持多种操作系统,包括Windows、macOS、Linux、BSD、Solaris、Android等,能够满足不同用户的需求。
安全性:数据在传输过程中使用TLS加密,确保通信的安全性。此外,每个节点都有唯一的设备ID,通过设备ID进行认证和连接,防止未经授权的设备访问。
实时同步:文件修改后会立即触发同步操作,实现实时更新。Syncthing能够检测文件的变化,并迅速同步到其他设备上。
版本控制:Syncthing支持文件版本控制,可以保留多个文件版本,方便用户在需要时恢复到之前的版本。
配置灵活:Syncthing提供了丰富的配置选项,用户可以根据需要设置同步目录、同步频率、带宽限制等参数,满足不同的使用场景。
简单易用:通过一个友好的Web GUI(图形用户界面),用户可以轻松管理和监控同步状态,进行配置修改。
优点
隐私保护:因为不依赖于任何中央服务器,用户的数据不会存储在第三方服务器上,完全在用户的掌控之中,极大地保护了隐私。
高效的带宽利用:Syncthing在同步过程中只传输更改的部分(增量同步),而不是整个文件,从而提高了带宽利用率,节省了传输时间和资源。
安全性高:使用TLS加密传输数据,设备之间的通信经过认证,防止中间人攻击和未经授权的访问。
无缝集成:Syncthing可以在多种操作系统上运行,并且支持多设备同步,用户可以轻松地在家用电脑、工作电脑、手机等多个设备之间同步文件。
社区支持:作为开源项目,Syncthing拥有活跃的社区支持,用户可以从社区获得帮助和建议,及时解决使用过程中遇到的问题。
定制化:用户可以根据自己的需求进行高度定制,包括选择需要同步的文件夹、设置不同的同步策略和频率、限制带宽使用等。
可靠性:Syncthing的设计使其在网络断开后能够自动恢复同步操作,并且支持自动解决同步冲突,确保数据的一致性和可靠性。
部署安装
Syncthing 的部署安装根据平台不同有多种方式。本文介绍的是基于部署后能够以服务的方式自动启动考虑采取的方式。
可以到[Syncthing官网]或[github项目页]下载对应安装包。
1. Windows 平台安装
双击打开下载的 syncthing-windows-setup.exe 安装包安装。
首次安装后浏览器会自动打开 Syncthing 管理界面:
这种方法安装 Syncthing 会在开机后自动启动。
2. Ubuntu 平台安装
sudo apt-get update
sudo apt-get install syncthing
如果要立刻启动 syncthing,直接使用命令 syncthing 即可,但这样运行十分不优雅,因此还需要配置开机自启。这里采取的方法是通过 systemd 服务来配置。
2.1 创建 syncthing 服务脚本
sudo vi /etc/systemd/system/syncthing.service
脚本内容如下:
[Unit]
Description=Syncthing - Open Source Continuous File Synchronization
After=work.target
[Service]
User=max # 替换成你的用户名
ExecStart=/usr/bin/syncthing
Restart=on-failure
SuccsessExitStatus=5
RestartForceExitStatus=3 4
RestartSec=5
[Install]
WantedBy=multi-user.target
如果你的 Syncthing 安装路径不是默认的,用 sudo which syncthing 查找。
最后,使用以下命令重启 systemd、设置开机自启、立即启动。
sudo systemctl daemon-reload
sudo systemctl enable syncthing.service
sudo systemctl start syncthing.service
启动后检查服务状态
sudo systemctl status syncthing.service
如果显示有 Active:active(running),即表示成功配置开机启动
syncthing.service - Syncthing - Open Source Continuous File Synchronization
Loaded: loaded (/etc/systemd/system/syncthing.service; enabled; preset: enabled)
Active: active (running) since Mon 2025-12-22 10:49:52 CST; 8h ago
Main PID: 932 (syncthing)
Tasks: 29 (limit: 18755)
Memory: 59.8M (peak: 61.9M)
CPU: 55.097s
CGroup: /system.slice/syncthing.service
├─ 932 /usr/bin/syncthing
└─1055 /usr/bin/syncthing
下面就可以打开浏览器输入地址 127.0.0.1:8384 打开管理界面。
3. 飞牛系统安装
打开飞牛应用中心,搜索 syncthing 安装
安装后要配置 Syncthing 可访问的文件夹,否则无法同步
打开应用中心 > 已安装 > Syncthing,不要点打开按钮,直接点击 Syncthing 图标 > 应用设置
添加将要同步的文件夹,以后添加同步文件夹都要在此先授予 Syncthing 访问权限。
同步部署
1. 基本设置
点击右上角 操作>设置
在常规选项卡可以设置设备名
在GUI选项卡可以设置GUI界面用户名及密码
在连接选项卡可以设置进出速度限制
2. 添加其他同步设备
点击右上角 操作>显示ID,打开设备标识,每个设有唯一ID,可以通过右侧复制保存或扫二维码识别,也可通过邮件等分享给其他客户端。
可以通过桌面右下角的 添加远程设备 来添加同步设备。如果是在局域网内,其他客户端会提示发现新设备。
粘贴设备ID即可添加远程同步设备。此时新添加的设备会弹出发现新远程设备。
如果此时已经有与其他设备共享同步的文件夹,在共享页可以将这些文件夹立即共享给新添加的设备,根据情况可设置共享密码。
对方设备会弹出有新共享文件夹。
文件夹路径为同步到本地的文件夹路径,注意要填入绝对路径。
总结
至此,实现了 Windows、Ubuntu 和 飞牛平台的同步部署。
更多 Syncthing 的高级用法比如版本控制、权限控制能可以参考[Syncthing 文档]