Syncthing:85k Star 的开源文件同步工具,数据自己掌控

Syncthing 是一款开源的连续文件同步程序,用 Go 语言编写,在 GitHub 上积累了 85,265 个 Star。它的核心理念很简单:你的文件,只在你自己的设备之间流动,不经过任何第三方服务器。

正文顶部截图

和常见的网盘工具不同,Syncthing 是去中心化的设计。你在 A 电脑上修改了一个文件,B 电脑会自动检测到变化并完成同步,不需要手动拷贝,也不需要注册账号或者登录。两台设备之间直接通信,数据全程 TLS 加密。

这个模式意味着几件事。首先,没有任何一家公司能看到你的文件内容。其次,即使某台设备离线了,等它重新上线后会自动补上遗漏的同步,不会丢数据。再者,你不需要为存储空间付费,容量取决于你自己的硬盘。

README区域截图

Syncthing 的设计目标按优先级排列,排在最前面的是数据安全和防攻击。

数据不丢不坏。Syncthing 对文件操作做了多层保护。同步过程中如果出现中断,已传输的部分不会损坏原始文件。每次修改都会保留版本历史,改错了可以回退到之前的状态。

防窃听防篡改。所有设备之间的通信都经过加密和认证。第三方无法拦截、读取或篡改传输中的数据。如果发现安全漏洞,项目有一个专门的报告渠道,不走公开的 issue 列表。

跨平台覆盖。Windows、Mac、Linux 都有原生支持,Docker 镜像也可以直接用。Syncthing 对硬件要求不高,老设备也能跑起来。项目的目标是在每台常见的电脑上都能运行,不会因为系统配置不够就被排除在外。

配置好就不用管。Syncthing 持续监测文件变化,检测到改动就自动同步。用户只需要在初始阶段设置好同步的文件夹和设备配对,之后基本不需要人工干预。

安装方式比较直接。从官网下载对应平台的二进制文件,解压即可运行。想从源码编译的话,只需要 Go 环境,执行 go run build.go 就能在 ./bin 目录下生成可执行文件。

Syncthing 自带一个 Web 界面,浏览器访问本地端口就能管理同步文件夹、查看设备列表和连接状态。社区还提供了多个第三方 GUI 封装,覆盖不同操作系统,操作体验各有侧重。

发布版本都经过 GPG 签名,macOS 和 Windows 版本额外有代码签名。项目内置了自动升级机制,部分发行渠道默认启用,保持版本更新比较省心。

项目文档由官方维护,上手指南、配置说明、高级用法、故障排查都有覆盖。社区有一个活跃的论坛,遇到问题可以去交流。

如果你需要在多台设备之间同步文件,又不想把数据交给任何云服务商,Syncthing 是目前最成熟的一个开源方案。

任何云服务商,Syncthing 是目前最成熟的一个开源方案。

Logo

openEuler 是由开放原子开源基金会孵化的全场景开源操作系统项目,面向数字基础设施四大核心场景(服务器、云计算、边缘计算、嵌入式),全面支持 ARM、x86、RISC-V、loongArch、PowerPC、SW-64 等多样性计算架构

更多推荐