太酷了!无网也能隔空传文件,原来只靠一串二维码
QRFerry:
一款基于动态二维码流的离线文件传输工具,无需 Wi-Fi、蓝牙、流量与云端服务器,仅依靠屏幕滚动二维码画面搭配手机摄像头扫码,即可在两台完全断网隔离的设备之间完成文件传输。

功能亮点:
浏览器端运行:发送端和接收端都完全在浏览器中运行,文件不会上传到任何服务器。
传输方式:发送端将文件编码成连续的二维码动画流,接收端通过摄像头扫描并解码,最终恢复完整文件。
鲁棒性:采用 RaptorQ 纠错码和多种 Turbo 模式(Turbo 15、30、60),保证即使有扫描丢帧也能恢复文件。
高性能模式:支持实验室环境下的 1 Mbps 光学传输速率,使用更密集的二维码设计。
协议优化:二维码帧直接使用原始字节模式,避免 Base45 的冗余;每帧包含紧凑的二进制头、RaptorQ 符号和 CRC 校验。
错误检测:接收端会逐帧校验 CRC,并在完整文件恢复后再次验证压缩数据和原始文件的校验。
安装
Docker Compose
services:
qrferry:
image: heizicao/qrferry:latest
container_name: qrferry
ports:
- 3000:3000
restart: always
使用
浏览器中输入 http://NAS的IP:3000 就能看到界面

TIP:原本项目是英文的,我是直接用 AI 汉化的,所以有些翻译可能不一定准确

支持多种发送的协议(不同协议发送速率不同,所以接收时间也会不一样)

底部也有简单说数据传输流程:发送端会先将数据压缩,再转换成实时二维码数据流传输;接收端用摄像头识别解密,最后转为原本数据

下面说一下怎么使用,先上传文件,选择调试信道(默认就行),最后点击开始就行

此时二维码就会不停变换了,也能看到播放进度条

TIP:手机浏览器调用摄像头强制要求 HTTPS 环境,可以借助 Lucky 做反向代理,将 HTTP 转 HTTPS 即可

打开手机浏览器访问 HTTPS 页面,切换到扫描功能,打开摄像头使用权限

扫描二维码就能实现数据传输了(成功识别会看到接收信息,实际体验比较一般,效率有点低)

总结
QRFerry 是个用二维码传文件的工具,两台设备完全断网也能传,全靠屏幕扫二维码。想法确实很酷——RaptorQ 纠错码、多 Turbo 模式、1 Mbps 实验室速率。但实际体验嘛,效率不高,摄像头还得固定好才能稳定接收。我在原版基础上做了汉化打包成镜像,有兴趣的可以部署试试。
综合推荐:⭐⭐⭐(不依赖网络传输文件,想法很酷)
使用体验:⭐⭐⭐(支持多种协议,但实际传输效率低)
部署难易:⭐(非常简单)︎
作者声明本文无利益相关,欢迎值友理性交流,和谐讨论~
