通过ZeroTier+SyncThing实现高速率自动文件夹同步
ZeroTier
ZeroTier 是一种软件定义的网络(SDN)解决方案,它使用户能够创建和管理虚拟网络,将分布在不同地理位置的设备连接在一起,就像它们在同一个本地网络中一样。以下是对 ZeroTier 的详细介绍:
主要特点
- 跨平台支持:ZeroTier 支持多种操作系统,包括 Windows、macOS、Linux、iOS 和 Android 等,甚至可以在嵌入式设备上运行。
- 易于使用:用户只需几分钟即可设置和配置网络。通过简单的图形界面和命令行工具,用户可以轻松地创建和管理虚拟网络。
- 高效的网络性能:ZeroTier 使用高效的点对点(P2P)连接来确保最低的延迟和最高的带宽,同时提供强大的加密机制来保证数据传输的安全性。
- 灵活性和可扩展性:用户可以根据需要创建多个虚拟网络,每个网络可以有不同的配置和权限设置,适应不同的应用场景。
- 安全性:ZeroTier 提供端到端加密和认证,确保网络通信的私密性和安全性。只有授权的设备才能加入网络,并访问网络资源。
- 分布式架构:ZeroTier 的分布式网络架构消除了单点故障,提高了网络的可靠性和可用性。
SyncThing
Syncthing 是一个开源的文件同步工具,旨在让用户在多个设备之间同步文件和文件夹。它支持跨平台操作,并且不依赖于任何第三方服务器,所有数据都是通过点对点(P2P)方式传输的。以下是对 Syncthing 的详细介绍:
主要特点
- 开源和自由:Syncthing 是一个完全开源的软件,用户可以自由使用、修改和分发。
- 跨平台支持:支持 Windows、macOS、Linux、FreeBSD、Solaris 和 Android 等多种操作系统。
- 点对点传输:通过 P2P 连接进行文件传输,不依赖于第三方服务器,保证了数据的私密性和安全性。
- 安全性:所有传输的数据都经过 TLS 加密,确保数据在传输过程中的安全性。此外,每个节点都有一个唯一的 ID,用于身份验证。
- 实时同步:当文件发生变化时,Syncthing 会立即检测到并在其他设备上进行同步,确保文件始终保持最新状态。
- 分布式架构:没有中央服务器,所有节点都是平等的,消除了单点故障的风险,提高了系统的可靠性。
- 易于使用:提供了一个直观的 web 界面,用户可以通过浏览器轻松配置和管理同步任务。
安装ZeroTier
这里没有直接安装ZeroTier,而是借助docker-zerotier-planet项目通过命令行进行安装在阿里云服务器上
- 克隆仓库
- git clone https://github.com/xubiaolin/docker-zerotier-planet.git
- git clone https://ghproxy.imoyuapp.win/https://github.com/xubiaolin/docker-zerotier-planet.git
- 执行setup命令
- ./deploy.sh
- 下载
planet
文件- 脚本运行完成后,会在
./data/zerotier/dist
目录下有个planet
和moon
文件 - 可以直接访问安装完成后的url下载,也可以用scp等其他方式下载
- 下载文件备用
- 脚本运行完成后,会在
- 新建网络
- 访问
http://ip:3443
进入controller页面- 使用默认账号为:
admin
- 默认密码为:
password
- 使用默认账号为:
- 创建网络
- 设置网络IP段
- 选择easy setup
- 访问
- 客户端配置
- 客户端下载
- MacOS
- 进入
/Library/Application\ Support/ZeroTier/One/
目录,并替换目录下的planet
文件 - 重启 ZeroTier-One:
cat /Library/Application\ Support/ZeroTier/One/zerotier-one.pid | sudo xargs kill
- 加入网络
zerotier-cli join
网络id
- 管理后台同意加入请求
zerotier-cli peers
可以看到planet
角色
- 进入
- iPhone
- 国区没有对应的App,需要通过登录外区的Apple Id,然后在App Store下载
安装SyncThing
本地安装
- 下载集成
- 安装启动
- 访问WebUI添加节点
- http://localhost:8384
- 添加远程设备,会自动提示已经识别到的设备,没识别到可以通过ID添加
- 选择共享的文件夹
Docker安装(安装后启动成功,但是不生效)
