• Stars
    star
    194
  • Rank 199,283 (Top 4 %)
  • Language
    Python
  • License
    MIT License
  • Created almost 8 years ago
  • Updated almost 8 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

IP Over QR Code Tunnel

qrtun

IP over qrcode

This implements a tun interface to send biderectional data using qr codes displayed on your monitor and read using your webcam.

Set up two linux PCs with a monitor and webcam facing eachother (a bit finicky to get aligned) and start the program:

On the first computer:

sudo python qrtun_async.py 1

On the second:

sudo python qrtun_async.py 2

This will create a qrtun[1|2] interface with 10.0.8.[1|2] on each computer respectively. It will then start reading packets from that interface and show a qrcode in a window for the other to read. The data is base32 encoded due to limations in what characters you can encode in a alphanumeric qr code. Was going to use a tap device but had problems when packets were fragmented with pytun library, but just switched to a tun device and works now!

You can use the up and down arrows to increase/decrease the size of the qr code. You can also press the space bar to toggle camera view mode to show what your camera sees, to help with alignment.

I have only tested on Ubuntu 16.04 and needed these packages:

apt-get install qrencode git libzbar-dev python-pygame zbar-tools
pip install python-pytun zbar pillow
pip install git+https://github.com/primetang/qrtools.git

Check out these vids!

Blog Post