perryflynn / fastpass

COVID certificate check and contact data collection for events - completely offline

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

fastpass

Verify german COVID vaccination certificates and collect contact data on events.

Project Status: First prototype, please test!

demo

Features

  • Works offline with PC + QR Code scanner
  • Contact data collection in KeePass database from QR Code
  • Database unlock with passphrase QR Code
  • Check COVID vaccination certificates

System dependencies

apt install python3 python3-wheel python3-setuptools rust-all

Python 3 dependencies

cd src
pip install --no-cache-dir -r requirements.txt

Installation

  • Install dependencies
  • Create KeePass DB in this directory as demo.kdbx (will be configurable in future)
  • Generate QR Code for passphrase
# qrencode is included in ubuntu package repos
# passphrase as json, base64 encoded
echo '{ "passphrase": "Yei3aphah8aebeimee6oiv4e" }' | base64 -w0 | qrencode -t UTF8 -o -
  • Adjust scanner device path in main.py (will be configurable in future)
devaddr = '/dev/input/by-id/usb-NT_USB_Keyboard_6D14C8760000-event-kbd'

Start

  • Start script
cd src/
python3 main.py
  • Unlock KeePass database by scanning passphrase QR Code

Contact data

The scanner expects a QR Code in the following format:

# qrencode is included in ubuntu package repos
# base64 encoded json
echo '{ "city":"", "firstname":"", "lastname":"", "phone":"", "street":" " }' | base64 -w0 | qrencode -o - -t UTF8

Web App for event visitors to generate that QR Code client-side:

https://kontakt.lan.mudkips.de/

Technology

The following components are used for this project:

About

COVID certificate check and contact data collection for events - completely offline

License:GNU Affero General Public License v3.0


Languages

Language:Python 99.7%Language:Standard ML 0.3%