Syncthing跨平台部署教程:安装自启与排障
2026/9/8 15:51:26 网站建设 项目流程

Syncthing跨平台部署教程:安装自启与排障

【免费下载链接】syncthingOpen Source Continuous File Synchronization项目地址: https://gitcode.com/GitHub_Trending/sy/syncthing

假设你有一台 Windows 办公本、一台 MacBook 和一台 Linux 小服务器,想让文档和照片在它们之间自动同步,又不想经过任何网盘。Syncthing 是一款开源的持续文件同步工具,通过 P2P(对等网络)让设备之间直接互传文件,全程用 TLS(传输层安全协议)加密。这篇文章我们按任务阶段走一遍:安装 → 自启 → 网络打通 → 排障。

先看决策表:什么系统装什么

别追新,先选自己系统的"原路":

平台推荐安装方式自启机制
Windows官方 ZIP 包sc 服务(系统自带)
macOSHomebrewlaunchd LaunchAgent
Linux发行版包管理器systemd 用户服务

这张表就是全文主线:先解决"怎么装",再解决"怎么开机就跑",最后解决"网络怎么通"。

阶段一 · 环境与选型:版本、端口、安装方式一次看清

版本门槛很低:Windows 7 及以上、macOS 10.15 及以上、主流 Linux 发行版都能跑。真正的变量在网络,先记牢四个端口:

端口协议用途
22000TCP文件同步(BEP,块交换协议)与中继
22000UDPQUIC(快速 UDP 互联网连接)加速直连
21027UDP局域网本地发现,让同网段设备互相找到
8384TCPWeb 管理界面,默认只监听本机

安装方式对比,每个平台挑一种即可:

平台方式做法
Windows官方 ZIP解压到C:\Program Files\Syncthing,双击运行
macOSbrewbrew install syncthing
macOS官方 .app拖入应用程序,双击运行
Linux包管理器apt/dnf安装 syncthing
Linux官方二进制包下载 tar 包,把可执行文件放进/usr/local/bin

阶段二 · 最简落地 🎯 每平台一条最短路径

目标只有一个:浏览器能打开http://localhost:8384

Windows:解压后双击syncthing.exe,首次运行会直接弹出浏览器窗口,完成。

macOS

brew install syncthing syncthing serve

首次运行会生成一个随机的 Web UI 密码,打印在终端里,记下来。

Linux

sudo apt install syncthing # Debian / Ubuntu syncthing --version

Fedora 把apt换成dnf即可。跑起来之后进管理页面做两件事:给 GUI 设置固定用户名和密码,然后添加对端设备并共享一个文件夹。

阶段三 · 开机自启动:三平台对照表

平台机制文件 / 命令位置验证
Windowssc 服务sc create(见下)sc query Syncthing
macOSlaunchd~/Library/LaunchAgents/syncthing.plistlaunchctl list \| grep syncthing
Linuxsystemd 用户服务~/.config/systemd/user/syncthing.servicesystemctl --user status syncthing

Windows(管理员 PowerShell):

sc create Syncthing binPath= "\"C:\Program Files\Syncthing\syncthing.exe\" serve --no-browser" start= auto sc start Syncthing

sc create一行同时完成"安装 + 自启",服务独立于登录用户,配置落在%PROGRAMDATA%\Syncthing

macOS:项目里自带现成模板 etc/macos-launchd/syncthing.plist,复制到~/Library/LaunchAgents/,把USERNAME换成你的 macOS 用户名,然后:

launchctl load ~/Library/LaunchAgents/syncthing.plist

这个文件里KeepAlive为 true,进程挂了会自动拉起;日志会重定向到~/Library/Logs/Syncthing.log

Linux:把模板 etc/linux-systemd/user/syncthing.service 原样放到~/.config/systemd/user/

systemctl --user daemon-reload systemctl --user enable --now syncthing

用户级服务比系统服务更适合 Syncthing:配置本来就在用户目录,权限天然匹配。多用户服务器则用系统模板 etc/linux-systemd/system/syncthing@.service,sudo systemctl start syncthing@alice这样按用户实例化。

阶段四 · 网络与防火墙:四个端口 + 直连/中继决策树 📡

两台设备怎么连上?逻辑就一句话:先试直连,不行再走中继。

中继只是一根透传管道,内容依然是端到端加密的,不用紧张。在 GUI 的设备详情里能看到当前是"直连"还是"中继"——看到中继且速度差,说明直连没建起来。

防火墙放行:

Windows(管理员 CMD,比图形界面更省事):

netsh advfirewall firewall add rule name=Syncthing dir=in action=allow protocol=TCP localport=22000,8384 netsh advfirewall firewall add rule name=Syncthing-UDP dir=in action=allow protocol=UDP localport=22000,21027

Linux UFW:项目的 etc/firewall-ufw/syncthing 就是现成的 UFW 应用规则,复制到/etc/ufw/applications.d/,然后sudo ufw allow syncthing

macOS:首次联网时系统会弹窗询问,点允许即可。

只在局域网内同步的话,开 UDP 21027 和 TCP/UDP 22000 就够了,8384 不必暴露给外网。

阶段五 · 验证与排障:速查表 + 日志位置

现象最可能原因排查方法
两台设备互找不到21027 未放行或不在同网段看 GUI 里的"发现地址",手动添加地址:端口
连上了但文件不动文件夹没共享给该设备,或被忽略规则挡掉GUI 里检查文件夹共享;查看.stignore
外网打不开管理页8384 默认只监听本机别暴露,用隧道:ssh -L 8384:localhost:8384 user@host
速度慢、延迟高直连不可用,走了中继确认 UDP 22000(QUIC)放行
重启后没自启服务没 enablesystemctl --user is-enabled syncthingsc query Syncthing
出现冲突副本两端同时改过同一文件属正常保护;需要的话开启版本控制

日志位置一览:

平台默认日志
Windows%LOCALAPPDATA%\Syncthing\log\
macOS~/.local/state/syncthing/log/(launchd 可重定向到~/Library/Logs/
Linux~/.local/state/syncthing/log/;用户服务可看journalctl --user-unit syncthing -f

一个实战习惯:先看 GUI 设备详情里的"发现地址"和"连接类型",再回头读日志——八成"不同步"问题在这一步就有答案。

完成度自查清单

逐项打勾,全部完成即部署到位:

  • 管理页可访问,且设置了固定用户名密码
  • 已添加对端设备,并双向共享了文件夹
  • 测试文件在两端都出现了
  • 自启已启用(重启一次机器验证过)
  • 防火墙已放行 22000(TCP/UDP)与 21027(UDP)
  • 知道日志在哪,并跑通一次tail -f

打通之后,以后加新设备只是"复制设备 ID → 添加 → 共享文件夹"的重复动作,部署的难点都在这六项里了。

【免费下载链接】syncthingOpen Source Continuous File Synchronization项目地址: https://gitcode.com/GitHub_Trending/sy/syncthing

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询