配置文件与密钥都在哪:config.xml 及目录里的每个文件
各平台默认位置
配置、密钥与数据库默认在同一个目录:
| 平台 | 路径 |
|---|---|
| Windows | %LOCALAPPDATA%\Syncthing |
| macOS | ~/Library/Application Support/Syncthing |
| Unix(1.27.0 起) | $XDG_STATE_HOME/syncthing,即 ~/.local/state/syncthing |
Unix 位置是 1.27.0 的新默认;更早的安装可能仍在旧的 ~/.config/syncthing,升级不改旧路径。随时用 syncthing --paths 打印实际位置,或从管理界面 Help → About → Paths 查看。
目录里有什么
| 文件/目录 | 内容 |
|---|---|
config.xml | 主配置:文件夹、设备、GUI、选项,XML 格式 |
cert.pem / key.pem | 设备身份密钥对(设备 ID 的来源),必须保密 |
https-cert.pem / https-key.pem | GUI 的 HTTPS 证书,可换成自有证书 |
索引数据库(index-* 等) | 本机与对端文件元数据(v2.0 起为 SQLite) |
syncthing.log | 运行日志(部分平台) |
audit-*.log / panic-*.log | 审计日志 / 崩溃日志(按需产生) |
三个路径参数
--config(配置目录)、--data(数据库目录)、--home(同时设定两者)可把位置挪到别处,对应环境变量 STCONFDIR、STDATADIR、STHOMEDIR。多实例同机并存就靠不同的 --home 区分(注意:同机两个实例是两台「设备」,同实例内部文件夹互相同步不支持)。
密钥保护的两条官方建议
官方安全页把「拿到 key.pem 就能冒充这台设备」讲得很直白,配套建议:
- 设备丢失后立即在其他设备上移除它——吊销访问权;
- 加密盘上的数据,配置目录也放进同一块加密盘——否则密钥以明文躺在系统盘,等于门锁钥匙挂在门外。
改配置的正确方式与时机(停机编辑 vs 界面修改)涉及 config.xml 的编辑纪律,内容并入下文与[日志与审计(04-logs-and-audit.md)的排障链一起讲:改配置后日志没反映预期行为时,先确认程序真的读了你改的那份配置(--paths 核对)。