Syncthing Web界面:GUI操作完全手册
1. 界面概览与访问配置
1.1 默认访问方式
Syncthing Web界面(Graphical User Interface,图形用户界面)默认通过127.0.0.1:8384地址访问,采用HTTP协议传输。首次启动后会自动打开浏览器窗口,显示主控制台界面。界面布局包含五大核心区域:
flowchart TD
A[顶部导航栏] -->|系统状态| B[仪表盘]
A -->|核心功能| C[文件夹管理]
A -->|设备管理| D[远程设备]
A -->|高级设置| E[操作面板]
F[左侧状态栏] -->|快速访问| G[设备ID/连接状态]
F -->|系统信息| H[CPU/内存占用]
I[中央内容区] -->|上下文切换| B & C & D & E
J[底部状态栏] -->|全局状态| K[同步进度/错误提示]
1.2 访问控制配置
通过config.xml文件或环境变量可修改访问参数,核心配置项如下:
| 参数名 | 环境变量替代 | 默认值 | 说明 |
|---|---|---|---|
address |
STGUIADDRESS |
127.0.0.1:8384 |
监听地址,支持unix:///path/to/socket格式的Unix套接字 |
useTLS |
- | false |
启用HTTPS加密(需配合https-cert.pem证书文件) |
unixSocketPermissions |
- | 0700 |
Unix套接字文件权限(八进制表示) |
insecureAdminAccess |
- | false |
允许远程访问(禁用时仅本地回环地址可访问) |
示例:允许局域网访问
修改配置文件或设置环境变量:
export STGUIADDRESS="0.0.0.0:8384" # 绑定所有网络接口
2. 用户认证与安全设置
2.1 密码保护配置
Web界面支持两种认证模式,通过GUIConfiguration结构体控制:
-
本地密码认证
需同时设置user和password字段,密码会自动使用bcrypt算法哈希存储:<gui enabled="true" tls="true"> <address>127.0.0.1:8384</address> <user>admin</user> <password>$2a$10$VQx8t5c7h8Z3LczQV6E9UeX8qQZ7QZ7QZ7QZ7QZ7QZ7QZ7QZ7QZ</password> <authMode>hash</authMode> </gui> -
LDAP集成认证
设置authMode="ldap"并配置LDAP服务器参数(企业环境适用):<ldap> <address>ldap://company-domain.com:389</address> <bindDN>cn=admin,dc=company,dc=com</bindDN> <bindPassword>secret</bindPassword> <userBaseDN>ou=users,dc=company,dc=com</userBaseDN> <userFilter>(uid=%s)</userFilter> </ldap>
2.2 API访问控制
通过apiKey实现无界面访问授权,在请求头中携带认证信息:
curl -H "X-API-Key: k1dnz1Dd0rzTBjjFFh7CXPnrF12C49B1" \
http://127.0.0.1:8384/rest/system/status
安全提示:API密钥长度为32位随机字符串,可通过
STGUIAPIKEY环境变量覆盖配置文件值。
3. 文件夹管理核心操作
3.1 文件夹创建向导
通过"添加文件夹"向导配置同步目录,关键参数说明:
sequenceDiagram
participant User
participant GUI
participant Config
User->>GUI: 点击"添加文件夹"按钮
GUI->>User: 显示创建表单
User->>GUI: 输入ID/标签/路径
User->>GUI: 选择同步类型(sendreceive/sendonly/receiveonly)
GUI->>Config: 验证路径可写性
Config-->>GUI: 返回验证结果
User->>GUI: 选择关联设备
GUI->>Config: 生成<folder>配置节点
Config-->>GUI: 返回创建成功提示
同步类型区别:
sendreceive(默认):双向同步,本地修改会传播到远程sendonly:仅发送本地变更,忽略远程修改receiveonly:仅接收远程变更,本地修改需手动确认(通过"覆盖更改"按钮)
3.2 高级文件夹设置
在文件夹编辑界面展开"高级选项"可配置高级参数,常用项包括:
| 分类 | 参数名 | 默认值 | 优化建议 |
|---|---|---|---|
| 监控 | fsWatcherEnabled |
true |
SSD建议启用,网络文件系统建议禁用 |
| 性能 | hashers |
0(自动) |
机械硬盘设置为2,SSD设置为CPU核心数一半 |
| 冲突处理 | maxConflicts |
10 |
重要数据建议设为-1(无限制保留冲突文件) |
| 空间管理 | minDiskFree |
1% |
大容量存储建议设为5GB绝对值 |
示例:配置版本控制
启用"交错式版本控制"(Staggered Versioning):
<versioning type="staggered">
<cleanupIntervalS>86400</cleanupIntervalS>
<maxAgeS>31536000</maxAgeS>
<versionsPath>.stversions</versionsPath>
<keep>
<period>3600</period>
<count>24</count>
</keep>
<keep>
<period>86400</period>
<count>30</count>
</keep>
</versioning>
4. 设备管理与连接配置
4.1 设备添加流程
添加远程设备需完成以下步骤:
- 获取目标设备ID(在远程设备"操作→显示ID"处查看)
- 点击"添加设备"按钮,输入设备ID和友好名称
- 配置设备地址(支持多种格式):
- 动态发现:
dynamic(默认,依赖全局/本地发现服务) - 静态地址:
tcp://192.168.1.100:22000(TCP直连) - 中继服务器:
relay://relay.example.com:22067(通过中继转发)
- 动态发现:
- 选择要共享的文件夹并设置权限
4.2 连接状态诊断
在设备详情页面的"连接"标签页可查看连接状态,常见问题排查:
| 状态图标 | 含义 | 解决方案 |
|---|---|---|
| 🟢 已连接 | 正常P2P连接 | - |
| 🟡 正在连接 | 正在尝试建立连接 | 检查防火墙是否放行22000端口(TCP/UDP) |
| 🔴 未连接 | 连接失败超过5分钟 | 启用中继服务(relaysEnabled="true")或配置端口转发 |
| ⚠️ 降级连接 | 使用中继而非直连 | 在路由器配置UPnP或手动端口转发,NAT类型为"完全锥型"最佳 |
网络诊断命令:
# 检查端口可达性
nc -zv remote-device-ip 22000
# 查看Syncthing连接日志
grep -i "connection established" ~/.local/state/syncthing/syncthing.log
5. 系统监控与性能优化
5.1 仪表盘指标解读
主界面仪表盘显示关键性能指标,需关注:
- 同步进度条:绿色表示已同步,黄色表示同步中,红色表示错误
- 系统负载:CPU占用超过80%会导致同步延迟
- 内存使用:索引数据库大小通常为同步文件总量的1-2%
- 网络流量:发送/接收速率应匹配网络带宽(可在"设置→连接"中配置限速)
5.2 性能调优参数
通过"操作→设置→性能"调整系统参数,针对不同场景优化:
| 场景 | 优化参数组合 |
|---|---|
| 大型文件(>1GB) | blockPullOrder="inOrder"copyRangeMethod="standard" |
| 大量小文件(<10KB) | hashers="4"copiers="2"fsWatcherDelayS="30" |
| 低带宽网络 | maxSendKbps="1024"limitBandwidthInLan="false" |
| 资源受限设备(NAS) | setLowPriority="true"maxFolderConcurrency="1" |
配置示例:通过API应用性能配置
curl -X PATCH -H "X-API-Key: $STGUIAPIKEY" -H "Content-Type: application/json" \
http://localhost:8384/rest/system/config \
-d '{"options":{"hashers":4,"copiers":2,"maxFolderConcurrency":2}}'
6. 故障排除与常见问题
6.1 界面访问故障
| 错误现象 | 可能原因 | 解决步骤 |
|---|---|---|
| 拒绝连接(ERR_CONNECTION_REFUSED) | Syncthing未运行或端口被占用 | 1. pgrep syncthing检查进程2. 检查 STGUIADDRESS是否被占用 |
| 证书错误(NET::ERR_CERT_INVALID) | HTTPS证书自签名或过期 | 1. 清除浏览器缓存 2. 重新生成证书: rm ~/.local/state/syncthing/https-*.pem |
| 401未授权 | 密码错误或API密钥失效 | 1. 重置密码:syncthing cli config gui.user set admin && syncthing cli config gui.password set newpass |
6.2 同步错误处理
常见同步错误及解决方法:
- "文件被锁定"错误:关闭占用文件的应用程序,或配置
copyRangeMethod="fallback" - "权限被拒绝"错误:检查文件夹权限(至少需要rwx权限),设置
ignorePerms="true" - "设备已断开连接":在防火墙开放22000/TCP、21027/UDP端口,启用"本地发现"
高级诊断:启用调试日志
syncthing --logflags=0x7fffffff > debug.log 2>&1
# 日志包含连接握手、索引交换和文件传输详细信息
7. 高级功能与自定义
7.1 命令行界面(CLI)集成
Syncthing提供CLI工具与Web界面协同工作,常用命令:
# 查看系统状态
syncthing cli system status
# 暂停文件夹同步
syncthing cli folders pause my-folder-id
# 导出配置
syncthing cli config export > backup-config.xml
7.2 主题定制与界面扩展
通过theme参数切换内置主题(default/dark/light/black),或通过自定义CSS扩展:
- 创建
~/.config/syncthing/custom.css - 添加自定义样式:
/* 调整导航栏颜色 */ .navbar { background-color: #2c3e50 !important; } /* 增大字体 */ body { font-size: 14px !important; } - 在"设置→界面"中启用"自定义CSS"
8. 自动化与集成
8.1 REST API使用示例
通过API实现自动化操作,Python示例:
import requests
API_KEY = "your-api-key"
BASE_URL = "http://localhost:8384/rest"
def get_sync_status():
headers = {"X-API-Key": API_KEY}
response = requests.get(f"{BASE_URL}/system/status", headers=headers)
return response.json()
def restart_syncthing():
headers = {"X-API-Key": API_KEY}
requests.post(f"{BASE_URL}/system/restart", headers=headers)
if __name__ == "__main__":
status = get_sync_status()
print(f"Current sync completion: {status['syncCompletion']}%")
if status["connections"] == 0:
restart_syncthing()
8.2 第三方集成
- 监控集成:通过Prometheus导出指标(启用
metricsWithoutAuth: true) - 文件管理器集成:Windows资源管理器/ macOS Finder扩展(需单独安装)
- 移动访问:通过
insecureAdminAccess: true配合HTTPS反向代理实现手机访问
9. 配置备份与迁移
9.1 配置文件位置
不同操作系统配置文件路径:
| 操作系统 | 配置目录 | 数据库目录 |
|---|---|---|
| Linux | ~/.local/state/syncthing |
同配置目录 |
| macOS | ~/Library/Application Support/Syncthing |
同配置目录 |
| Windows | %LOCALAPPDATA%\Syncthing |
%LOCALAPPDATA%\Syncthing |
9.2 迁移步骤
- 在源设备上导出配置:
syncthing cli config export > syncthing-config.xml - 复制证书文件:
cert.pem和key.pem(设备ID依赖这些文件) - 在目标设备安装相同版本的Syncthing
- 停止目标设备服务,替换配置文件和证书
- 启动服务并验证设备ID是否与源设备一致
10. 常见问题解答(FAQ)
Q: Web界面无响应但服务仍在运行?
A: 检查是否达到文件描述符限制,Linux系统可通过ulimit -n 65536临时增加,永久修改需编辑/etc/security/limits.conf。
Q: 如何允许远程访问Web界面同时保持安全?
A: 推荐配置:address="0.0.0.0:8384"useTLS="true"insecureAdminAccess="false"
配合强密码和IP白名单(通过防火墙实现)。
Q: 同步速度远低于网络带宽?
A: 检查:1. 是否启用TLS(加密会消耗CPU)
2. 文件夹是否启用版本控制(会增加I/O操作)
3. 设备间是否通过中继连接(查看"连接"页面的"中继"指标)
11. 总结与最佳实践
11.1 企业部署清单
- [ ] 配置HTTPS并使用可信证书
- [ ] 启用LDAP认证集成企业身份系统
- [ ] 设置监控告警(磁盘空间不足/连接中断)
- [ ] 定期备份配置文件(每周至少一次)
- [ ] 实施设备访问控制策略(仅授权设备可连接)
11.2 性能优化清单
- [ ] 为不同类型文件夹配置单独的同步策略
- [ ] 机械硬盘禁用文件系统监控(
fsWatcherEnabled: false) - [ ] 大型媒体库使用"发送仅"模式,避免双向同步冲突
- [ ] 定期清理旧版本文件(通过"版本控制"设置自动清理)
通过本手册掌握Syncthing Web界面的全部功能,可实现高效、安全的文件同步管理。更多高级技巧请参考官方文档或社区论坛讨论。
文档版本:v2.0.0
最后更新:2025年9月
反馈渠道:项目Issue追踪系统
Kimi-K2.5Kimi K2.5 是一款开源的原生多模态智能体模型,它在 Kimi-K2-Base 的基础上,通过对约 15 万亿混合视觉和文本 tokens 进行持续预训练构建而成。该模型将视觉与语言理解、高级智能体能力、即时模式与思考模式,以及对话式与智能体范式无缝融合。Python00- QQwen3-Coder-Next2026年2月4日,正式发布的Qwen3-Coder-Next,一款专为编码智能体和本地开发场景设计的开源语言模型。Python00
xw-cli实现国产算力大模型零门槛部署,一键跑通 Qwen、GLM-4.7、Minimax-2.1、DeepSeek-OCR 等模型Go06
PaddleOCR-VL-1.5PaddleOCR-VL-1.5 是 PaddleOCR-VL 的新一代进阶模型,在 OmniDocBench v1.5 上实现了 94.5% 的全新 state-of-the-art 准确率。 为了严格评估模型在真实物理畸变下的鲁棒性——包括扫描伪影、倾斜、扭曲、屏幕拍摄和光照变化——我们提出了 Real5-OmniDocBench 基准测试集。实验结果表明,该增强模型在新构建的基准测试集上达到了 SOTA 性能。此外,我们通过整合印章识别和文本检测识别(text spotting)任务扩展了模型的能力,同时保持 0.9B 的超紧凑 VLM 规模,具备高效率特性。Python00
KuiklyUI基于KMP技术的高性能、全平台开发框架,具备统一代码库、极致易用性和动态灵活性。 Provide a high-performance, full-platform development framework with unified codebase, ultimate ease of use, and dynamic flexibility. 注意:本仓库为Github仓库镜像,PR或Issue请移步至Github发起,感谢支持!Kotlin08
VLOOKVLOOK™ 是优雅好用的 Typora/Markdown 主题包和增强插件。 VLOOK™ is an elegant and practical THEME PACKAGE × ENHANCEMENT PLUGIN for Typora/Markdown.Less00