📡 离线二维码传输

免网络、免登录,用动态二维码在设备间安全传输文本与文件。全程浏览器本地处理,数据不上传任何服务器。

⚠ 必须先填写口令才能开始发送/接收(空口令将被两端放行,等同于无加密)
文本发送

离线二维码传输 — 免网络的安全文件与文本分享

一款纯浏览器端的离线传输工具:把文本、链接或文件编码成动态二维码在屏幕上播放,另一台设备用摄像头扫描即可还原。全程不联网、不登录、数据不上传任何服务器。发送前用口令做 AES-256 加密,即使屏幕被拍照也只是密文。适合无网络或物理隔离环境下分享敏感内容。

四种工作模式

同一页面内含四个模式,可任意切换发送端与接收端角色,实现双向传输:

  • 文本发送:输入文本或链接,加密后编码为动态二维码循环播放,供接收端扫描。
  • 文本接收:唤起摄像头扫描对方屏幕上的动态二维码,自动解密并还原文本。
  • 文件发送:选择本地文件,加密后采用 LT 喷泉码分块编码为二维码动画。
  • 文件接收:摄像头扫描编码动画,喷泉码允许部分丢帧仍可完整还原,解密后按原文件名下载。

加密与安全模型

发送端用口令经 PBKDF2(10 万次迭代)派生 AES-256-GCM 密钥,对载荷加密后再编码进二维码。接收端必须输入相同口令才能解密。因此:

  • 二维码闪烁的是密文,被旁人拍照或录屏也无法还原明文;
  • 口令不在任何地方传输或存储,仅用于本机密钥派生;
  • 仍建议在可信的物理隔离环境使用,避免口令在旁被窥视。

技术实现要点

文本模式基于 @lo-fi/qr-data-sync 的动画二维码同步机制;文件模式基于 LT(Luby Transform)喷泉码,将数据分块并生成冗余编码帧,扫描端只要收集到足够多的帧即可还原,对少量丢帧有容错能力。两模式均为前端纯本地实现。

  • 帧率:默认 10 fps,可在 5–20 之间调节;过高手机摄像头易丢帧。
  • 文件上限:单文件 10 MB,超出会被拒绝。
  • 分块:每帧约 800 字节,配合喷泉码冗余提升抗丢帧能力。

适用边界与建议

光学传输受摄像头采样率限制,更适合短文本、链接和较小的文件。对于大文件,微信、邮件或局域网传输通常更快。桌面端接收依赖摄像头解码,建议使用 Chrome 或 Edge;Firefox、Safari 的桌面摄像头二维码解码可能不稳定。

常见问题

需要联网吗?

不需要。所有编码、加密、解码、解密均在浏览器本地完成,不连接任何服务器,适合无网络或物理隔离环境。

数据放在二维码里安全吗?

发送前会用口令做 AES-256 加密,二维码中闪烁的是密文。没有正确口令无法还原内容,被拍照或录屏也只是密文。但仍建议在可信环境下操作,避免口令被旁人窥视。

传输速度大概多快?

文本模式适合短文本与链接;文件模式默认约 10 fps、单文件上限 10 MB,更适合小文件。大文件建议改用工信、邮件或局域网等网络方式,速度更快。

支持哪些浏览器?

Chrome 与 Edge 体验最佳。桌面端接收依赖摄像头二维码解码,Firefox、Safari 可能不稳定,页面会给出提示。移动端建议使用系统自带浏览器并授予摄像头权限。

文件大小有限制吗?

单文件上限为 10 MB。超出上限会选择文件时会被拒绝,建议大文件使用网络传输方式。

双向传输怎么操作?

任一设备选“发送”模式播放二维码动画,另一台设备选对应“接收”模式用摄像头扫描即可。两端角色可随时互换,实现互相传输。