All Projects → stchris → Passage

stchris / Passage

Licence: mit
A password manager using https://age-encryption.org/

Programming Languages

rust
11053 projects

Projects that are alternatives of or similar to Passage

Featherpasswordmanager
Highly portable extremely light-weight password manager that stores all your passwords in a local encrypted file.
Stars: ✭ 39 (-18.75%)
Mutual labels:  encryption, password, password-manager
OormiPass
Free open source cross platform password manager
Stars: ✭ 50 (+4.17%)
Mutual labels:  encryption, password-manager, password
Gitpass
Open Source Your Password (Mismanagement)!
Stars: ✭ 113 (+135.42%)
Mutual labels:  encryption, password, password-manager
Buttercup Core
🎩 The mighty NodeJS password vault
Stars: ✭ 340 (+608.33%)
Mutual labels:  encryption, password, password-manager
Purse
GPG asymmetric (YubiKey) password manager
Stars: ✭ 313 (+552.08%)
Mutual labels:  encryption, password, password-manager
Pwd.sh
GPG symmetric password manager
Stars: ✭ 1,468 (+2958.33%)
Mutual labels:  encryption, password, password-manager
Swifty
🔑 Free Offline Password Manager
Stars: ✭ 496 (+933.33%)
Mutual labels:  encryption, password, password-manager
Freepass
[DEPRECATED] password manager thing
Stars: ✭ 308 (+541.67%)
Mutual labels:  password, password-manager
FlashPaper
One-time encrypted password/secret sharing
Stars: ✭ 85 (+77.08%)
Mutual labels:  encryption, password
Node Argon2
Node.js bindings for Argon2 hashing algorithm
Stars: ✭ 1,008 (+2000%)
Mutual labels:  encryption, password
Pass Import
A pass extension for importing data from most of the existing password manager.
Stars: ✭ 412 (+758.33%)
Mutual labels:  password, password-manager
gpgpwd
Moved to GitLab
Stars: ✭ 22 (-54.17%)
Mutual labels:  password-manager, password
Buttercup Desktop
Buttercup is a free, open-source and cross-platform password manager, built on NodeJS with Typescript. It uses strong industry-standard encryption to protect your passwords and credentials (among other data you store in Buttercup vaults) at rest, within vault files (.bcup). Vaults can be loaded from and saved to a number of sources, such as the local filesystem, Dropbox, Google Drive or any WebDAV-enabled service (like ownCloud or Nextcloud ¹).
Stars: ✭ 3,714 (+7637.5%)
Mutual labels:  encryption, password-manager
Passwall Server
PassWall Server is the core backend infrastructure for PassWall platform
Stars: ✭ 489 (+918.75%)
Mutual labels:  password, password-manager
PasswordX
Offline password manager for iOS/macOS
Stars: ✭ 26 (-45.83%)
Mutual labels:  password-manager, password
Pick
A secure and easy-to-use CLI password manager for macOS and Linux
Stars: ✭ 359 (+647.92%)
Mutual labels:  password, password-manager
Lesspass
🔑 stateless open source password manager
Stars: ✭ 4,879 (+10064.58%)
Mutual labels:  password, password-manager
Strongbox
A KeePass/Password Safe Client for iOS and OS X
Stars: ✭ 586 (+1120.83%)
Mutual labels:  password, password-manager
mopass
A OpenSource Clientless & Serverless Password Manager
Stars: ✭ 40 (-16.67%)
Mutual labels:  password-manager, password
password-list
Password lists with top passwords to optimize bruteforce attacks
Stars: ✭ 174 (+262.5%)
Mutual labels:  password-manager, password

passage

password manager with age encryption

Build status Crates.io

Installation

Binaries and packages (preferred)

The release page includes binaries for Linux, mac OS and Windows (last Release for Windows is 0.5.1) as well as deb files for Debian / Ubuntu.

Build from source (for development)

With a rust toolchain present, you could do this (which makes sense if you want to contribute):

$ git clone https://github.com/stchris/passage.git

# Dependencies for Debian / Ubuntu
$ apt install libxcb-render0-dev libxcb-shape0-dev libxcb-xfixes0-dev libdbus-1-dev

$ cargo install --path .

Walkthrough

passage creates an age-encrypted storage file, whose current default location depends on the OS family, for a given username user:

Linux: `/home/user/.local/share/passage/entries.toml.age`
mac OS: `/Users/user/Library/Application Support/entries.toml.age`
Windows: `C:\Users\user\AppData\Roaming\passage\data\entries.toml.age`

You can create this file by running passage init once. Check the path to the storage folder at any time with passage info:

$ passage info
Storage folder: /home/chris/.local/share/passage/entries.toml.age

Now let's create a new entry with $ passage new:

Passphrase:
New Entry: email
Password for email:

So here we are prompted for three things:

  • Passphrase is the secret we want to encrypt the password with
  • New Entry is the name of the entry we want to create
  • Password for <entry> is the password we want to store

Now passage list should show one entry (email) and we can decrypt this with either:

$ passage show email # the password gets copied to the clipboard

or

$ passage show --on-screen email # the password is printed to the console

Hooks

passage is able to call into git-style hooks before or after certain events which affect the password database. A typical use case for hooks is if your password file is stored in version control and you want to automatically push / pull the changes when interacting with passage.

To use hooks you need the respective folder, its path can be seen by running passage info. By convention you put executable scripts inside there named after the hook you want to react on. These scripts are called and passed the event which triggered the hook as the first argument.

Existing hooks:

  • pre_load (called before the password database gets loaded)
  • post_save (called after an update to the password database)

These commands trigger hooks:

  • passage new (pre_load, post_save with event name new_entry)
  • passage list (pre_load with event name list_entries)
  • passage show (pre_load with event name show_entry)
  • passage edit (post_save with event name edit_entry)
  • passage remove (post_save with event name remove_entry)

Example hook scripts can be found here.

Keyring integration

If possible, passage will try to store the passphrase of your database into the OS keyring. You can run passage keyring check to see if this works. If you no longer want the password to be stored in the keyring run passage keyring forget.

To skip the keyring integration, passage takes a global flag --no-keyring.

Usage

$ passage
Password manager with age encryption

USAGE:
    passage [FLAGS] <SUBCOMMAND>

FLAGS:
    -h, --help          Prints help information
    -n, --no-keyring    Disable the keyring integration
    -V, --version       Prints version information

SUBCOMMANDS:
    edit       Edit an entry
    help       Prints this message or the help of the given subcommand(s)
    info       Display status information
    init       Initialize the password store
    keyring    Keyring related commands
    list       List all known entries
    new        Add a new entry
    remove     Remove an entry
    show       Decrypt and show an entry
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].