https://codeberg.org/blast/blastqr

Hello! I've been working on blastQR for a couple of years now and I thought this community might find it useful. Feel free to try it and ask me anything!

blastQR is a fully open-source file transfer app and protocol that works completely offline. You can even use it in airplane mode. Data is transferred through sequences of QR codes displayed on a sender device and scanned by a receiver device's camera. It uses RaptorQ codes so the receiver can recover the file from any sufficiently large subset of frames.

Note that although I have made use of AI as a coding assistant I do not consider this to be a vibe-coded app and I do plan to continue improving it and supporting it in the future.

See video of blastQR in action: https://github.com/user-attachments/assets/038a2567-70c8-47c8-b165-dea858d1aef3

Here are some of the key features:

  • Works fully offline: No internet, Wi-Fi, Bluetooth or servers. Your data stays offline.
  • One-to-many distribution: Share the same file with multiple devices simultaneously using a single blastQR broadcast.
  • Cross-platform: Android, iOS, macOS, Linux and Windows, plus a command-line tool that can send from a terminal, even over SSH.
  • Password encryption: You can optionally encrypt files with an auto-generated password or a custom one.
  • Media compression: The app supports lossy image compression and video transcoding for quicker transfers.
  • Multiple codes on screen: Shows multiple QR codes at once for higher speed. With 8 codes at 60 fps, transfers peak at around 1.4 MB/s.
  • Send multiple files in one go: They're zipped into one transfer and unpacked into separate files on the receiver.
  • Sound feedback: The receiver plays a short tone when it has the whole file, and the sender stops automatically when it hears it.
  • Start scanning at any point: No need to catch every code, just keep the camera on the screen until it's done. Blurry or missed codes don't matter.
  • Regular QR scanner: You can also scan normal QR codes and save them.
  • Open protocol that other apps can implement
  • Built-in file manager

I'm trying to build a small community around the project so it can be improved and maintained and so it can reach more people in the future.

Downloads for all platforms can be found here: https://codeberg.org/blast/blastqr/releases/latest

you are viewing a single comment's thread
view the rest of the comments
[–] 2 points 15 hours ago (1 child)

LocalSend uses wifi rather than cell but you’re right that a protest could be a good place not to turn on any radios. It’s also a good place not to bring a phone at all, even if you’ve thought in advance to install a visual data transfer program like this. But you have a good point.

  • source
  • parent
  • hideshow 1 child comment
  • [–] 4 points 14 hours ago

    There's a wide range of threat levels someone could be managing at a protest. Lots of people don't feel particularly at risk from being grabbed and having their phone cracked, but still don't want to be added into a database of people opposed to a regime because an automated mass surveillance system sniffed their radio signature. If you're not expecting a personal assault phones can be useful for documenting police, promoting the event afterward, and accessing emergency services.

    I don't think the "don't bring a phone to a protest" advice is good unless you think it's likely you could be in a position to lose control of it. The tradeoffs for that level of safety don't make it worth doing for random citizen protesters. I do think concealing your face and turning off your radios is a good idea, because those are very realistic threat vectors for a generic citizen protester. Of course you could have the best of both worlds by getting a burner phone, but I don't think many people are that prepared.

  • source
  • parent