LocalSend
文件传输 · 局域网 · 跨平台
同一网络里互传文件,开源,不用账号。
正在打开工具详情…
开源的设备间文件同步工具,点对点直传,不经第三方服务器。
有几台常设备、想自己掌握数据位置的人。
要和多人共享链接协作,或不想管任何配置的人。
Syncthing 在你自己的设备之间建立点对点同步:文件夹在 A 电脑改动,B 电脑和手机自动跟上,数据只在设备之间流动,不经过厂商服务器。
适合在意数据位置、有固定几台常用设备的人;需要「把链接发给同事即可访问」的多人协作盘,它不是同类替代。
第一次配置要互相交换设备 ID,之后基本免维护。国内访问官方发布较慢时,可用项目方列出的已核验镜像。
上手步骤之外的具体做法:常见场景怎么配、命令怎么写、报错怎么处理。
从设备 ID 与文件夹 ID 的对应关系讲起,讲到中继机制在断网时到底发生了什么,以及用命令行做无界面部署与自动备份的实操。
Syncthing 的标识体系是理解它的关键,也是新手最搞混的地方:
ABCD-EFGH-IJKL-MNPQ-1234-5678-9ABC-DEFG-HIJK-MNOP,由证书派生、永久不变,等价于设备指纹。配对的完整流程是:两台机器交换设备 ID(扫码或复制粘贴),然后双方各自添加对方并选择「共享」该文件夹。注意「添加设备」和「共享文件夹」是两个独立动作——只添加设备不同步任何东西,勾上文件夹的共享复选框才真正开始同步。
坑:只在一端勾了共享,另一端没勾,文件夹会显示为「未共享 / Remote Unshared」,一直不开始传输。检查两端都要有该文件夹且状态为 Active。
当两台设备不在同一局域网且互相无法直连时,Syncthing 会借助中继服务器(Relay) 交换连接信息,传输本身仍是端到端的。
| 连接状态 | 含义 |
|---|---|
| Connected Directly | 局域网内直连,最快 |
| Connected Relayed | 通过中继转发,延迟明显更高 |
| Introducing (relay) | 正在通过中继互相发现,还没建链 |
| Paused | 文件夹被暂停 |
关键点:中继不存储你的文件,只转发握手包。中继服务器由社区运营,也可能不可用。所以只要你的服务器有公网 IP 并做了端口转发,就应该优先走直连。
在 Web 界面的远程设备上点「Connection Type」可以看到当前走的哪条路。打开 设置 - 调试 面板还能看到 NAT 探测结果和候选地址列表。
Syncthing 在同步时自带一套简化的版本控制,配置在文件夹的 File Versioning:
收到「Local Additions/Deletions」类型的冲突时,同步会在文件名后加 ~sync-conflict-... 后缀生成副本而不是覆盖。要减少冲突,规则是两边都不要同时改同一个文件。
先把忽略规则配好,不然 node_modules 或视频目录会直接把同步拖死。忽略规则走 .stignore 文件,语法接近 gitignore:
# 临时文件与系统垃圾
*.tmp
~$*
.DS_Store
Thumbs.db
# 大目录与二进制产物
node_modules/
.git/
*.iso放在文件夹的「忽略模式」设置里,忽略 标签页可以看哪些规则命中了哪些文件,调试很方便。配置生效需要重启该文件夹的同步。
服务端二进制 syncthing 自带 CLI,容器化与服务器部署时用它最省事。设备 ID 必须在启动前生成并保存,因为 ID 由证书决定,重新生成就变了:
bash# 1. 首次生成配置(含设备 ID 与 TLS 证书)
syncthing generate --home=/var/syncthing/config
# ----
# 2. 之后一律用 serve 启动,不会覆盖已生成的 ID
syncthing serve --home=/var/syncthing/config --no-browser
# ----
# 3. 查本机设备 ID
syncthing --home=/var/syncthing/config cli show system
# ----
# 4. 列出已连接的设备
syncthing --home=/var/syncthing/config cli show connectionsgenerate 和 serve 的区别是易错点:generate 会重新生成配置与证书,误用会导致设备 ID 变更、所有设备都需要重新配对。正确做法是首次部署用 generate,之后重启一律用 serve。
验证与修复(--repair)只在文件真的损坏时才用,它会用本地副本覆盖其他节点的数据,代价是以本地为准、丢弃远端较新的版本,用之前先确认本地数据是完整的。
配置目录由 --home 参数决定,systemd 部署时建议显式指定,避免 root 与普通用户配置混淆。
同一需求下可以先试这些,尤其是不想买商业许可的时候。
文件传输 · 局域网 · 跨平台
同一网络里互传文件,开源,不用账号。