Hacker News 中文摘要

RSS订阅

Show HN: ShadowCat – 浏览器内通过二维码传输文件 -- Show HN: ShadowCat – file transfer through QR Codes in a Browser

文章摘要

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平台功能等与项目核心内容无关的信息)

评论总结

以下是评论内容的总结:

  1. 项目实用性与创新性

    • 多数评论认为该项目(通过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)
  2. 技术改进建议

    • 部分用户建议优化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)
  3. 实际应用场景

    • 评论提到项目可用于离线通信(如隔空传输加密消息)或数据外传(如通过公共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)
  4. 技术限制与挑战

    • 部分用户指出摄像头处理能力可能限制大文件传输,或存在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)
  5. 类似项目与扩展合作

    • 多名用户分享了自己的类似项目(如音频传输、Fountain码优化等),并提议合作或集成功能。
    • 引用:
      • "I also implemented a static web with that idea..."(评论6)
      • "I created a file optimizer... could work with you to integrate that."(评论15)
  6. 部署与用户体验建议

    • 部分评论建议启用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)

总结:评论普遍认可项目的实用价值,同时提出了技术优化、应用场景扩展和合作可能性的建议,但也指出了实际使用中可能遇到的硬件或编码限制。