Giter Club home page Giter Club logo

Password Vault

Have your Wio Terminal type your passwords.

Type password to log into Amazon

This sketch for the Seeed Wio Terminal (affiliate link) reads a list of encrypted passwords from a file "/crypted.txt" on the SD card and displays them on the screen of a Wio Terminal.

Once you have unlocked the software by keying in your master passcode, you can select an entry from the list by filtering and browsing with the 5-way joystick of the Wio Terminal. A password entry is selected by pressing the 5-way joystick.

Filtering and browsing

The password is then typed to your computer by emulating a keyboard. This works for Windows, macOS, Linux, RaspberryPi and even on iPads.

You switch between filter and list views by pressing the leftmost button.

For a more detailed account of the PasswordVault's usage, please check out our wiki.

The passwords are stored encrypted with the XXTEA algorithm. A simple python script is provided to create a file with encrypted passwords.

How to prepare the password file

I use https://www.passwordstore.org/ to manage my passwords. There is a simple Python script passwords.py to export these passwords into a file that PasswordVault can read.

To export your passwords, first install the dependencies into a virtual Python environment, then simply run it:

python3 -m venv env
source env/bin/activate
pip install -r requirements.txt
python3 passwords.py > passwd

ATTENTION: At this point, the passwords are stored in clear text. Don't leave the file passwd lying around.

The next step is to encrypt the passwords. For this, you need a file with a master password. As this is also used to unlock the device, you can only use up to eight numbers as master password. Copy file env.example to a file named .env and set a passwords from up to eight digits.

Now, run the encrypter:

python3 encrypt.py

Copy the resulting file crypted to an SD card (formatted as FAT-16), as crypted.txt.

In case your are not using pass, there now is an example on how to manually create a password file and encrypt it.

Once you connect the Wio Terminal to a computer, you are greeted with a lock screen. Key in your master password and confirm with >.

Lock screen

Other options

There are many commercial password managers. However, they are expensive, have tiny screens and too few buttons to be comfortably usable. Here are some examples:

There is even a paper notebook (affiliate link), specifically to keep passwords. Don't loose it :)

Here are more examples on Hackaday.

Why this solution

This PasswordVault is open source and uses open, powerful hardware. The Wio Terminal by Seeed (affiliate link) is inexpensive (about 39€), has a big screen, 5-way joystick and additional buttons. In even has WiFi and Bluetooth, so there is plenty room for more powerful features in the future.

Wio Terminal

What's planned for the future

We are planning the next release on Github

LICENSE: GNU GENERAL PUBLIC LICENSE, Version 3

PasswordVault's Projects

bitlash icon bitlash

Bitlash: a programmable command shell for arduino

circuitpython icon circuitpython

CircuitPython - a Python implementation for teaching coding with microcontrollers

kilo icon kilo

A text editor in less than 1000 LOC with syntax highlight and search.

partcl icon partcl

ParTcl - a micro Tcl implementation

pocketpy icon pocketpy

C++17 header-only Python interpreter for game engines.

uxn-wiot icon uxn-wiot

A port of the Uxn virtual machine to the Wio Terminal

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.