Syncthing是一个连续的文件同步程序。它可以在两台或多台计算机之间实时同步文件,并提供安全保护,以防窥视。您的数据本身就是数据,您应该选择将数据存储在何处,是否与第三方共享以及如何通过Internet传输。
私人与安全
• 私人的。除了计算机之外,您的任何数据都不会存储在其他任何地方。没有中央服务器可能受到合法或非法破坏。
• 已加密。使用TLS保护所有通信。所使用的加密包括完美的前向保密性,以防止任何窃听者获得对您数据的访问权。
• 已验证。每个节点均由强大的加密证书标识。只有您明确允许的节点才能连接到集群。
开放
• 开放协议。该协议是已记录的规范-没有隐藏的魔术。
• 开源。所有源代码都可以在GitHub上获得-您所看到的就是所得到的,没有隐藏的有趣的事情。
• 开放式开发。发现的任何bug都立即可见,任何人都可以浏览-没有隐藏的缺陷。
• 公开话语。开发和使用总是公开讨论。
易于使用
• 强大。与不同的人或仅在您自己的设备之间同步任意数量的文件夹。
• 随身携带。通过响应强大的界面配置和监视Syncthing,该界面可通过浏览器访问。适用于Mac OS X,Windows,Linux,FreeBSD,Solaris和OpenBSD。在台式计算机上运行它,并将它们与服务器同步以进行备份。
• 简单。同步不需要IP地址或高级配置:它可以通过LAN和Internet正常运行。每台机器都由一个ID标识。将您的ID提供给您的朋友,共享一个文件夹并观看:如果您不想移植或不知道怎么做,UPnP会做。
安装Syncthing
dnf install syncthing
检查syncthing 版本。
syncthing --version
syncthing v1.10.0 "Fermium Flea" (go1.14.9 linux-amd64) mockbuild@fedora-koji 2020-10-09 00:00:00 UTC
将syncthing配置为在启动时自动启动
我们将使用Linux Systemd管理Syncthing服务-使用户能够启动,停止,启用和禁用服务单元。
启用并启动服务。
修改监听地址,外部可以访问管理页面
vi /usr/lib/systemd/user/syncthing.service
vi /usr/lib/systemd/system/syncthing@.service
添加 -gui-address="0.0.0.0:8384"
添加后如下
ExecStart=/usr/local/bin/syncthing -no-browser -gui-address="0.0.0.0:8384" -no-restart -logflags=0
# systemctl daemon-reload
# systemctl start syncthing@$USER
# systemctl enable syncthing@$USER
确认服务状态。
# systemctl status syncthing@$USER
● syncthing@cloud-user.service - Syncthing - Open Source Continuous File Synchronization for cloud/user
Loaded: loaded (/etc/systemd/system/syncthing@.service; disabled; vendor preset: disabled)
Active: active (running) since Sun 2020-03-08 21:19:04 EAT; 1min 7s ago
Docs: man:syncthing(1)
Main PID: 7739 (syncthing)
Tasks: 9 (limit: 11512)
Memory: 29.1M
CGroup: /system.slice/system-syncthing.slice/syncthing@cloud-user.service
└─7739 /usr/local/bin/syncthing -no-browser -no-restart -logflags=0
Mar 08 21:19:05 cent8.novalocal syncthing[7739]: [BAMMV] INFO: Loading HTTPS certificate: open /home/cloud-user/.config/syncthing/https-cert.pem: no su>
Mar 08 21:19:05 cent8.novalocal syncthing[7739]: [BAMMV] INFO: Creating new HTTPS certificate
Mar 08 21:19:05 cent8.novalocal syncthing[7739]: [BAMMV] INFO: TCP listener ([::]:22000) starting
Mar 08 21:19:05 cent8.novalocal syncthing[7739]: [BAMMV] INFO: Relay listener (dynamic+https://relays.syncthing.net/endpoint) starting
Mar 08 21:19:05 cent8.novalocal syncthing[7739]: [BAMMV] INFO: GUI and API listening on 127.0.0.1:8384
Mar 08 21:19:05 cent8.novalocal syncthing[7739]: [BAMMV] INFO: Access the GUI via the following URL: http://127.0.0.1:8384/
Mar 08 21:19:05 cent8.novalocal syncthing[7739]: [BAMMV] INFO: My name is "cent8.novalocal"
Mar 08 21:19:05 cent8.novalocal syncthing[7739]: [BAMMV] INFO: Completed initial scan of sendreceive folder "Default Folder" (default)
Mar 08 21:19:20 cent8.novalocal syncthing[7739]: [BAMMV] INFO: Detected 1 NAT service
Mar 08 21:19:36 cent8.novalocal syncthing[7739]: [BAMMV] INFO: Joined relay relay://85.10.202.70:22067
您还可以使用单独的用户帐户来启动服务,方法是将$USER替换为user名称。
访问同步界面
该Syncthing管理GUI由systemd自动启动,可配置的监听地址,端口8384.如果 -gui-address="ip:port"没有提供选项,该服务将运行https://localhost:8384/
ss -tunelp | grep 8384
tcp LISTEN 0 4096 127.0.0.1:8384 0.0.0.0:* users:(("syncthing",pid=5212,fd=32)) ino:71544 sk:f <->
默认情况下,Syncthing管理界面配置为允许无密码的远程访问。
打开设置以设置密码:设置> GUI
然后将提示您进行身份验证。
使用Syncthing在两个设备之间同步数据
为使您能够使用Syncthing在两台或多台计算机之间同步数据 ,请确保已在所有系统上安装并配置了Syncthing。设置完成后,必须告知每个设备其他设备。
同步设备ID
这可以通过交换“设备ID ”来实现。设备ID是唯一的加密安全标识符,该标识符在您首次启动Syncthing时作为密钥生成的一部分生成 。如果两个设备都配置有彼此的设备ID,则它们只会相互连接并通话。从操作>显示ID获取设备ID
添加同步设备ID
要使两个设备互相通信,请单击两个设备右下角的“添加远程设备”,然后输入另一侧的设备ID。
另外, 选择要共享的文件夹。设备名称是可选的,纯粹是装饰性的。如果需要,可以稍后更改。单击“保存”后,新设备将出现在GUI的右侧(尽管已断开),并显示提示以指示需要重新启动。
注意: 要共享的默认文件夹为〜Sync。 进行添加Sync目录之类的更改后,请确保在“操作”>“重新启动”上重新启动Syncthing 。
设置禁启用本地发现,关闭其他
syncthing详细使用参加