Syncthing P2P 文件同步
一句话概述:Syncthing 是开源的去中心化文件同步工具,设备之间直接同步,不经过第三方服务器,数据完全自己掌控。
核心知识点
| 概念 | 白话解释 |
|---|
| Syncthing | P2P 文件同步 = 设备之间直接传文件 |
| Device | 设备 = 参与同步的每台电脑/手机 |
| Folder | 同步文件夹 = 要同步的目录 |
| Device ID | 设备标识 = 每台设备的唯一身份证 |
| Web GUI | 管理界面 = 浏览器中的管理面板 |
| Relay | 中继 = 直连不通时通过公共节点转发 |
安装配置
# Linux(Ubuntu/Debian)
sudo apt install syncthing # APT 安装
# 或使用官方仓库(最新版)
curl -s https://syncthing.net/release-key.gpg | sudo gpg --dearmor -o /etc/apt/keyrings/syncthing.gpg
echo "deb [signed-by=/etc/apt/keyrings/syncthing.gpg] https://apt.syncthing.net/ syncthing stable" | sudo tee /etc/apt/sources.list.d/syncthing.list
sudo apt update && sudo apt install syncthing
# macOS
brew install syncthing # Homebrew
# 启动
syncthing # 前台启动
# 浏览器自动打开 http://127.0.0.1:8384(Web GUI)
# 设置开机自启(Linux systemd)
systemctl --user enable syncthing # 用户级服务
systemctl --user start syncthing # 启动
配置同步
# 步骤1:获取 Device ID
# Web GUI → Actions → Show ID → 复制设备ID
# 步骤2:添加远程设备
# Web GUI → Add Remote Device → 粘贴对方的 Device ID
# 对方也要添加你的 Device ID(双向确认)
# 步骤3:添加同步文件夹
# Web GUI → Add Folder
# Folder Path: /home/pweaz/Documents/sync # 本地路径
# Sharing → 勾选要同步的设备 # 选择同步对象
# 步骤4:对方设备确认
# 对方的 Web GUI 会弹出请求 → Accept
高级配置
<!-- 忽略文件(.stignore 文件放在同步目录根下) -->
<!-- 语法类似 .gitignore -->
// .stignore 示例
(?d).DS_Store // macOS 系统文件
(?d)Thumbs.db // Windows 缩略图
*.tmp // 临时文件
*.log // 日志文件
.git // Git 目录
__pycache__ // Python 缓存
node_modules // Node 依赖
# 命令行管理
syncthing cli config devices list # 列出设备
syncthing cli config folders list # 列出文件夹
syncthing cli show system # 系统信息
常见报错
| 报错 | 原因 | 解决 |
|---|
Disconnected | 设备离线或网络不通 | 检查网络和防火墙 |
Out of Sync | 文件同步冲突 | 检查冲突文件(.sync-conflict-*) |
Folder Marker Missing | .stfolder 被删 | 在同步目录下创建 .stfolder 目录 |
Permission denied | 文件权限问题 | 检查目录权限 |
| 同步很慢 | 走了中继(Relay) | 配置端口转发或 UPnP |
速查表
# 管理命令
syncthing # 启动(前台)
syncthing serve --no-browser # 启动(不开浏览器)
systemctl --user start/stop/status syncthing # systemd 管理
# Web GUI
# http://127.0.0.1:8384 # 管理界面
# 同步流程
# 1. 两台设备都安装 Syncthing
# 2. 互相添加 Device ID
# 3. 创建同步文件夹并共享
# 4. 自动同步(实时监听文件变化)
# 核心优势
# ✅ 开源免费,无服务器费用
# ✅ 端到端加密,数据不经过第三方
# ✅ 跨平台(Linux/macOS/Windows/Android)
# ✅ 支持版本控制(保留旧版本)
# ❌ 没有 iOS 客户端(Apple 限制)