Giter Club home page Giter Club logo

qrtun's Introduction

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

qrtun's People

Contributors

seiferteric avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

qrtun's Issues

When launch qrtun_async_mod.py QRCODE window popups and nothing shows

Hi,

I'm in a ubuntu 16.04,

Python 2.7.12
pip 19.3.1 from /home/user01/.local/lib/python2.7/site-packages/pip (python 2.7)

There were some errors when I launch like "sudo python python qrtun_async_mod.py 1",

user01@ubuntu:~/qrtun$ sudo python qrtun_async.py 1
Traceback (most recent call last):
  File "qrtun_async.py", line 190, in <module>
    main()
  File "qrtun_async.py", line 170, in main
    tun = QRTun(sys.argv[1])
  File "qrtun_async.py", line 41, in __init__
    self.vc.set(cv2.cv.CV_CAP_PROP_FRAME_HEIGHT, 720)
AttributeError: 'module' object has no attribute 'cv'

so I modfied your code to

        self.vc.set(cv2.CAP_PROP_FRAME_HEIGHT, 720)
        self.vc.set(cv2.CAP_PROP_FRAME_WIDTH, 1280)

Then I can launch the py file, but the popups window is empty.
Thus, once the py runs, png files in resource/toscreen2.png is deleted.

Can you help with that?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.