怎么在 Linux 上安装配置 Syncthing 2.1(2026 版)

AI 生成的 Syncthing 2.1 网络拓扑示意图(非官方截图)。
如果你有两台或更多电脑——笔记本、家用服务器、NAS、充当备份的老台式机——你大概已经撞上了”云同步”和”手动 U 盘拷贝”之间那道尴尬的缝隙。云同步要你信任别人的硬盘;手动拷贝平时还能凑合,等真需要时就不够用了。Syncthing 是第三个选项,从 2013 年起就安静地跑着:它在你的设备之间点对点同步文件,传输全程加密,没有任何中心服务器。
两个月前,项目在 2.0 大版本(2025 年 8 月)之上发布了期盼已久的 2.1.3 小版本。这也是 Syncthing 在 Linux 上从未有过的友好。本文带你看看 2.1 究竟改了啥、为什么重要、以及怎么在现代 Linux 机器上装好它,避开那些常见的坑。
官网: https://syncthing.net —— 免费开源,MPL-2.0 协议,Go 编写。
用一段话说清楚 Syncthing 是什么
Syncthing 是一个小巧(约 12 MB)的 Go 守护进程,能跑在 Linux、macOS、Windows、BSD 甚至 Android 上。每个运行实例由一个 设备 ID 标识——一长串加密指纹,你跟自己希望同步的设备交换这个 ID。一旦两台设备互相信任对方的 ID,并约定一个共享文件夹,文件就会双向流动:能本机走 Wi-Fi 就走 Wi-Fi,否则走 Internet 上的中继服务器,全程 TLS 加密。没有云账号,没有上传配额,也没有第三方能读你的数据,因为你的数据根本没出过你的机器。

AI 生成的 Syncthing 内部架构示意图(非官方截图)。
你在 http://127.0.0.1:8384 看到的网页界面,其实是一个用 JavaScript 写的前端,跟守护进程暴露的 HTTP API 通信。每一台平台跑的都是同一套代码——所以下面这套 Linux 安装流程,在树莓派、Ubuntu 24.04 桌面、Fedora Server 虚拟机上完全一致。
为什么现在装 2.1
2025 年 8 月发布的 2.0 把 Syncthing 内部的 LevelDB 索引换成了 SQLite,大体量文件夹扫描明显加快,跨小版本滚动升级也更稳。随后的 2.1 系列主要是修 bug 和打磨细节,但有一个 Linux 用户关心的改动:STHOMEDIR(state 目录)改了默认位置,开始遵循 XDG 基础目录规范。在 Linux 上,Syncthing 现在找的是 $XDG_STATE_HOME/syncthing,回退到 ~/.local/state/syncthing,不再用历史上的 ~/.config/syncthing。
这个变化不大,但如果你从 1.x 年代就开始用 Syncthing,那它跟你有关。你在老路径 ~/.config/syncthing 下的配置仍然有效(Syncthing 会继续用它),但全新安装会落到新位置。2.x 的迁移是自动的。
2.1.3 在 2026 年 8 月 5 日 发布,是目前的稳定版。新用户应当从这一版开始。
Linux 安装:选一条路
2026 年的 Linux 上,有三条靠谱的路。挑对应你发行版的那条。
方案 A:用发行版仓库(最省事)
绝大多数主流发行版都把 Syncthing 收进了主仓库,但版本通常落后一两个小版本。如果你的发行版仓库里已经到 2.1.x,直接用就行。先查一下:
syncthing --version在 Fedora、RHEL、openSUSE、Tumbleweed 以及基于 Arch 的 Endeavour 上:
# Fedora / RHEL / Nobara
sudo dnf install syncthing
# Arch / Endeavour / Manjaro
sudo pacman -S syncthing
# openSUSE Tumbleweed / Leap
sudo zypper install syncthing在 Ubuntu 24.04 LTS(Noble)和 Debian 12(Bookworm)上,上游通常还是 1.x。如果你在这些发行版上非要 2.x,看方案 B。
方案 B:官方上游 tarball(最新)
去 https://syncthing.net/downloads/ 抓 syncthing-linux-amd64-v2.1.3.tar.gz(或者根据你的架构选 -arm64 / -arm)。站点附带 SHA-256 签名清单;项目文档里说过 syncthing --version 会拒绝启动被篡改的二进制,所以只要你是 TLS 下载的,就能信。
cd ~/Downloads
tar -xzf syncthing-linux-amd64-v2.1.3.tar.gz
sudo mv syncthing-linux-amd64-v2.1.3/syncthing /usr/local/bin/
syncthing --version
# syncthing v2.1.3 "Fermium Reunion" (go1.23 linux-amd64)如果你想让 GUI 绑到 80/443 又不想用 root,可以跑:
sudo setcap cap_net_bind_service=+ep /usr/local/bin/syncthing方案 C:容器化(最干净,服务器味)
如果你部署的是一台无头机器(NAS、VPS、Docker 宿主机),Docker Hub 上的官方镜像维护得挺好:
docker run -d --name syncthing
-p 8384:8384 -p 22000:22000/tcp -p 22000:22000/udp
-p 21027:21027/udp
-v ~/.local/state/syncthing:/var/syncthing
--restart=unless-stopped
syncthing/syncthing:latest-p 22000/tcp 和 22000/udp 是真实同步流量必须开的。21027/udp 是局域网发现端口。如果你跳过了 UDP 那几个,Syncthing 也能跑——但只能走全球中继服务器,更慢、隐私也更弱。
用 systemd 用户服务跑起来
2026 年 Linux 上推荐的方式是跑成 systemd 用户服务。这样开机自启(不用 root),日志按用户隔离,systemctl --user 一条命令管全。
先交互式跑一次,让它生成配置,并从日志里抄一下 GUI 链接:
syncthing
# 看最后几行——你会看到类似:
# [TXT-NNNN] GUI URL: http://127.0.0.1:8384/
# Ctrl+C 停掉,我们下面要用 service然后启用随发行版附带的 service 模板(Debian/Ubuntu/Fedora 自带;如果是 tarball 安装,可以从文档里把 unit 文件拷过来):
systemctl --user enable syncthing
systemctl --user start syncthing
systemctl --user status syncthing
loginctl enable-linger $USER # 这样登出后也能继续跑在浏览器里打开 http://127.0.0.1:8384。第一眼会弹一个警告说 API 还没认证——先点过去,我们下面会把它锁上。
配对你的前两台设备
Syncthing 配对设备靠交换 设备 ID。在设备 A(你的笔记本)上,打开 GUI 点 Actions → Show ID。你会看到一串 56 字符的 base32,开头大概是 MFFXI...。把它抄下来。
在设备 B(你的台式机)上,打开 http://127.0.0.1:8384,在右下角的 Remote Devices 面板点 Add Remote Device,把设备 A 的 ID 贴进去,给它起个昵称,保存。设备 A 会弹出一个”New Device”提示——接受。两台相互信任的同伴就建立了。
反方向再做一次,让两台在 Remote Devices 面板上都能看到对方。

AI 生成的双向加密同步示意图(非官方截图)。
共享第一个文件夹
在设备 A 上点 Add Folder,给它起个标签,比如 Notes,把 Folder Path 指到一个真实存在的目录,比如 /home/you/Notes,再到 Sharing 选项卡里勾上设备 B 的名字。保存。
设备 B 会弹出新文件夹提示。默认会提议在与设备 A 同样的相对路径下创建,在 Linux 上就是 /home/you/Notes——确认。
往设备 A 的 /home/you/Notes 里丢个文件。几秒钟后,文件就出现在设备 B 上,两边的 Web GUI 里文件夹状态从 Syncing 变成 Up to Date。
这就是整个核心循环。剩下都是变体。
实际上你该顺手做的几件事
能跑不等于稳。花十分钟把下面这些设了,今天就完事。
把 GUI 锁上。 打开 Actions → Settings → GUI,设用户名、设密码。Listen Address 那一栏,能不改 127.0.0.1:8384 就别改;真要在 LAN 上暴露,至少把 GUI → Authentication:username + password 打开,前面挂一个反向代理(Caddy、Nginx)。
选对 Folder Type。 单向推送(比如只在一台机器上写的 recordings/)用 Send Only。单向接收(比如 backups/ 这种目的地)用 Receive Only。其它场景保留默认的 Send & Receive。
打开 ignore patterns,把垃圾挡在外面。在 Folder → Ignore Patterns 里塞一份合理的起步模板:
# OS / 编辑器留下的痕迹
**/.DS_Store
**/Thumbs.db
**/*.swp
**/.*~
# 构建产物
**/node_modules
**/target
**/__pycache__
**/.cache在文件夹的 Advanced 选项里打开 Versioning → Staggered File Versioning。 默认保留约 5% 的文件夹大小作为滚动历史,等哪天有脚本误删了你半本笔记时,就能救你一命。
看一眼 Settings → Connection 里的 Global Discovery 和 Anonymous Usage Reporting。 默认都是开,要不要关看你的偏好。
两台设备不在同一个局域网怎么办?
两台 Syncthing 设备在同一个 Wi-Fi 下,会直接握手。如果不在,就会回落到项目自营的中继服务器。能用,但费带宽,也会让你的加密流量(虽然中继看不懂)多过一道第三方。
绝大多数家庭场景,自带中继够用了。如果你经常在手机数据网下同步几个 G 的大文件,可以考虑自己买个小 VPS 当中继——文档里 Infrastructure → Relay Protocol 那节有讲。还有一条路是端口转发/反向代理:把路由器的 TCP 22000 转发到 Syncthing 那台机器上,即使跨网络也能直连,不用中继。
Syncthing 不是答案的情况
要实事求是,避免盲目推荐:
- 只有两台设备、又很少同时编辑,
git仓库加一个 remote 可能给你更多(历史、分支、冲突标记),运维成本差不多。 - 需要在手机上离线访问、但手机很少在线,看 Syncthing-Fork(Android 上,官方 Android 客户端 2024 年已经从 Play 商店下架)。iOS 走 Möbius Sync,是第三方。
- 团队需要共享文档、评论、在线状态,那是 Wiki 的活儿,同步工具帮不上。
但如果是”我的笔记本和我的台式机本该有同一个 ~/Notes 文件夹,TMD”,到了 2026 年,Syncthing 2.1 仍然是自托管答案里的第一名。
结论
Syncthing 2.1 是稀罕物——一个十二年的项目,2026 年还在稳定发布(2.1.3 刚发),Linux 故事非但没倒退,2025–2026 这一波反而是变好而不是变差。默认安装就是一行 dnf install 或者解压一个 tarball。一旦你接受”没有中心云可依赖”这件事,用户模型其实很简单:用 ID 配对设备、用名字共享文件夹,然后让守护进程干活就行。对于过去五年攒了一堆笔记、照片、dotfile、~/Documents 散落在一堆机器上的人,Syncthing 仍然是最好的自托管答案。
获取: https://syncthing.net
源码: https://github.com/syncthing/syncthing
2.1.3 发布说明: https://github.com/syncthing/syncthing/releases
评论