
会议室里,同事要一份 2.3GB 的素材包。U 盘在另一个包里,微信传文件卡在 1GB 的上限,网盘上传要等二十分钟,而两台笔记本就连在同一台路由器的两个口上。它们之间的距离,是一根网线。
这件事本来只需要四十秒。同一局域网内,千兆链路跑满大约是 110MB/s,2.3GB 就是二十一秒,加上握手和校验,也不会超过一分钟。
下面四个工具都能做到这件事,但它们解决的问题并不相同。选错的代价不是慢,是你以后每次传文件都要重新想一遍该用哪个。
1. 先分清两类需求,再谈工具
第一类是「一次传输」:现在、马上、把这堆文件从 A 挪到 B,挪完就结束。第二类是「持续一致」:两台机器上的某个目录,应该长期保持一样。这两类需求对应的是完全不同的软件,混用会一直别扭。
还有第三个维度容易被忽略:传输发生时,两台机器是不是在同一个网段。同网段可以直接连,跨网段就得先解决「怎么找到对方」,这一步往往比传输本身更麻烦。
2. LocalSend:边界是「两台设备都在场」
它做一件事:打开就搜附近设备,点一下发送,对方点接收。没有账号,没有服务器,局域网内自动发现,走的是 HTTPS。它的价值在于零配置,代价是所有便利都建立在「此刻两台设备都开着」这个前提上。
手机、Windows、macOS、Linux 都有客户端,跨平台这一项它是四个里最省事的。但它不做断点续传,也不做后台同步:传输中断,重来一遍;人走了,任务就停在那里。
它还有一个容易被忽略的限制:自动发现靠多播,很多企业网络和访客 Wi-Fi 会把多播关掉。这时候需要手动输入对方的 IP 和端口,而手动输 IP 这件事,已经抵消了它「零配置」的优势。
3. Syncthing:边界是「你要的是目录状态,不是一次传输」
它把两台机器上的两个目录绑成一对,任何一边的改动都会被推到另一边,包括删除。它不问你「要不要传」,它只维护「两边应该一样」这个状态。
这个模型适合什么?照片自动回流到家里的机器、笔记在多台设备之间保持一致、服务器上的配置目录同步到本地做备份。不适合什么?发一个文件给同事看一眼——为这件事装一套同步,是把一次搬运变成一段长期关系。
它的连接方式是先通过中继服务器交换地址,再尝试直连。同网段时直连,速度接近链路上限;跨网段打不通时会退到中继,速度取决于中继带宽。很多人抱怨它慢,其实是在走中继而不自知,界面上会显示连接类型,值得看一眼。
4. SMB 共享:边界是「有一台常开的机器,且在同一网段」
Windows 的共享文件夹、macOS 的「文件共享」、Linux 上的 Samba,本质是同一件事:把一台机器的目录挂成网络盘。它最被低估,因为它不需要装任何东西,也不需要教对方怎么用。
边界也很硬:必须有一台机器长期开着,必须在能互相访问的网段,必须处理账号和权限。临时用一次就配一套共享,配置成本远高于收益;但如果这个目录每周都要用,它就是四个里最省心的。
速度上它是最好的之一,Windows 到 Windows 的千兆传输经常能跑到 110MB/s 以上。它的短板不在传输,在发现:网络位置里的那台机器时有时无,是这类方案最常见的抱怨。
5. Tailscale 加 rsync:边界是「不在同一网段,且要能续传」
前三个都假设两台机器能直接看见对方。跨城市、跨运营商、或者对面在 NAT 后面,这个假设就不成立了。这一套先用虚拟组网把两台机器放回同一个「逻辑局域网」,再用 rsync 传。
Tailscale 基于 WireGuard,会给每台设备一个固定的内网地址,打洞成功时是点对点直连,失败时走中继。rsync 的优势是断点续传和增量:传了一半断掉,再跑一次只补差异部分。
代价是要装两样东西、要理解一个地址、要记住一条命令。它是四个方案里唯一需要「学一下」的,也是唯一在 2GB 以上、跨网络时仍然可靠的选择。
6. 六个维度摆在一起
| 维度 | LocalSend | Syncthing | SMB 共享 | Tailscale + rsync |
|---|---|---|---|---|
| 需要账号或服务器 | 都不需要 | 需要设备 ID 配对 | 需要本机账号 | 需要组网账号 |
| 跨网段可用 | 否 | 是(可能走中继) | 否 | 是 |
| 断点续传 | 否 | 是 | 部分客户端支持 | 是 |
| 持续同步目录 | 否 | 是 | 否(是挂载,不是同步) | 否(需手动或定时跑) |
| 首次配置成本 | 极低 | 中 | 中 | 高 |
| 典型失败原因 | 多播被关 | 走中继,速度骤降 | 网络发现失灵 | 打洞失败,全靠中继 |
看这张表最该注意的不是打勾的数量,是最后一行。每个方案都有一个最常见的失败方式,而失败时的表现往往不是报错,是「变慢」。
7. 三套可以直接照抄的组合
组合一:笔记本加手机,偶尔互传照片和安装包。装 LocalSend,不配别的。两台设备在场就传,不在场就用网盘。这套组合的全部价值是不用登录任何账号。
组合二:家里一台常开的机器,多台设备共享文件。那台机器开 SMB,手机装一个支持 SMB 的文件管理器,笔记本直接映射网络驱动器。再加一个 Syncthing 专门同步「正在写的文档」这一类需要多端一致的目录,两者分工清楚:SMB 管「取」,Syncthing 管「一致」。
组合三:跨城市的两台机器,要传几十 GB。两边装 Tailscale,配好固定地址,用 rsync 带 --partial 和 --info=progress2 跑。断了重跑,只补差异。这套组合的验收标准是:断网一次之后,重跑能接着传,做不到就说明在用中继或者参数没生效。
8. 三个信号,说明你选错了
信号一:你为了传一个文件,先装了一个软件。一次性传输用系统自带的共享、或者干脆插一根网线直连,都比装软件快。装软件的门槛应该由「这件事会发生第二次」来支付。
信号二:你在给别人解释怎么用。任何需要三步以上说明的方案,在「发给同事」这个场景里都是错的。对方的使用成本,是你的成本。
信号三:你开始怀疑网速。传输慢的时候,先看连接类型是直连还是中继,再看是不是走了 Wi-Fi 的 2.4G 频段。九成的「局域网很慢」,原因是其中一台机器连的是无线,而不是工具选错了。
写在最后
这四个工具的差别,说到底是「它们假设的世界不一样」。LocalSend 假设你们此刻在一起,Syncthing 假设你们长期在一起,SMB 假设有一台机器一直亮着,Tailscale 假设你们永远不在一起。选工具其实是选一个假设,然后接受它不成立时的样子。
那次会议室里最后用的是 SMB:同事的笔记本上本来就映射着文件服务器的盘,把素材拖进去,他从共享里拷走,全程不到两分钟。没有装任何东西,是因为那台服务器三年前就已经在那里了。
这也是这类工具最容易被忽略的一点:最好的方案往往是已经配好的那个。新工具解决的是没有基础设施的场景,而不是替代已有的基础设施。
你上一次在局域网里传大文件,用的是什么办法?中间卡在哪一步?

评论 (0)