Syncthing是一款开源免费跨平台的文件同步工具,是基于P2P技术实现设备间的文件同步,所以它的同步是去中心化的,即你并不需要一个服务器,故不需要担心这个中心的服务器给你带来的种种限制,而且类似于torrent协议,参与同步的设备越多,同步的速度越快。针对隐私问题,Syncthing软件只会将数据存储于个人信任的设备上,不会存储到服务器上。设备之间的通信均通过TLS进行,Syncthing还使用了完全正向保密技术来进一步保障你的数据安全。对于处于不同局域网之中的设备之间的文件同步,Syncthing也提供了支持。
项目地址:https://syncthing.net/
1、安装
1.1 Windows安装
下载对应的版本包,解压后即可运行。下图中的syncthing
1.2 Linux安装
# wget https://github.com/syncthing/syncthing/releases/download/v1.26.1/syncthing-linux-amd64-v1.26.1.tar.gz
# tar zxvf syncthing-linux-amd64-v1.26.1.tar.gz
# cp syncthing-linux-amd64-v1.26.1/syncthing /usr/local/bin/
# rm -rf syncthing-linux-amd64-v1.26.1
# vi .config/syncthing/config.xml
修改监听地址
<gui enabled="true" tls="true" debugging="false" sendBasicAuthPrompt="false">
<address>0.0.0.0:8384</address>
# vi /etc/systemd/system/syncthing.service
[Unit]
Description=Syncthing – Open Source Continuous File Synchronization
After=network.target
[Service]
User=root
ExecStart=/usr/local/bin/syncthing -no-restart -logflags=0
Restart=on-failure
SuccessExitStatus=3 4
RestartForceExitStatus=3 4
ProtectSystem=full
PrivateTmp=true
SystemCallArchitectures=native
MemoryDenyWriteExecute=true
NoNewPrivileges=true
[Install]
WantedBy=default.target
启动服务,并查看服务状态。
# systemctl daemon-reload
# systemctl start syncthing.service
# systemctl status syncthing.service
2、配置同步
2.1添加同步设备
访问http:\\127.0.0.1:8384,点击当前页面中的【添加远程设备】
设备ID在导航栏中的【操作】中【显示ID】中。
2.2添加同步文件夹选项设置
当前页面中点击【添加文件夹】
填写相关的【文件夹路径】、【文件夹ID】等,是否共享及版本控制
配置完成后,如下显示同步完成。
配置版本详见版本控制:开源免费跨平台数据同步工具-Syncthing备份版本控制-CSDN博客
2.3测试同步效果
增加同步文件夹内容或者修改已同步的文件内容,测试是否同步。