Syncthing 部署实战:3 套系统手把手完成设备间文件直传 📅 发布时间:2026/8/29 9:08:40 👁 浏览次数: Syncthing 部署实战3 套系统手把手完成设备间文件直传【免费下载链接】syncthingOpen Source Continuous File Synchronization项目地址: https://gitcode.com/GitHub_Trending/sy/syncthingSyncthing开源连续文件同步工具让多台设备在不上云的前提下自动保持文件一致。这篇 Syncthing 部署指南覆盖 Windows、macOS、Linux 三个平台从装前自检、首次配置、两台设备配对到服务化常驻与连不上/不同步的排查跟着做完即可跑通第一组双向同步。先搞懂它凭什么替代网盘原理与前置清单设备直传Syncthing 的同步机制设备之间通过 P2PPeer-to-Peer对等网络双方不经第三方直接互传建立连接全程使用 TLSTransport Layer Security传输层安全协议负责加密与双向身份核验加密。文件内容按块比对走 BEPBlock Exchange Protocol块交换协议只传缺失的块而不是整个文件所以大文件二次同步几乎不耗流量。维度云端同步Syncthing 直传流量成本上传下载双向计费局域网近乎零成本隐私数据落在服务商仅存在于你自己的设备离线可用性依赖云端设备在线即可断网可走中继冲突处理云端裁决本地生成冲突副本不丢数据两台设备完成一次同步的完整过程装前自检版本、端口与配置目录检查项要求操作系统Windows 7 SP1 / macOS 10.13 / 主流发行版 Linux内存与磁盘4GB 内存起步同步目录所在盘预留出文件总量的空间配置位置Windows%LOCALAPPDATA%\SyncthingmacOS~/.config/syncthingLinux~/.config/syncthing提示日志默认写在配置目录下Windows 为%LOCALAPPDATA%\Syncthing\synchronisation.logUnix 系为~/.local/state/syncthing/logs/syncthing.log。排查不同步时先看这里比翻服务日志快。3 种系统最快的 Syncthing 安装方式Linux 安装二进制 CLI 验证从发行版仓库或官方发布页取得压缩包下文以版本vX.Y.Z为占位替换为实际值并放入 PATHtar -xzf syncthing-linux-amd64-vX.Y.Z.tar.gz sudo cp syncthing-linux-amd64-vX.Y.Z/syncthing /usr/local/bin/验证安装syncthing --version成功标志打印出版本号如v2.1.0。macOS 安装Homebrew 或手动用 Homebrew 安装brew install syncthing成功标志命令静默完成后which syncthing返回路径。没有 Homebrew 的话把官网下载的二进制放入~/bin/syncthing并chmod x也可以后续 LaunchAgent 会直接引用该路径。Windows 安装解压即用把官网 ZIP 解压到C:\Program Files\Syncthing目录可自定占位符INSTALL_DIR替换为实际路径。首次用命令行生成默认配置syncthing.exe generate成功标志控制台打印出 Web 界面地址http://127.0.0.1:8384/浏览器随后自动弹出该页面。提示仓库自带 命令行子命令清单装好后可先跑syncthing cli --help熟悉show connections、show discovery等排查命令后文排障会用到。Syncthing 首次配置GUI 认证、设备配对与共享文件夹给 Web 界面上一把锁浏览器打开http://127.0.0.1:8384点顶部 Actions → Edit Configuration → GUI。勾选 Enable Authentication填入用户名与密码保存后服务自动重启。成功标志刷新页面出现登录框用刚设置的凭据能进入。注意GUI 默认只监听本机回环地址这是正确状态。除非你有明确的远程管理需求并确认设置了强密码否则不要把它暴露到公网。两台设备互认56 位 ID 是怎么交换的在 A 的 Web 界面 Devices 页复制本机 Device ID形如ABC12-...-...共 56 位中间用连字符分组。在 B 的 Devices 页点 Add Remote Device粘贴该 ID 并起个备注名。A 端的 Devices 页会出现一条 Pending Devices 记录点 Accept。成功标志双方 Devices 列表里对端设备图标变为绿色在线状态。共享文件夹类型怎么选A 端在 Folders 页 Add Folder选择本地目录路径。在共享设置里勾选要参与同步的对端设备。按需求选择文件夹类型类型行为典型用途Send Receive双向自动对齐日常主力同步Send Only只向外推送本地改动不生效发布服务器、模板分发Receive Only只接收本地不主动推送备份接收端成功标志B 端 Folders 页出现 Pending Folders 提示接受后开始扫描。提示目录根部放一个.stignore文件按 Git 忽略规则排除日志、临时文件等能明显减少无效扫描。格式示例见 man/syncthing-stignore.5。放行端口Syncthing 防火墙配置三台设备要互通本地防火墙至少要放行下表端口端口协议用途22000TCP设备直连传输22000UDPQUIC 传输NAT 穿透更稳21027UDP局域网内自动发现8384TCPWeb 管理界面仅限本机访问Ubuntu/DebianUFW一条命令放行同步相关端口sudo ufw allow 22000/tcp sudo ufw allow 22000/udp sudo ufw allow 21027/udp成功标志sudo ufw status列出三条 ALLOW 规则。Windows 在管理员 PowerShell 中放行本进程New-NetFirewallRule -DisplayName Syncthing -Direction Inbound -Program $env:ProgramFiles\Syncthing\syncthing.exe -Action Allow成功标志Get-NetFirewallRule -DisplayName Syncthing返回 Enabled 状态的规则。macOS 默认不拦入站若开启过防火墙弹出是否允许传入连接时点允许即可。注意8384 只应在确需远程管理时才放行且务必先完成上一步的 GUI 认证。Syncthing 服务化登录系统即自动拉起配置完成后先在 GUI 设置里取消启动时打开浏览器再按系统注册常驻服务。Windows注册为系统服务管理员 PowerShell 创建服务INSTALL_DIR替换为实际安装路径sc.exe create Syncthing binPath C:\Program Files\Syncthing\syncthing.exe --no-browser --no-restart start auto sc.exe start Syncthing验证sc.exe query Syncthing显示RUNNING即成功。macOSLaunchAgent 自动拉起仓库已备好现成模板 etc/macos-launchd/syncthing.plist先复制再修改cp etc/macos-launchd/syncthing.plist ~/Library/LaunchAgents/syncthing.plist打开该文件把两处USERNAME全部替换为你的账户名/Users/USERNAME、程序路径按实际安装位置调整。加载并验证launchctl load ~/Library/LaunchAgents/syncthing.plist launchctl list | grep syncthing成功标志grep 出一行第一列为 PID非-表示进程在跑。Linuxsystemd 用户级服务写入服务单元内容如下/usr/local/bin/syncthing按实际位置调整cat ~/.config/systemd/user/syncthing.service EOF [Unit] DescriptionSyncthing - Open Source Continuous File Synchronization Afternetwork-online.target [Service] ExecStart/usr/local/bin/syncthing serve --no-browser --no-restart Restarton-failure RestartSec1 [Install] WantedBydefault.target EOF加载、启动并设为登录自启systemctl --user daemon-reload systemctl --user enable --now syncthing验证systemctl --user status syncthing显示active (running)即成功。提示想让服务在开机无人登录时就运行执行sudo loginctl enable-linger $USER。系统级模板 etc/linux-systemd/system/syncthing.service 内置了完整沙箱加固项需要更强隔离时可参考它自定义改动建议用 drop-in 覆盖而非改原文件。验证与排障Syncthing 连不上/不同步怎么办端到端验证在 A 的同步目录新建test.txt写入任意内容。等 1~2 分钟看 B 的同一目录。成功标志B 端出现test.txtWeb 界面中该文件夹状态为绿色 Up to Date对端设备在线。状态自查命令syncthing cli show connections # 看对端是否已连上及其地址 syncthing cli show system # 看服务整体状态成功标志connections 输出里能看到对端 ID 与 IP 段直连为对端真实 IP走中继则带dynamic前缀。Linux 下若服务异常用journalctl --user -u syncthing查最近日志。常见坑速查现象最可能原因处置对端一直离线防火墙没放行、端口写错对照端口表复查show connections看是否只剩dynamic地址跨网段时断时续NAT 下直连失败确认 GUI 里 Relay 处于启用状态让它兜底走中继同步慢、大文件卡走了中继或 21027/UDP 没放行局域网先补齐 UDP 规则检查是否全部dynamic某些文件始终不动.stignore误伤、权限不足删掉忽略规则重试服务账号需有目录读写权限Web 界面打不开服务没起来 / 凭据输错确认 8384 端口在监听用 GUI 认证凭据登录Linux 服务起不来单元文件语法或路径错误journalctl --user -u syncthing读最后 20 行定位 到这里三台设备已全部进入自动同步状态文件改动、删除会持续对齐登录系统即自动拉起进程。后续新增设备只需重复互认 ID → 接受 Pending → 共享文件夹三步即可。【免费下载链接】syncthingOpen Source Continuous File Synchronization项目地址: https://gitcode.com/GitHub_Trending/sy/syncthing创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考