教程
不用数据线,把手机文件传到电脑
两边浏览器都打开这个页面,念一段房间号,然后发送。不用数据线,不用蓝牙配对,两端都不用装 App,文件也不会上传到任何人的服务器。安卓、iPhone 和电脑都适用。
操作步骤
- 在电脑上打开这个页面,切换到「发送」,会出现一个短房间号,比如 4821。
- 在手机上用浏览器打开同一个页面,切换到「接收」。
- 输入电脑上显示的四位房间号,加入房间。
- 回到电脑端选择文件,或者直接把文件拖到页面上。
- 手机会直接从电脑的浏览器接收文件。安卓 Chrome 首次会提示允许下载。
两台设备不在一个网络也能传
同一个 WiFi 下手机传电脑是最简单的情况:两个浏览器直接通过局域网找到对方。当它们处于不同网络,或者其中一端用的是流量时,WebRTC 会自动回退到中继,传输依然能完成。中继转发的数据包没有密钥,它读不懂,文件仍然在两台设备之间端到端加密。
那为什么不用数据线、蓝牙或者网盘
三种方式都能用,传一次文件的话都够用。人们专门去找浏览器方案,通常是出于具体原因:数据线要找到对的转接头,公司发的笔记本可能压根没有;蓝牙配对失败的频率高到不值得依赖;网盘意味着文件会先落在别人的电脑上,直到你手动删除——传一张照片无所谓,传护照扫描件、合同或者任何你不愿意交给陌生硬盘的东西就另说了。这个页面不创建一个能保存你文件的服务器,因为这里根本没有任何接收文件的接口。
哪种方式适合什么情况
| 数据线 | 蓝牙 | 网盘 | 本页面 | |
|---|---|---|---|---|
| 无需安装任何东西 | 是 | 是 | 否 | 是 |
| 跨网络可用 | 是 | 否 | 是 | 是 |
| 文件会留在别人机器上 | 否 | 否 | 是,直到删除 | 否 |
| 需要账号 | 否 | 否 | 是 | 否 |
| 适合超大文件 | 是 | 较差 | 是 | 是,走中继时更慢 |
什么时候这个方案不合适
- 完全没有网络的时候,这个页面上的任何方式都不行。唯一不需要网络的方案是数据线。
- 有些企业网络会封禁 WebRTC。如果传输一直卡在连接阶段,多半就是这个原因,用数据线或网盘更稳妥。
- 走中继传超大文件会比上传到机房慢。中继的速度受限于那一台共享服务器的出口带宽,而机房可以先快速接收,再用大带宽推给对方。
- 房间号默认只有四个字符,理论上可以被猜到,猜到的人可以加入传输。两个人在同一个房间里没问题;如果文件比较敏感,点发送页的切换按钮改用 36 位房间号就行。
FAQ
- 手机可以完全没网就传到电脑吗?
- 只有两台设备在同一个局域网内才可以。PrivyDrop 需要一个网络来把两个浏览器互相引荐,即使文件本身完全不走互联网。如果你要的是真正的离线传输,用数据线。
- iPhone 能用吗?
- 可以,Safari 和 Chrome 都行。如果所在网络封禁 WebRTC,iOS 比桌面端更严格、更容易回退失败,这时用数据线或网盘更保险。
- 需要安装 App 吗?
- 不需要,两台设备用浏览器打开页面即可。没有账号,没有配对码,结束后也不会留下任何东西。
- 文件会被上传到哪里吗?
- 不会。后端只有创建房间、查询房间是否存在和匿名计数这几类接口,没有任何接收文件的接口,也没有任何接口能告诉你房间里有哪些人。项目是 MIT 协议开源的,完整列表你可以在 backend/src/routes/api.ts 里自己看。
- 最大能传多大的文件?
- 我们不设上限。实际瓶颈是浏览器和网络,而不是我们。走中继传几十 GB 会比较慢,因为这消耗的是我们自己付费的带宽。