一个离线的“光传文件”工具,发送端把文件切成无数个动态二维码连续播放,接收端用摄像头扫下来自动还原,适合完全隔离网络的场景,两台设备之间不需要联网、不需要配对、不需要账号。
项目地址:decimen-optical-transfer
核心功能
- 纯浏览器运行,发送端和接收端都是网页,不需要安装任何东西
- 支持传文件(最大 64MB)和粘贴文字片段两种模式
- 用喷泉码(Fountain Code)做底层,丢几个帧不影响,不需要重传机制
- 自动判断 gzip 压缩是否划算,省光学带宽
- 接收完校验 SHA-256,确保文件没坏
- 支持 PWA,第一次访问后能离线使用
- 有演示模式,可以锁死发送内容防止别人乱选文件
怎么用
最省事的方式:直接打开 decimen.app,发送端选文件或贴文字,接收端点“开启摄像头”对准屏幕就行。亮度调高点,手机最好固定住别手抖,autofocus 来回跳是大敌。
自己跑的话,先确保已安装 Node.js 环境,然后通过 npm 运行以下命令:
npm install
npm run dev # 开发服务器,带热更新
npm run serve # 编译成生产版本再启动
npm run demo # 演示模式,只能发内置的两个测试图
npm test # 跑测试
npm run build # 输出到 dist/,适合部署
npm run build:standalone # 生成两个单 HTML 文件,完全离线能用
开发服务器强制使用 HTTPS,因为摄像头 API 在 HTTP 下会直接被浏览器掐掉。第一次访问时会报证书问题,点击继续即可。
想探索更多开发者利器?云栈社区为你汇集实用资源与技巧。
|