Skip to content

tkuhlman/gopwsafe

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

gopwsafe

Build Status Coverage Status Go Report Card GoDoc

A password safe written in go using and implementing the password safe version 3 database. Simply download and run, no install needed.

The pwsafe package contains interfaces for reading/writing to Password Safe v3 databases. This package is utilized by both the gtk based gui.

The gui is implemented with the library gotk3

The project has been largely tested and developed on Linux (Ubuntu).

GTK GUI

Features:

  • The ability to have multiple windows open with different databases in each is a key feature that many other Password Safe implementations don’t have.

  • Simple database search.

  • Tree representation based on db and group.

  • Keyboard shortcuts, for copy/paste, opening url in a browser, etc.

Installation

Gotk3 requires GTK3 to be installed, on linux this is standard likely there is nothing you need to do. For a mac gtk3 should be explicitly installed, for example with brew:

brew install gtk+3
brew install adwaita-icon-theme

After the dependencies are installed run the compiled binary as normal. If you wish to make it into a mac application, I suggest following these instructions.

References

Roadmap

  • Add a timeout to clear the clipboard a minute or so after copying a password.

  • The ability copy/move entries from one open db to another.

  • Make the Mac version more mac like, ie don’t startup unfocused, top level menu, working command key not just control, etc.

  • A status bar to display messages, ie 'Copied Password to Clipboard', etc.

  • Automatic storage of old passwords.

  • Add a file selection tool for opening.

  • The ability to diff two different databases.

  • Full diff

  • diff based on particular fields, name, username, url, password

  • Edit of multiple entries at once for select fields, ie modify the group

Building

Go dependencies are managed with dep, ie run dep ensure.

The gotk3 project is dependent on gtk3 and so that must be installed to build. Details on this installation are in the gotk3 project wiki.

After the dependencies are installed a normal go build is all that is needed.

To debug the GUI run with the environment GTK_DEBUG=interactive.