浏览器里的点对点文件传输

最近核对

大多数“发送文件”网站会先把文件上传到它们的服务器,对方稍后再下载。点对点(P2P)传输则省去了存储这一步:两台设备都在线时,文件直接从你的设备传到对方的设备。

上传再分享链接 vs 点对点

上传并分享链接点对点
文件去了哪里先到服务器,再到接收方直接到接收方
是否留下副本是,直到过期否
接收方必须此刻在线否是
同一 Wi-Fi 下的速度受限于你的上传带宽受限于你的本地网络

tosstome 是怎么做的

  1. 两个浏览器都连接到 toss2.me 来互相发现:同一网络中的附近设备,或者跨网络时用 6 位数字码。
  2. 它们交换连接信息,并在两者之间建立一个 WebRTC 数据通道,由浏览器加密(DTLS)。
  3. 文件以数据块的形式在这个通道里流式传输,接收方会确认已到达的内容。
  4. 有些网络会阻止直连。如果几秒钟内没能建立直连,传输就会经过 Cloudflare 上的中继,中继在数据到达时转发,不保留任何内容。

完整的细节请看工作原理。

试一试

  1. 在两台设备的浏览器中打开 toss2.me。
  2. 如果它们连接的是同一个 Wi-Fi,几秒钟内,每台设备都会出现在对方的同一网络中的设备列表里。
  3. 在发送端点按另一台设备,选择一个或多个文件。
  4. 在接收端按接收,文件到达后,再按每个文件旁边的保存。

常见问题

点对点文件分享安全吗?

WebRTC 直连通道由浏览器进行端到端加密,服务器上也不存储任何内容。和任何下载一样,只接收你预期的人发来的文件。当 tosstome 回退到中继时,与 Cloudflare 之间的连接由 TLS 保护,但目前还不是端到端加密。

需要安装 P2P 软件吗?

不需要。现代浏览器内置了 WebRTC,所以两端有一个网页就够了。如果你想在服务器上接收,可以使用命令行工具。

文件大小有限制吗?

tosstome 没有设置大小限制。接收端的浏览器会把文件放在内存中,直到你保存,所以对于几个 GB 的文件,命令行收件箱是更好的接收方式,因为它会直接写入磁盘。

两台设备必须连接同一个 Wi-Fi 吗?

不需要。在同一网络中,设备会自动互相发现。在不同网络中,例如手机用移动数据、笔记本在家里,由一台设备生成 6 位数字码,另一台输入即可。

相关内容

马上试试

在两台设备上打开 toss2.me。无需应用,无需账号,不保存任何内容。

立即发送文件