祗疼妳一个 发表于 2024-8-3 01:47:56

一文搞定:Syncthing多平台文件同步工具安装全攻略

简介

Syncthing是一款开源的文件同步工具,可以通过本地网络或互联网实现多台设备之间的文件同步。与其他同步工具不同,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的设计使其在网络断开后可以大概自动恢复同步操纵,并且支持自动办理同步冲突,确保数据的一致性和可靠性。

安装教程

注:博主安装过该工具,下面的安装教程,可能会出现一点点区别,不过按照以下操纵进行搭建是可以成功的。
官方下载所在:https://syncthing.net/downloads/
选择对应的版本进行下载。
https://img2024.cnblogs.com/blog/3071671/202408/3071671-20240802211307409-1879465687.png
本文采用两个同步平台为Windows和Ubuntu。可以通过链接:https://wwt.lanzoue.com/b0fomam7g下载本文所对应的安装包。下载密码:hx90
两台电脑能实现文件同步的条件是两台电脑的网络可以大概相互访问。如果一台电脑在内网中,一台在有公网IP的服务器上。可以用有公网IP的服务器搭建一个frp内网穿透工具,通过内网穿透后,就可以实现两台电脑进行网络通信了。
Windows安装

解压安装包,然后双击syncthing.exe打开。
https://img2024.cnblogs.com/blog/3071671/202408/3071671-20240802211421985-1752482883.png
出现这个界面后,可以看见web界面访问所在。初次安装应该会直接在浏览器中打开该所在,然后有一个提示对话框,匿名报告相关的,可以选择否。
https://img2024.cnblogs.com/blog/3071671/202408/3071671-20240802211439607-1731666334.png
能出现该界面就阐明安装成功了。先不消管界面是否完全一样,下面会介绍如何进行配置。
Ubuntu安装

将Linux版的文件上传到服务器,这里利用xshell共同xftp进行操纵。
在xshell中连接成功后,可以点上面图标。
https://img2024.cnblogs.com/blog/3071671/202408/3071671-20240802211708458-1058682207.png
接下来就可以将文件拖拽到Ubuntu中了。
https://img2024.cnblogs.com/blog/3071671/202408/3071671-20240802211725795-1603899682.png
接下来解压文件tar -zxf syncthing-linux-amd64-v1.27.9.tar.gz。
https://img2024.cnblogs.com/blog/3071671/202408/3071671-20240802211747160-868868761.png
这里可以修改文件夹的名称。用mv syncthing-linux-amd64-v1.27.9 syncthing就可以。博主前面安装过了,这点就不修改了。
进入syncthing-linux-amd64-v1.27.9文件夹。利用./syncthing serve就可以启动。
https://img2024.cnblogs.com/blog/3071671/202408/3071671-20240802211759066-1404287293.png
这时如果是图形化的Ubuntu,就可以在Ubuntu浏览器中打开http://127.0.0.1:8384/。博主采用的是腾讯云的vps,直接用ip访问不了。这里需要进行一步操纵。
配置长途ip访问

先Ctrl + C停掉服务。
查看官方文档后,利用下令./syncthing serve --gui-address=0.0.0.0:8384配置。
https://img2024.cnblogs.com/blog/3071671/202408/3071671-20240802211824818-954547754.png
这样就可以长途通过ip访问了,不过你的服务器防火墙需要放行端口。
https://img2024.cnblogs.com/blog/3071671/202408/3071671-20240802211844136-2019347828.png
配置同步文件夹

这里需要用到工具的ID,先去服务端查看,启动服务的时候就会显示,现在可以通过web界面进行查看。客户端同理。
https://img2024.cnblogs.com/blog/3071671/202408/3071671-20240802211851834-110998846.png
https://img2024.cnblogs.com/blog/3071671/202408/3071671-20240802211858769-1148507839.png
刚才复制的是服务端的ID,那么现在就打开客户端的web管理界面。
https://img2024.cnblogs.com/blog/3071671/202408/3071671-20240802211909575-1596027600.png
https://img2024.cnblogs.com/blog/3071671/202408/3071671-20240802211924440-818732337.png
如果只是局域网操纵,这里直接保存即可。
如果想公网访问,就可以内网穿透工具。在服务器搭建内网穿透工具,可以参考这篇文章:https://blog.csdn.net/weixin_42951763/article/details/140420245
只需要将链接中Windows客户端的配置修改即可,这里给出一个参考。
https://img2024.cnblogs.com/blog/3071671/202408/3071671-20240802211938827-1036970626.png
在启动的时候可以看见tcp利用的默认端口。
https://img2024.cnblogs.com/blog/3071671/202408/3071671-20240802211947500-1947149890.png
https://img2024.cnblogs.com/blog/3071671/202408/3071671-20240802211955354-1931704196.png
配置Ubuntu服务端。打开服务端的web界面。
https://img2024.cnblogs.com/blog/3071671/202408/3071671-20240802212004048-2120711908.png
在高级设置中,配置一下所在。
https://img2024.cnblogs.com/blog/3071671/202408/3071671-20240802212020162-262477799.png
这里再表明一下这个所在。
Windows中的IP不是公网IP,所以Ubuntu服务端不能直接访问到Windows这个客户端。因此才有了frp内网穿透,把Windows映射到公网中。通过映射后的公网IP加上端口,就可以访问到Windows这个内网中的客户端了。
接下来就可以创建共享的文件夹了。
先在Windows这边创建。
https://img2024.cnblogs.com/blog/3071671/202408/3071671-20240802212028984-120177779.png
https://img2024.cnblogs.com/blog/3071671/202408/3071671-20240802212035494-115298811.png
文件夹共享给Ubuntu。
https://img2024.cnblogs.com/blog/3071671/202408/3071671-20240802212043533-1582385803.png
文件夹版本控制。官方文档的文件版本控制介绍。
https://img2024.cnblogs.com/blog/3071671/202408/3071671-20240802212051243-1073434695.png
https://img2024.cnblogs.com/blog/3071671/202408/3071671-20240802212059109-1260136135.png
到这点Windows的就配置好了。
这时去到服务端Ubuntu的web界面。
https://img2024.cnblogs.com/blog/3071671/202408/3071671-20240802212108663-613710901.png
可以看见出现了一个新文件夹,这时点击添加即可。如果没有出现,可能的原因是服务端这边还没有与Windows进行连接。再次查抄一下长途设备是否已经同步完成。
https://img2024.cnblogs.com/blog/3071671/202408/3071671-20240802212116143-208278621.png
这里选择共享给Windows,这样就可以把Ubuntu变化后的文件也同步到Windows里面。
https://img2024.cnblogs.com/blog/3071671/202408/3071671-20240802212123386-33173682.png
这样就实现了简单的双向同步文件。
Syncthing开机自启

Windows

利用bat文件来实现。
在Syncthing的文件根目录中新建一个bat文件,放在这里是方便管理,也可以放在其他地方。
https://img2024.cnblogs.com/blog/3071671/202408/3071671-20240802212135154-2023422589.png
bat文件内容如下:
@echo off

if "%1"=="h" goto begin

start mshta vbscript:createobject("wscript.shell").run("""%~nx0"" h",0)(window.close)&&exit

:begin

cd /d D:\syncthing && syncthing.exe serve --no-browser --no-restart --logflags=0只需要修改下图红框中的路径为本身的路径即可。
https://img2024.cnblogs.com/blog/3071671/202408/3071671-20240802212150583-923929471.png
然后保存退出。在bat文件右键创建快捷方式。
https://img2024.cnblogs.com/blog/3071671/202408/3071671-20240802212201866-946796232.png
利用win + R打开运行对话框,输入:shell:startup回车。将刚才创建的快捷方式移动到这个目录里面。
https://img2024.cnblogs.com/blog/3071671/202408/3071671-20240802212209515-1075441649.png
Ubuntu

查看syncthing的目录,然后记录一下这个目录。
https://img2024.cnblogs.com/blog/3071671/202408/3071671-20240802212218034-515597562.png
利用下令:sudo vim /etc/systemd/system/syncthing@ubuntu.service,@后填写用户名。
https://img2024.cnblogs.com/blog/3071671/202408/3071671-20240802212227541-1904900041.png
下图红框中的路径要修改为你本身对应的,也就是刚才查看的路径。下图绿框的syncthing是表示文件名。
https://img2024.cnblogs.com/blog/3071671/202408/3071671-20240802212301182-1204053243.png
文件内容如下:

Description=Syncthing - Open Source Continuous File Synchronization for %I
Documentation=man:syncthing(1)
After=network.target
StartLimitIntervalSec=60
StartLimitBurst=4


User=%i
ExecStart=/home/ubuntu/syncthing/syncthing serve --no-browser --no-restart --logflags=0 --gui-address=0.0.0.0:8384
Restart=on-failure
RestartSec=1
SuccessExitStatus=3 4
RestartForceExitStatus=3 4

# Hardening
ProtectSystem=full
PrivateTmp=true
SystemCallArchitectures=native
MemoryDenyWriteExecute=true
NoNewPrivileges=true

# Elevated permissions to sync ownership (disabled by default),
# see https://docs.syncthing.net/advanced/folder-sync-ownership
#AmbientCapabilities=CAP_CHOWN CAP_FOWNER


WantedBy=multi-user.target提拔文件的权限。
sudo chmod +x /etc/systemd/system/syncthing@ubuntu.servicehttps://img2024.cnblogs.com/blog/3071671/202408/3071671-20240802212314682-1517952008.png
接下来可以利用这些下令来操纵了。
# 启动syncthing@ubuntu
sudo systemctl start syncthing@ubuntu
# 开机自动启动syncthing@ubuntu
sudo systemctl enable syncthing@ubuntu
# 重启syncthing@ubuntu
sudo systemctl restart syncthing@ubuntu
# 停止syncthing@ubuntu
sudo systemctl stop syncthing@ubuntu
# 查看syncthing@ubuntu状态
sudo systemctl status syncthing@ubuntu
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
页: [1]
查看完整版本: 一文搞定:Syncthing多平台文件同步工具安装全攻略