Skip to content

A cryptographically secure password storage web-utility with distributed consensus using tendermint

License

Notifications You must be signed in to change notification settings

rigelrozanski/passwerk

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

32 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

passwerk

A cryptographically secure password storage web-utility with distributed consensus using tendermint


Installation

  1. Make sure you have Go installed and put $GOPATH/bin in your $PATH
  2. Install Tendermint Core
  3. Install Cobra
  4. Add the contents passwerk to a new folder names passwerk in your Go src directory
  5. Install the passwerk application from the terminal, run go install passwerk

Starting passwerk

  1. Initialize a genesis and validator key in ~/.tendermint, run tendermint init
  2. Within Terminal navigate to the folder where you would like passwerk's database to be stored/read-from (see Notes on Persistence)
  3. Within a first Terminal window run passwerk start
    1. flags may be used to specify database/port/cache size etc. for more details run passwerk start --help
  4. Within a second Terminal window run tendermint node

Example Usage

Currently, user input is provided through the URL. Output is provided as parsable and fun ASCII art. Within the examples HTTP calls, the following variables are described as follows:

  • masterUsername - The master username that is non-retrievable
  • masterPassword - The master password that is non-retrievable
  • identifier - a retrievable unique identifier for a saved password
  • savedpassword - a retrievable saved password associated with an identifier

The following examples demonstrate the four functions available within passwerk:

Notes on Persistence

Passwerk saves its state in a database allowing for the application to resume if it's execution is stopped and restarted. The database that Passwerk will either create or read-from is by default located in .../pwkDB/ where ... is the path you are navigated to within terminal at the time of execution of the passwerk application. Do not delete or modify this folder while Passwerk is in operation. To clear the database and all records held in a Passwerk instance, you may delete this folder and its contents while Passwerk isn't running. The database name and location may be changed using flags at passwerk startup, for more details see passwerk start --help

Command List

passwerk --help diplays program details and command list
passwerk start start passwerk, see passwerk start --help for addtional startup options
passwerk clearDB clears the saved db at default location, see passwerk clearDB --help for other options
passwerk example diplays example usage from web browser

Testing Code

New code can be tested using the predefined testing packages within passwerk with the suffix "_test". All tests can be executed from the passwerk directory with go test ./...

Contributing

  1. Fork it
  2. Create your feature branch (git checkout -b my-new-feature)
  3. Commit your changes (git commit -am 'Add some feature')
  4. Push to the branch (git push origin my-new-feature)
  5. Create new Pull Request

License

Passwerk is released under the Apache 2.0 license.

About

A cryptographically secure password storage web-utility with distributed consensus using tendermint

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages