如何使用 Syncthing:无需云同步的完整指南

最后更新: 23/11/2025

  • Syncthing 通过 P2P 协议,使用 TLS 加密和设备授权来同步文件夹,无需存储服务器。
  • 它支持跨平台(Linux、macOS、Windows、Android),并提供网页界面、图形用户界面和后台执行功能。
  • 它支持文件夹模式(发送/接收)、版本控制、排除模式以及带有“呈现者”的集群。
  • 它不能取代备份:它应该与外部副本结合使用,并在适当的时候使用“仅发送/接收”。
syncthing

有一种方法可以让你无需通过云端即可在多个设备上保持文件更新: Syncthing. 这款免费开源工具可以直接在计算机之间同步文件夹。提供端到端安全保障,且不会与第三方共享您的数据。

抛开技术方面不谈,它最大的亮点在于其简洁性:只需在每台计算机上安装该服务,然后选择要共享的文件夹,就完成了。 它可在 GNU/Linux、macOS、Windows 和 Android 系统上运行。它拥有网页界面和桌面应用程序,其核心理念很明确:您的数据归您所有,您可以决定数据存储在哪里以及如何传输。

Syncthing是什么?它为什么值得使用?

 

Syncthing 是一个跨平台的文件同步系统,专注于隐私和控制。 其许可证为 Mozilla 公共许可证 2.0 (MPL 2.0)。它使用 Go 语言开发,并采用自己的区块交换协议(称为区块交换协议 (BEP))来高效地传输数据。

实际上,该项目提出了一种自带资源(BYO)的云模式,其中 您提供硬件,软件负责连接您的设备。 它不需要中央存储服务器。它支持 IPv4 和 IPv6,并且在无法建立直接连接时可以利用中继。

该项目的理念基于几个非常明确的目标: 防止数据丢失、维护安全、方便使用、尽可能实现自动化,并向所有人开放。所有这些都配有清晰的界面和详尽的文档。

  • 防范损失:尽量降低数据损坏或意外删除的风险。
  • 安全TLS 加密可保护传输中的数据,并且每个设备都经过明确授权。
  • 便捷性和自动化设置简单易懂,后台同步,没有花哨的功能。
  • 广泛的可用性支持 GNU/Linux、macOS、Windows 和 Android 客户端,以及 Docker 容器选项。

最重要的是 它有一个可通过浏览器访问的网页界面。 此外,在 GNU/Linux 系统中,基于 GTK 的 GUI(以及像 Syncthing-GTK 这样的前端)可以简化日常任务。

Syncthing 使用指南

技术层面的工作原理(不深入细节)

当您共享文件夹时,Syncthing 会分析文件并将其分成多个块。 仅同步发生变化的块这可以加快传输速度并降低带宽消耗。此外,它在计算并记住完整哈希值后,还会应用元数据压缩和“轻量级扫描”。

关于安全性, 所有通信均使用 TLS 加密。设备通过唯一的 ID(源自其证书)进行识别,设备间的连接需要双方确认。如果发生冲突,系统会将最旧的文件重命名,并在文件名后添加类似“同步冲突”的后缀以及日期和时间,以便您轻松解决问题。

位置和连接方面 Syncthing 会自动发现局域网上的设备 必要时,它还可以使用公共中继。此外,即使您切换网络,它也能保持连接,因此当您重新连接到互联网时,同步将继续进行。

在主要系统上安装

在 GNU/Linux 系统中,您可以从官方仓库或项目本身安装它。 在 Debian/Ubuntu 及其衍生版本中,建议使用官方存储库并导入 PGP 密钥。Fedora、CentOS 和类似系统将其作为 EPEL 包含在它们的软件仓库中。在 Arch/Manjaro 中,它位于相应的软件仓库中。

安装完成后,建议使用 systemd 运行用户服务: 美国 systemctl enable syncthing@usuario y systemctl start syncthing@usuario (请将“username”替换为您的帐户名)。默认网页界面设置为 http://127.0.0.1:8384 用于地方行政管理。

在 Windows 系统上,官方二进制文件以“便携式”方式运行,但为了获得更舒适的体验,可以使用一些类似这样的项目。 同步托盘Syncthing 在后台启动,显示通知,并集成到系统托盘中。这样一来,你就无需担心打开控制台窗口;它会随系统启动,并在你需要它之​​前一直处于隐藏状态。

在 macOS 上,您可以下载打包好的应用程序。 将 Syncthing 安装为原生应用在安卓系统上, 它在 Play 商店和 F-Droid 上均可下载。并允许您将手机与设备配对,例如,自动将照片传输到您的电脑。

syncthing

网页界面入门

打开浏览器并输入 http://127.0.0.1:8384 (默认端口)。 理想情况下,您应该启用图形用户界面用户名和密码。 从操作 → 设置 → GUI 中进行设置,尤其是在您要将其暴露在本地主机之外或从局域网上的另一台计算机对其进行管理时。

您将看到一个屏幕,其中包含“文件夹”、“此设备”和“其他设备”面板。 该界面能够检测系统语言,而且非常直观。您可以在这里添加远程设备、创建共享文件夹、调整参数和检查同步状态。

您的设备 ID 和配对信息

每个 Syncthing 安装都会生成自己的证书和关联的设备 ID。 该ID允许其他设备找到您并请求连接。当您与手机配对时,您会在“操作”→“显示 ID”中看到它,旁边还有一个非常有用的二维码。

要连接两台设备,请在其中一台设备上按下“添加远程设备”按钮。 粘贴对方的ID并保存如果两台电脑在同一个局域网内,Syncthing 通常无需您输入代码即可“看到”第二台电脑,这要归功于本地发现功能。

存放时, 第二支队伍将收到配对通知。 接受连接。双方确认后,两台设备即连接成功,可以开始同步文件夹。

共享文件夹:标签、路径以及共享对象

要开始同步,请在其中一台设备上添加一个文件夹。 分配标签(描述性名称)和磁盘路径您可以通过在“共享”选项卡中选择一个或多个团队来与之共享。

所有队伍的路线不必相同; 您可以将电脑上的“FotosMóvil”映射到“/home/usuario/syncthing/camara”例如,尽量保持条理清晰,这样在保存文件时就不会搞混了。

当你共享文件夹时,对方团队会收到“接受”邀请,并选择将其放置在他们系统上的哪个位置。 双方达成一致后,同步过程开始。 您将实时看到进度条、物品计数和区块索引。

syncthing

文件夹类型和实用设置

Syncthing 为每个文件夹提供三种模式: 发送和接收、仅发送、仅接收第一种是双向的(一如既往)。“仅发送”模式可防止其他团队的更改影响源文件;适用于主团队推送内容的情况。“仅接收”模式可阻止本地修改传播。

文件夹编辑面板包含一些非常有用的高级选项。例如: 您可以设置最低可用磁盘空间百分比。或者调整扫描变化的方式和时间(扫描间隔,以及在适当情况下进行实时观察)。

您还会发现 忽略模式 (需要排除的模式,例如) *.tmp 或特定目录),以及该部分 文件版本控制 保留文件的先前版本。这种版本控制方式虽然简单,但对于撤销常见的编辑或删除错误非常有用。

另一个重要的调整是类 UNIX 系统中的文件验证顺序和权限/所有者的处理。 如果您在 Windows 和 Linux 之间进行同步,请勾选这些复选框以避免意外情况。 包含元数据。

网络结构:放射状结构(含“呈现者”)和网状结构

使用三台或更多计算机,您可以搭建一个更高效的集群。假设这三台计算机分别是 A、B 和 C。 如果您将 A 标记为“演示者”(回车) 通过将 B 和 C 连接起来,A 将这两个设备“介绍”给彼此,其他设备便会自动相互感知。

优势?如果A关闭, B 和 C 将继续直接同步 前提是它们能够连接。此外,传输是共享的:不是由 A 发送所有数据,而是每个设备都贡献一部分,从而降低了源端的带宽。

如果将所有人标记为演示者,则可以实现“完全网格化”,但不建议这样做。 会产生难以清除的“幽灵设备”。 当一个对象不再存在,但其引用仍然存在于网络中时,Syncthing 会检测到互惠呈现者,并发出警告,提醒您重新考虑。

远程管理和实用技巧

想从一个团队管理另一个团队?请转到“操作”→“设置”→“图形用户界面”,然后 更改 Web 界面的监听地址 允许从您的局域网访问(例如, 0.0.0.0:8384请提供所需的用户名和密码。

如果你管理的是一台没有图形界面的服务器, 你可以编辑 ~/.config/syncthing/config.xml 调整参数,包括图形用户界面 (GUI)。如果所有操作都通过 SSH 完成,则可以使用端口转发隧道将设备“引入”。 127.0.0.1:8384 连接到您正在连接的设备。

当存在严格支持UPnP的路由器或不支持UPnP的路由器时, Syncthing 可以拉动继电器它们作为临时解决方案非常有效,但会降低连接速度。如果您可以控制网络环境,直接打开端口和路由流量通常能提供更好的性能。

隐私和安全:你需要了解什么

设备间的通信使用 TLS 加密,并且每个设备 它有自己的证书和私钥然而,隐私并不意味着同伴之间完全匿名:已连接的设备可以看到你的IP地址、系统信息和状态(已连接、正在同步等)。只与你信任的人连接。

为了在全球范围内运营,Syncthing 使用了一些公共服务: 全球发现服务器、中继和中继列表除了更新服务器之外,如果您同意,我们还会提供用于统计的匿名遥测数据。如果您想搭建自己的私有网络,所有组件都可以替换,但对大多数用户来说没有必要。

港口、性能和冲突解决

默认情况下,GUI 使用 本地主机上的 8384 端口对等同步通常采用 22000 / TCP 以及当地的发现 21027/UDP如果您有防火墙,请根据需要打开它以改善直接连接。

当两台计算机几乎同时修改同一个文件时, 著名的“同步冲突”出现了Syncthing 会在版本号后添加日期后缀,以便您可以选择要保留的版本。启用版本控制有助于保护您的系统。

如果您发现索引耗时过长, 查看扫描结果和实时变化“观察”。在大型代码库中,调整间隔并启用 inotify 通知(如果适用)可以在不牺牲散热的情况下节省 CPU。

容器化安装及其他说明

对于封装环境, 有一个官方的 Docker 镜像。这是一种非常方便的方法,可以将 Syncthing 安装在 NAS、家用服务器或 VPS 上,并保持文件夹的卷已挂载。

在 GNU/Linux 桌面系统中, Syncthing-GTK 或类似的前端可以简化管理过程。 SyncTrayzor 在系统托盘中显示图标,无需打开浏览器即可直接访问各种选项。在 Windows 系统上,SyncTrayzor 完美地满足了这一需求。

正如该项目所强调的那样, “您的数据只属于您自己”正是由于这种无需第三方云服务的方式,许多用户才将内部工作、媒体流或敏感数据从 Dropbox/Drive 迁移出来。

如果你想充分利用它,就应该投入时间…… 排除模式、带宽限制和版本控制在拥有众多机器和大型目录的实际环境中,这三个设置至关重要。

归根结底,Syncthing 结合了 P2P 速度、绝对控制权和非常人性化的设置。一旦设置好并运行起来,你就可以告别U盘、电子邮件附件和无休止的云端上传了。而且,它的确出乎意料地好用。

独家内容 - 点击这里  如何使用 Meta Edits 将任何图像转换为动画