Syncthing 中文文档 下载 App

全局发现与本地发现:设备如何在没有账号的情况下找到彼此

问题背景

没有账号体系,也没有「好友列表」存着对方的地址——设备 ID 只是身份,不是位置。程序靠两套发现机制把 ID 解析成可连接的地址。

本地发现(默认开启)

本地发现报文是明文的:同一局域网的旁观者能知道「这些机器在跑它、ID 是什么」。内容无暴露,但存在感有。

全局发现(默认开启)

隐私含义(官方安全页明确列出):发现服务器运营者可以把任意设备 ID 映射到 IP、推断哪些设备在互联;互联网上的窃听者能推断出哪些机器开启了全局发现。设备 ID 本来就可以公开(见[设备 ID(../03-设备配对/01-device-id.md)),所以这条暴露通常可接受;介意者在设置里关掉。

关掉发现之后

两个都关,动态发现的连接就找不到了。替代方案是静态地址:设备编辑 → Advanced → Addresses,写明对方地址:

tcp://192.168.1.50:22000, dynamic

逗号分隔可写多条:静态地址保证可达,dynamic 保留自动发现作为补充。NAS、服务器这类地址稳定的设备用静态写法最省事。

与直连失败的关系

发现只解决「找到地址」,地址可达还要过 NAT 与防火墙。找到对方却连不上时,回到[设备连不上怎么办(../03-设备配对/05-pairing-failed.md)的排查链。