/GitPass

Open Source Your Password (Mismanagement)!

Primary LanguagePythonDo What The F*ck You Want To Public LicenseWTFPL

GitPass - Open Source Your Password (Mismanagement)!

What?

GitPass is an Open Source Password Mismanager, using Military Strength Fernet Cryptography and High Availability Cloud Hosting Services

Features

  • MILITARY STRENGTH Fernet Cryptography!
  • Password history, thanks to the wonderful powers of Git!
  • Command Line Interface!
  • High Availabilty Cloud Hosting Service for Password Storage!
  • Notifies you when you should change your passwords! (Coming Soon!)
  • Free and Open Source Software!
  • Written in Python! Batteries are DEFINITELY included!
  • Unnecessary Amounts of Hyperbole!

How does it work?

You will need exactly two things for this to work.

  1. A Github Account
  2. Passwords to store

You run the program. On first run, you make a Master Password, and add credentials for your Github Account, along with the name of the repository you want to store your passwords in. The credentials are put in a JSON file and encrypted for future use using the Master Password, along with the repository name.

You then can start adding passwords to the program. These are stored in an encrypted JSON container (using your Master Password), and put into The Cloud by the Git Magicks into the Github Repository.

To retrieve passwords, you can "list", "retrieve", "add", "update", and "delete". You simply select the account you want to Mismanage, and manage away! It even notifies you on initialization if one of your passwords has not been changed in a while, and encourages you to update it!

It is advisable that you use a private repository for your keystore, however, it is mathematically improbable that, provided you choose good master password, the keystore can be cracked. Still, better safe than pwned!

Requirements

  • A computer with Python installed (only tested on GNU/Linux).
  • Half a brain cell
  • The following Python modules (which you can install via pip install -r requirements.txt

Screenshots

Initialization and help menu

initandhelp

Demo of List/Insert/Retrieve/Update functions

demolistetc

Cryptography

This project uses the Fernet encryption standard as implemented in the cryptography.io library. Fernet is a symmetric encryption algorithm using AES in CBC mode with a 128 bit key for encryption, using PKCS7 for padding. For more information about Fernet, consult the Fernet Spec Document. We have avoided the use of home-rolled crypto here, and went with a believed-to-be-safe set of primitives using a supposedly-safe encryption library. Audits are much appreciated.

Licence

Licenced under the WTFPL (do Whatever The Fuck you want Public Licence)

Beer?

Send yer cryptologically generated beer tokens to fuel further opensource software:
coinbase, for convenience, or the following bitcoin address: 13rZ67tmhi7M3nQ3w87uoNSHUUFmYx7f4V

Bug Reports and Feature Requests

Please submit all bug reports and feature requests to the Github Issue Tracker

Footnote

Those who cannot recognise parody when they see it are doomed to a miserable existance.