BitTrans - 使用动态二维码传数据,离线、安全、开源 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
爱意满满的作品展示区。
sillydaddy
0.65D
0.15D
V2EX    分享创造

BitTrans - 使用动态二维码传数据,离线、安全、开源

  •  1
     
  •   sillydaddy 145 天前 2989 次点击
    这是一个创建于 145 天前的主题,其中的信息可能已经有所发展或是发生改变。
    只要有浏览器和相机就可以。源代码开放。适合传输 100KB 以内的文件。
    访问这里: https://bittrans.info

    主页:


    发送文件(本地生成变化的二维码):


    接收文件(本地相机):


    接收完成:



    特色:
    1. 可以随时调整二维码的大小,即使是在发送过程中。目前只做到了通过改变网页的大小来实现这一点。
    2. 喷泉码的特色,二维码可以一直播放下去,不需要重新播放、补帧。
    3. 安全,虽然是需要访问这个网站,但是所有操作都在本地。也可以把网页直接保存到本地。
    4. 收发都使用网页,跨平台。

    不足:
    1. 适合 100KB 以内的文件。太大的话,传输时间长。
    2. 目前只测试了 Chrome 浏览器,Firefox 浏览器还有问题。
    3. 部分 UI 还有待改进。


    感谢:
    喷泉码的思路借鉴了 TXQR 这个项目: https://github.com/divan/txqr
    QR 二维码的生成使用了这个超级短小精悍的项目: https://github.com/nayuki/QR-Code-generator

    访问: https://bittrans.info
    第 1 条附言    145 天前
    欢迎使用,后续准备改进的点:
    1. 允许直接粘贴大段的文字,并传送。
    2. 开源到 github 。
    3. 移动设备、浏览器的兼容性改进。
    16 条回复    2025-07-29 13:47:47 +08:00
    BigBai
        1
    BigBai  
       145 天前
    空气(光)传播的工具终于来了
    /tr>
    smy116
        2
    smy116  
       145 天前
    这技术在单项网闸里面好像用的蛮多的,一个摄像头不断的拍显示器。
    eldenboy
        3
    eldenboy  
       145 天前 via Android
    你这也不算完全离线,至少手机端还需要通过你的网站来访问扫码,因为手机上没法离线部署一个网页,需要做成 app 才行。

    org.cimbar.camerafilecopy 这个才是真正的神器,手机 app 扫码,传输速度 30k 每秒,最大支持十几 M 的文件。
    SanjinGG
        4
    SanjinGG  
       145 天前
    简易版 Wormhole ?
    molvqingtai
        5
    molvqingtai  
       145 天前
    重复造轮子应该更好,而不是更差
    https://github.com/qifi-dev/qrs
    busier
        6
    busier  
       145 天前 via iPhone
    挺好 发送 pc 端就用 html+Javascript 最好
    sillydaddy
        7
    sillydaddy  
    OP
       145 天前
    @eldenboy #3 我试了一下,可以先联网加载页面,然后断网,后续的发送、接收、下载都可以正常使用。这也算离线吧。主要是为了方便,不需要按照 APP ,也不需要自己部署。


    @molvqingtai #5 我确实没搜到这个。不过我觉得自己的还是有创新的,我的可以在传输过程中动态调整二维码的大小,以便找到一个最合适的 size ,你给的那个在调整大小后,只能重新传送。
    xiaofeiyangduizh
        8
    xiaofeiyangduizh  
       145 天前 via iPhone
    能做一个 windows 的 exe 可执行程序会更方便
    busier
        9
    busier  
       144 天前 via Android   1
    https://github.com/mohankumarelec/airgapped-qr-code-transfer

    好吧 重复造轮子了 已经有现有的项目

    发送和接收都是单 html 文件

    接收的 html 最好不要放本地文件系统运行,以免没有调用摄像头的权限
    sillydaddy
        10
    sillydaddy  
    OP
       144 天前
    @busier 你发的这个轮子,跟前面提到的几个,不是一个轮子。
    前面的包括 BitTrans 这个,包括主题里提到的 TXQR ,包括#5 楼提到的 qrs ,都是使用喷泉码来实现的,它允许传输过程中以一定概率丢失某些帧(也就是有损信道)。假如一个文件有 2000 帧,如果丢一帧就要整个重新传,那效率就太低了,所以,要通过编码来解决这一点。我记得 TXQR 这个项目里面有介绍喷泉码。
    greatghoul
        11
    greatghoul  
       144 天前
    挺好玩的,我之前还想着是不是能利用声音来隔空传递数据呢。
    jackOff
        12
    jackOff  
       144 天前
    摆渡系统不就是专门做这种事情的吗,人家还是企业级的网络隔离传输技术
    devtk
        13
    devtk  
       143 天前   1
    libcimbar
    sillydaddy
        14
    sillydaddy  
    OP
       143 天前
    @kios 很有意思,回头我看看,能不能把颜色、形状也加进来。
    luworld
        15
    luworld  
       140 天前   1
    很好啊,加油优化!
    sillydaddy
        16
    sillydaddy  
    OP
       140 天前 via Android
    @luworld 感谢鼓励!
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     3152 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 25ms UTC 12:14 PVG 20:14 LAX 04:14 JFK 07:14
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86