你以为它只是个同步工具?Syncthing 藏着 5 个救过我数据的冷门设置
Syncthing 是什么
Syncthing 是一款开源的 P2P 文件同步工具——不走任何第三方云端,直接让你的手机、电脑、NAS 在局域网或公网互相同步文件夹里的文件。数据永远只在你自己的设备之间流动,没有上传、没有存储、没有厂商。相比其他同步工具,Syncthing 的核心优势是完全自主可控:你自己配、自己管、自己决定哪些文件去哪台设备。
它的工作方式是每台设备都运行一个 Syncthing 实例,通过设备 ID 互相配对,然后声明要共享哪些文件夹。配对完成后,文件的新增、修改、删除都会实时在各设备间传播。Android 端还额外提供了更细致的自动同步触发条件——可以按充电状态、指定 WiFi、电量阈值来决定什么时候同步,不用的时候自动停下来省电省流量。
安装
Android 平台的 Syncthing 安装包大小约 48.67MB,包名是 com.nutomic.syncthingandroid。从 Syncthing下载 获取安装包后,首次安装可能需要允许"未知来源"权限(视你的系统版本而定,部分国产 ROM 需要到设置里手动开启)。安装完成点开 App,会有一个简短的配置向导:选择界面语言、设置首次启动的同步目录、跳过注册——它不需要任何账号体系,点几下就能进到主界面。
安装时容易踩的一个小坑:如果你之前装过旧版本并卸载过,系统可能会残留一些配置数据,导致新版本启动时显示"找不到文件夹标记"之类的报错。解决办法很简单——卸载时顺便把 App 的存储数据一并清掉,或者在报错时手动在该同步目录下创建一个名为 .stfolder 的空目录即可。另外,Android 11 及以上版本对外部存储有权限限制,首次启动需要给它"所有文件访问权限",否则你选定的同步路径会被系统拒绝写入。
引子:大家都在怎么用它
大部分人把 Syncthing 配对好、选好几个同步文件夹之后就再也不进设置了——能用就行。但我翻了它的文档和 FAQ 之后发现,它藏着一堆官方不怎么宣传的进阶功能,这些功能才是把它从"玩具级同步工具"升级成"数据保护第一道防线"的关键。
下面这 5 个冷门设置,我自己踩过的坑、救回来的数据,都跟它们有关。
隐藏功能一:版本控制——误删误改的后悔药
你在一台设备上删了一个文件,所有配对的设备都会跟着删。这就是同步的逻辑——保持一致。但如果你是手滑删错了呢?或者被勒索软件加密了呢?
版本控制就是 Syncthing 给你的后悔药。给文件夹开启版本控制后,被远端改动或删除的文件不会直接消失,而是被归档进该文件夹下的 .stversions 子目录里,保留原文件名加时间戳。你可以随时进 .stversions 找回被覆盖前、被删除前的版本。
开启路径是:文件夹设置 → Versioning → 选择一个版本策略(Simple 最简单,保留最近 N 个版本)。我自己用的是 Staggered——它会智能保留不同时间点的版本(最近 1 小时的每 30 分钟一个、最近 1 天的每小时一个、最近 30 天的每天一个),不会让 .stversions 无限膨胀。
什么人用得上:多设备协作写文档、代码同步、任何有"误删后悔"风险的场景。什么人可以无视:纯单向归档(只接收不改动)、临时文件同步。

隐藏功能二:仅接收文件夹——把某台设备变成只读备份站
默认情况下,所有设备的文件夹都是双向同步的——你在任何一台上的改动都会传播出去。但如果我想把旧手机或者 NAS 当成一个"只存不改"的备份落点怎么办?
答案是把该设备上的这个文件夹设为 Receive Only(仅接收)。开启后,这台设备不会往外部传播任何本地改动,只会接收其他设备的同步内容。更妙的是——如果你不小心在这台"备份站"上改了或删了文件,Syncthing 会检测到本地与远端不一致,把你的改动标记为"需要还原",一键就能恢复到远端的正确状态。
开启路径:文件夹设置 → 把 Folder Type 从 Send & Receive 改成 Receive Only。这个设置只在接收端改,发送端不用动——其他设备照常 Send & Receive 就行。
我用它把家里那台老 NAS 变成了全家照片的安全备份:电脑和手机正常双向同步,NAS 只收不改,任何误删或勒索软件加密都能从 NAS 拉回来。

隐藏功能三:.stignore 精细忽略——别让垃圾文件占满你的同步带宽
刚上手 Syncthing 的人大概率会同步整个 Download 或者 Documents 目录,然后抱怨"为什么每次同步都有几百个小文件在飞"——因为你同步了不该同步的东西。
每个同步文件夹根目录下有一个 .stignore 文件,跟 Git 的 .gitignore 用法一模一样。你可以在里面写 glob 模式,告诉 Syncthing 哪些文件不要碰。常见的忽略规则包括:临时文件(*.tmp、*.bak)、编译产物(*.o、node_modules/)、缓存目录(.DS_Store、Thumbs.db)、还有那些体积庞大但不值得同步的文件。
但它藏了一个容易被忽略的细节:.stignore 只影响向外传播,不影响接收远端文件。也就是说,如果你的手机同步了电脑端发来的 node_modules,即使你在手机的 .stignore 里写了 node_modules/,文件还是会被接收——因为忽略规则只管"我发什么出去",不管"别人发给我什么"。要彻底挡掉,得在发送端加规则。
隐藏功能四:按文件夹调扫描间隔——别让大目录白跑
Syncthing 默认有两层检测机制:文件系统监视(watcher,实时感知)和周期全量扫描(兜底)。周期扫描的默认间隔是每小时一次,而且扫描时刻会在 3/4 到 5/4 之间随机——这个设计是为了避免多文件夹同时扫描造成 CPU 峰值。
但如果你有一个几十 GB 的电影库或者一个很少改动的归档目录,每小时全扫一遍完全是浪费。Syncthing 允许你按文件夹单独设置扫描间隔——给大而少变的目录拉长到 12 小时甚至 24 小时,给活跃的小目录保持默认 1 小时。低速设备(手机、树莓派、NAS)上这个改动对 CPU 占用的改善非常明显。
设置路径:文件夹设置 → Advanced → Scanner interval(秒为单位,3600 = 1 小时,43200 = 12 小时)。
隐藏功能五:检查连接类型——同步慢先排除中继
你是不是经常觉得"明明都在同一 WiFi 下,同步速度却跟龟一样"?一个容易被忽略的原因是——你的设备可能没走直连,而是走了中继服务器。
Syncthing 的连接状态会显示三种图标:绿色直连(Direct)、黄色中继(Relay)、灰色断开。直连速度可以跑满你的带宽,中继只有直连的几分之一。如果你看到的是黄色,先排查是不是被 NAT 挡了——比如两台设备在不同网段、路由器没开 UPnP、或者跨运营商网络。直连建立不起来才会自动走中继,这是保底机制,但能走直连就别让它走中继。
检查路径:设备详情 → Connection Type。绿色 = 正常,黄色 = 去排查网络。
一个必须提醒的坑
这 5 个功能里,版本控制最容易被误用。版本控制 ≠ 备份。它只保留有限数量的历史版本(Simple 模式默认 5 个),只防"远端改动覆盖本地"这一类场景,不防整个文件夹被删、不防系统级故障、不防勒索软件加密后每个文件都被改一遍——那时候版本里全是被加密的副本,救不回来。
官方 FAQ 对此的态度很明确:同步负责多设备一致,备份负责历史快照,两者是互补关系不是替代关系。版本控制是同步的安全网,不是备份方案。
收尾
Syncthing 藏得真深。大部分人把它当成一个"装完配对就能用"的工具,但把这些隐藏设置翻出来调一遍,它的可靠性和可控性会上一个台阶。同步≠备份,这是用透它必须建立的观念。版本控制、仅接收模式、精细忽略、扫描调优、连接检查——每一个都是让它从玩具变工具的关键。
本文為個人基於網路公開資料整理編寫,非官方內容,僅供學習交流參考;軟體版權歸原作者所有,請支持正版;使用過程中遇到問題請查閱官方管道,本文不承擔任何責任。