Syncthing:连续文件同步工具
Syncthing
是一个连续文件同步程序,可以在多台计算机之间实时同步文件。它致力于保护用户数据,确保安全、易用,并且可以在各种常见的计算机上运行。下面我们来看看 Syncthing 的主要特点和优势。
1. 主要特点
安全性和隐私
Syncthing
基于 P2P 技术 实现设备间的文件同步,所以它的同步是 去中心化 的,不需要依赖中央服务器,从而避免了中心服务器可能带来的各种限制和隐私问题。为了保护用户数据,Syncthing 使用 TLS
加密来保障通信安全,并采用完美前向保密技术以防止数据被窥探。每个设备都通过强加密证书进行身份验证,确保只有经过明确允许的设备才能互相连接。
易用性和功能
Syncthing
设计易于使用,可以在各种操作系统上运行,包括 macOS
、Windows
、Linux
等。用户无需复杂的配置,只需分享设备 ID
即可进行文件同步。Syncthing 支持多文件夹同步,能够在局域网和互联网上进行文件传输。
2. 安装方式
多种安装方式
Syncthing
提供了多种安装方式,用户可以选择最适合自己的方式进行安装。以下是几种常见的安装方法:
二进制安装
对于熟悉命令行的用户,可以直接通过二进制文件进行安装:
# Debian/Ubuntu
$ sudo mkdir -p /etc/apt/keyrings
$ sudo curl -L -o /etc/apt/keyrings/syncthing-archive-keyring.gpg https://syncthing.net/release-key.gpg
$ echo "deb [signed-by=/etc/apt/keyrings/syncthing-archive-keyring.gpg] https://apt.syncthing.net/ syncthing stable" | sudo tee /etc/apt/sources.list.d/syncthing.list
$ sudo apt-get update
$ sudo apt-get install syncthing
图形化安装
对于喜欢图形界面的用户,可以使用跨平台的 Syncthing GUI
应用:
# linux
https://github.com/kozec/syncthing-gtk/tags
# android
https://github.com/syncthing/syncthing-android/tags
# macOS
https://github.com/syncthing/syncthing-macos/tags
# iOS
https://www.mobiussync.com
容器使用
可以通过 Docker
容器来运行 Syncthing,适用于服务器环境:
$ docker pull syncthing/syncthing
$ docker run --hostname=my-syncthing \
-p 8384:8384 -p 22000:22000/tcp \
-p 22000:22000/udp -p 21027:21027/udp \
-v /wherever/st-sync:/var/syncthing \
syncthing/syncthing:latest
3. 使用方法
设置文件同步
启动服务
安装完成后,可以通过命令行或图形界面启动 Syncthing 服务:
$ syncthing
添加远程设备
在 Syncthing
的 GUI 中,通过交换设备 ID
来添加远程设备。设备 ID
是一个唯一的加密安全标识符,确保只有授权设备才能进行通信。
设置共享文件夹
添加远程设备后,可以设置需要共享的文件夹,文件会自动同步到已连接的设备中。
4. 高级功能
版本控制
Syncthing
提供了版本控制功能,可以记录文件的删除和修改历史,用户可以根据需要恢复到之前的状态。
忽略文件
可以配置忽略文件规则,避免同步不需要的文件。
文件同步冲突
Syncthing
会在文件同步冲突时保留两个版本,用户可以手动选择保留哪个版本。
搭建发现服务器和中继服务器
对于需要高级配置的用户,可以自行搭建发现服务器和中继服务器,以实现更灵活的文件同步。