All Projects → leonjza → qrxfer

leonjza / qrxfer

Licence: MIT license
Transfer files from Air gapped machines using QR codes

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to qrxfer

Qrcoder
A pure C# Open Source QR Code implementation
Stars: ✭ 2,794 (+3075%)
Mutual labels:  qrcode
Qrcode
qrcode scanner ( decoder ) by golang 二维码扫描识别
Stars: ✭ 233 (+164.77%)
Mutual labels:  qrcode
qr-pirate
crawl QR-codes from search engines and look for bitcoin private keys
Stars: ✭ 58 (-34.09%)
Mutual labels:  qrcode
Jsqrscanner
JavaScript QR Code scanner for HTML5 supporting browsers
Stars: ✭ 212 (+140.91%)
Mutual labels:  qrcode
Instascan
HTML5 QR code scanner using your webcam
Stars: ✭ 2,657 (+2919.32%)
Mutual labels:  qrcode
Qrcodereader
Barcode and QR code reader built in Swift
Stars: ✭ 237 (+169.32%)
Mutual labels:  qrcode
Java Library Examples
💪 example of common used libraries and frameworks, programming required, don't fork man.
Stars: ✭ 204 (+131.82%)
Mutual labels:  qrcode
Secure-QR-Reader
Privacy Focused and Secure QR Reader
Stars: ✭ 32 (-63.64%)
Mutual labels:  qrcode
Vue
Make Vue greater with RxTS.
Stars: ✭ 228 (+159.09%)
Mutual labels:  qrcode
ZZYQRCode
a scanner for QRCode barCode 最好用的ios二维码、条形码,扫描、生成框架,支持闪光灯,从相册获取,扫描音效等,高仿微信,微博
Stars: ✭ 124 (+40.91%)
Mutual labels:  qrcode
Easyqrcodejs
EasyQRCodeJS is a feature-rich cross-browser pure JavaScript QRCode generation library. Support Canvas, SVG and Table drawing methods. Support Dot style, Logo, Background image, Colorful, Title etc. settings. Support Angular, Vue.js, React, Next.js framework. Support binary(hex) data mode.(Running with DOM on client side)
Stars: ✭ 215 (+144.32%)
Mutual labels:  qrcode
Qrcode.vue
A Vue.js component to generate qrcode.
Stars: ✭ 217 (+146.59%)
Mutual labels:  qrcode
taro-code
Taro Barcode & QRCode
Stars: ✭ 88 (+0%)
Mutual labels:  qrcode
Flutter qrcode reader
Flutter qrcode reader
Stars: ✭ 210 (+138.64%)
Mutual labels:  qrcode
kanban-board-app
Kanban style task management board app
Stars: ✭ 118 (+34.09%)
Mutual labels:  qrcode
Escpos Thermalprinter Android
Useful library to help Android developpers to print with (Bluetooth, TCP, USB) ESC/POS thermal printer.
Stars: ✭ 204 (+131.82%)
Mutual labels:  qrcode
Oneqrcode
📱 微信、支付宝、QQ 三合一收款二维码(单文件版)
Stars: ✭ 233 (+164.77%)
Mutual labels:  qrcode
react-native-qrimage-decoder
QR image decoder for React Native
Stars: ✭ 13 (-85.23%)
Mutual labels:  qrcode
php-qrcode
在线生成二维码
Stars: ✭ 80 (-9.09%)
Mutual labels:  qrcode
DCC-green-pass-decoder
A simple web app to decode EU Digital Covid Certificate/Green Pass QR codes.
Stars: ✭ 42 (-52.27%)
Mutual labels:  qrcode

QRXfer

Transfer files from Air gapped machines using QR codes

introduction

QRXfer is one of those "I had to give it a try" ideas. The basic idea is that it is possible to play back QR code encoded data to a receiver that may be able to reconstruct the data and reproduce the file that was originally sent.

Think about an airgapped machine being able to generate the QR codes, you recording it with your phone, and playing it back to the receiver later.

Silly, I know.

I tested 2 main scenarios.
The first was starting the listener on my laptop with the webcam, and the emitter on another pc (so 2 screens facing each other, not connected in any way). This method was the least error prone as both the sender and receiver were standing still.

The second was recording the emitter with my phone, and then placing my phone in front of the webcam with the receiver running. This was obviously much more error prone with me not being able to hold the phone still ;)

installation

I used a Kali Rolling virtual machine with my laptops builtin Webcam added to the VMs hardware to build and test this.
Installation on Kali is relatively simple. QRXfer uses OpenCV python bindings and Zbar python bindings for most of the magic.

  1. Install click with pip install click
  2. Install opencv with apt-get install python-opencv
  3. Install zbar with apt-get install python-zbar
  4. git clone https://github.com/leonjza/qrxfer.git or just grab a copy of the qrxfer.py script.

usage

# python qrxfer.py --help
Usage: qrxfer.py [OPTIONS] COMMAND [ARGS]...

Options:
  --help  Show this message and exit.

Commands:
  preview
  receive
  send

demos

send

The below asciicast shows how to send a file using qrxfer.py.
The command used in this case was python qrxfer.py send -s 20 -i /tmp/test_file:

asciicast

receive

The below asciicast shows how to receive a file using qrxfer.py.
The command used in this case was python qrxfer.py receive -d incoming:

asciicast

contact

@leonjza

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].