文章摘要
ShadowCat是一个通过浏览器实现单文件光学传输的开源项目,利用摄像头和屏幕进行文件传输,无需网络连接。该项目托管在GitHub平台,属于开发者工具类应用。
文章总结
以下是经过编辑整理后的内容摘要:
项目名称:ShadowCat - 基于浏览器的单文件光学传输工具
项目简介: ShadowCat是一个完全离线的单HTML页面工具,用于通过二维码在两台设备间传输数据。特别适用于无线电功能(如蓝牙、NFC)已损坏但摄像头和浏览器仍可使用的旧手机。
主要功能: 1. 生成:将文本编码为单个二维码 2. 扫描:通过摄像头解码单个二维码 3. 发送文件:选择文件后设置分块大小/帧率/纠错等级,可循环发送[头信息,数据块...]序列 4. 接收文件:自动检测头信息,显示进度条和缺失数据块网格,完成时验证CRC并生成下载按钮
技术协议:
- 头信息格式:QRX1|H|<总块数>|<文件名>|<字节大小>| 旧设备使用建议:
1. 需通过HTTPS或localhost访问(iOS Safari需HTTPS)
2. 如遇渲染失败可减小分块大小或降低纠错等级
3. 典型传输速度:约0.83KB/s(原始数据)
4. 解码困难时可降低帧率、提高纠错等级或减小分块至约300字符 项目状态:
- 开发者:unprovable(Mark C.)
- 开源协议:未注明
- 项目语言:HTML 100%
- 社区数据:109星标,9个分支 (注:已移除所有导航菜单、页脚信息、GitHub平台功能等与项目核心内容无关的信息)
评论总结
以下是评论内容的总结:
项目实用性与创新性
- 多数评论认为该项目(通过QR码传输文件)具有实用性和创新性,特别是在设备通信受限时(如旧手机损坏后)。
- 引用:
- "Designed to push data from an old phone that had broken comms... it's been quite handy."(评论1)
- "This is much more practical if you have two cameras."(评论3)
技术改进建议
- 部分用户建议优化QR码的数据编码方式(如直接使用二进制数据而非Base64)以提高效率。
- 引用:
- "Have you tried inserting the file as-is? That way you could do away with the ASCII separator..."(评论7)
- "What would make this truly portable is being able to generate this consistently with a short prompt..."(评论4)
实际应用场景
- 评论提到项目可用于离线通信(如隔空传输加密消息)或数据外传(如通过公共CDN绕过封锁)。
- 引用:
- "I’ve wanted to use this for an air-gapped communication device."(评论8)
- "It's a good way to exfiltrate data... very difficult to block."(评论10)
技术限制与挑战
- 部分用户指出摄像头处理能力可能限制大文件传输,或存在QR码长度限制问题。
- 引用:
- "The biggest problem is that cameras aren't powerful enough to handle it all."(评论5)
- "What's the length limit? I got: code length overflow."(评论12)
类似项目与扩展合作
- 多名用户分享了自己的类似项目(如音频传输、Fountain码优化等),并提议合作或集成功能。
- 引用:
- "I also implemented a static web with that idea..."(评论6)
- "I created a file optimizer... could work with you to integrate that."(评论15)
部署与用户体验建议
- 部分评论建议启用GitHub Pages实时演示,或赞赏单文件部署的简洁性。
- 引用:
- "You should turn on github pages so we can see it live."(评论2)
- "I’m fond of the 'single HTML file' deployment option."(评论9)
总结:评论普遍认可项目的实用价值,同时提出了技术优化、应用场景扩展和合作可能性的建议,但也指出了实际使用中可能遇到的硬件或编码限制。