PairDrop 对比 tosstome
最近核对
PairDrop 是最完整的开源 Snapdrop 继任者,用于浏览器之间的分享非常出色。tosstome 有意与它功能重叠,只在一个地方不同:在没有打开浏览器的电脑上接收文件。
PairDrop 做得好的地方
来自 PairDrop README(核对于 2026-10-28):
- 在浏览器中,在同一局域网内的设备之间点对点分享
- 通过 6 位数字码或二维码进行持久配对,配对过的设备在任何网络上都能互相找到
- 临时公共房间,用于通过互联网进行一次性传输
- 为处于 NAT 之后的设备提供 TURN 服务器,因此在公共 Wi-Fi、公司网络和 VPN 下也能连接
- 可以通过 iOS 和 Android 的分享菜单发送,还有用于在终端发送的
pairdrop-cli - 已翻译成几十种语言,采用 GPL-3.0 许可证,可自行部署
差距:不用浏览器接收
PairDrop 在浏览器标签页中接收文件。有用户提出希望有无界面的接收端,例如“一个始终开着、随时接收数据并连接到我的 NAS 的无界面容器/虚拟机”(issue #357),以及“从手机向家用服务器发送文件(无界面,仅命令行)”(issue #430)。维护者回复说这超出了项目范围,近期不会实现。对 PairDrop 来说这是合理的取舍,而这正是 tosstome 围绕着去解决的空白。
横向对比
| PairDrop | tosstome | |
|---|---|---|
| 浏览器中发现附近设备 | 是 | 是 |
| 跨网络 | 配对设备、公共房间、TURN | 6 位数字码,Cloudflare 上的中继作为备用 |
| 浏览器中的持久配对 | 是 | 暂不支持 |
| 在无界面的电脑上接收 | 否 (在 #357 和 #430 中被拒绝) | 是,使用 tosstome listen,提供固定链接和二维码 |
| 在终端发送 | 是,使用 pairdrop-cli | 是,使用 tosstome send FILE --to LINK |
| 文字消息 | 是 | 是 |
| 界面语言 | 很多种 | 英文 |
| 是否存储文件 | 否 | 否 |
| 自行部署 | Node.js / Docker | 一个 Cloudflare Worker |
该用哪一个
在都开着浏览器的手机和笔记本之间分享,目前 PairDrop 更成熟好用。如果接收方是服务器、NAS、家里的电脑或脚本,也就是需要随时接收手机发来的文件、而不必开着标签页的设备,就选 tosstome。
tosstome 能做什么
- 在浏览器中运行,发送端无需安装任何东西。
- 同一网络中的设备会自动互相发现。不在同一网络时,一台设备显示 6 位数字码,另一台输入即可。
- 网络允许时,文件通过 WebRTC 在设备之间直接传输。如果几秒内无法建立直连,文件会经过 Cloudflare 上的中继转发,中继只转发数据,不保留任何内容。
- 可选的命令行工具
tosstome listen可以在电脑上常驻一个收件箱。它会输出一个链接和二维码;用手机打开后,文件会直接存入这台电脑上的文件夹,电脑端不需要打开浏览器。 - 文字消息和链接的传输方式与文件相同,接收端有“复制”按钮。
- 不存储任何内容。如果接收方不在线,就不会发送。
tosstome 目前做不到的事
- 中继在每台设备与 Cloudflare 之间受 TLS 保护,但目前还不是端到端加密。WebRTC 直连传输由浏览器进行端到端加密(DTLS)。
- 接收端的浏览器会把文件保存在内存中,直到你点击保存,所以非常大的文件更适合用命令行工具接收,它会直接写入磁盘。
- 双方必须同时在线,没有“现在上传,明天下载”。
- 它还很新。浏览器端的设备配对和中继上的端到端加密仍在开发中。