A lightning-fast password generator and manager written in Rust

Overview

Passlane

A lightning-fast password manager for the command line

Screenshot

Features

  • Generate passwords
  • Place the generated password into the clipboard
  • Save previously generated password from the clipboard
  • Sync the generated password to OS specific keychains, including Mac's iCloud Keychain
  • Import passwords from CSV files

Installation

  1. Download the latest release
  2. Unpack the archive
  3. Place the unarchived binary passlane to your $PATH
  4. Enjoy!

Usage

(base) ➜  temp passlane -h
passlane 0.1.4
Anssi Piirainen <[email protected]>
A password manager for the command line. Syncs with the Keychain.

USAGE:
    passlane [OPTIONS]

OPTIONS:
    -c, --csv <CSV>          Import credentials from a CSV file
    -d, --delete <DELETE>    Delete passwords by service. Use together with --keychain to
                             also delete from the keychain.
    -g, --grep <GREP>        Grep passwords by service
    -h, --help               Print help information
    -k, --keychain           Sync credentials to Keychain. Syncs all store credentials when
                             specified as the only option. When used together with --save, syncs
                             only the password in question
    -m, --master-pwd         Update master password
    -s, --save               Save the last generated password
    -v, --verbose            Verobose: show password values when grep option finds several matches
    -V, --version            Print version information

Generate a new password

  • Sign up for a new service in the web browser
  • Run passlane --> gnerates and saves a new password to the clipboard
  • Use the generated password from the clipboard
  • After successful signup: Open terminal and run passlane -s to save the password

Using saved credentials

Later on, when logging in to foobar.com:

  • Run passlane -g foobard.com --> copies foobar.com's password to clipboard.
  • Use the password from clipboard to login
$ passlane -g google.com
Please enter master password:
Found 9 matches:
+---+-----------------------------------------------------+------------------------------------+
|   | Service                                             | Username/email                     |
+==============================================================================================+
| 0 | https://accounts.google.com/signin/v2/challenge/pwd | [email protected]                  |
|---+-----------------------------------------------------+------------------------------------|
| 1 | https://accounts.google.com/signin/v2/challenge/pwd | [email protected]                   |
|---+-----------------------------------------------------+------------------------------------|
| 2 | https://accounts.google.com/signin/v2/challenge/pwd | [email protected]                        |
|---+-----------------------------------------------------+------------------------------------|
| 3 | https://accounts.google.com/signin/v2/challenge/pwd | [email protected]               |
|---+-----------------------------------------------------+------------------------------------|
To copy one of these passwords to clipboard, please enter a row number from the table above,
or press q to exit: 3
Password from index 3 copied to clipboard!

or alternatively

  • Let MacOS propose the saved password. It knows it because Passlane also syncs to the keychain.

Syncing with the system Keychain

Passlane uses the keyring crate to sync credentials to the operating system's keychain. Syncing should work on Linux, iOS, macOS, and Windows.

Use option -s together with -k to save the last generated password to the Passlane storage file and to the keychain:

passlane -s -k

To sync all Passlane stored options to the keychain use the -k option alone:

passlane -k

Migrating from 1Password, LastPass, Dashlane etc.

You can import credentials from a CSV file. With this approach, you can easily migrate from less elegant and often expensive commercial services.

First, make sure that the CSV file has a header line (1st line) with the following column titles:

  • username
  • password
  • service

The service field is the URL or name of the service. When importing from Dashlane, the only necessary preparation is to rename url to service.

To export the credentials to a CSV file and import the file into Passlane:

passlane --csv <path_to_csv_file>

Here are links to instructions for doing the CSV export:

TODO

  • [] online sync service?

  • [] web UI for the online service

  • delete passwords

  • show grep results in a table, copy password to clipboard by row index

  • if "Failed: Unable to retrieve value from clipboard" --> prompt for the password to be saved

  • read password without showing input

  • import from CSV

  • separate CLI option to sync to keychain

  • possibility to show passwords when multiple search matches

You might also like...
Ruo is a dictionary-based password cracker written in rust 🦀 .

Ruo is a dictionary-based password cracker written in rust 🦀 . The primary purpose is to crack weak hashes/commonly used passwords.

A pretty simple tool for password generation, written in Rust.

passwdgen A pretty simple tool for password generation, written in Rust. Usage: passwdgen - a pretty simple tool for password generation Usage: passw

Tool written in Rust to perform Password Spraying attacks against Azure/Office 365 accounts

AzurePasswordSprayer Tool written in Rust to perform Password Spraying attacks against Azure/Office 365 accounts. It is multi threaded and makes no co

Sample lightning node command-line app built on top of Ldk Node (similar to ldk-sample).

ldk-node-sample Sample lightning node command-line app built on top of Ldk Node (similar to ldk-sample ). Installation git clone https://github.com/op

A safe implementation of the secure remote password authentication and key-exchange protocol (SRP), SRP6a and legacy are as features available.

Secure Remote Password (SRP 6 / 6a) A safe implementation of the secure remote password authentication and key-exchange protocol (SRP version 6a). Ver

A multiprotocol credentials bruteforcer / password sprayer and enumerator.

Legba is a multiprotocol credentials bruteforcer / password sprayer and enumerator built with Rust and the Tokio asynchronous runtime in order to achi

Master Password in Pure Rust
Master Password in Pure Rust

Master Password •••| This is the Rust version of the original found here. This can be used as a drop-in replacement for the reference C version, offer

A Rust port of the password primitives used in Django Project.

Rust DjangoHashers A Rust port of the password primitives used in Django Project. Django's django.contrib.auth.models.User class has a few methods to

A Rust port of the password primitives used in Django Project.

Rust DjangoHashers A Rust port of the password primitives used in Django Project. Django's django.contrib.auth.models.User class has a few methods to

Releases(v2.0.0)
Owner
Anssi Piirainen
Senior Software Engineer
Anssi Piirainen
A simple password manager written in rust

Passman - A password manager written in rust. How to use?: USAGE: passman option Currently available options are: new - initalize passman with a new m

Strawkage 7 Aug 26, 2021
A simple password manager written in Rust

ripasso A simple password manager written in Rust. The root crate ripasso is a library for accessing and decrypting passwords stored in pass format (G

Joakim Lundborg 550 Dec 30, 2022
CLI password manager with encryption: AES256, Salsa20 and Chacha20, with cross platform and exclusive features

Keep My House (CLI) CLI password manager with encryption: AES256, Salsa20 and Chacha20, with cross platform and exclusive features Features AES256 GCM

null 4 Sep 7, 2023
The simple password manager for geeks, built with Rust.

Rooster Rooster is a simple password manager for geeks (it works in the terminal). Rooster is made available free of charge. You can support its devel

Conrad Kleinespel 131 Dec 25, 2022
A password manager coded in rust

pasman A password manager coded in rust Install Dependency rust Shell git clone https://github.com/AMTitan/pasman.git cd pasman cargo build --release

Arthur Melton 4 Nov 8, 2021
🐴 RusTOTPony — CLI manager of one-time password generators aka Google Authenticator

?? RusTOTPony CLI manager of time-based one-time password generators. It is a desktop alternative for Google Authenticator. Installation Arch Linux Pa

German Lashevich 23 Jan 5, 2023
The free password manager for power users

The free password manager for power users

null 312 Oct 22, 2022
A Password Manager Using age for Encryption

A Password Manager Using age for Encryption Contents Features Usage Install Import from pass How It Works Features It is inspired by pass. senior's fe

Retirement Home 3 Nov 2, 2023
A blazingly fast and memory safe password cracker with user interface.

HashVat A blazingly fast and memory safe password cracker with user interface. HashVat runs with user interface and is capable of cracking the 1.000.0

JBLDSKY 2 Dec 6, 2022
A very fast Rust tool to crack a password protected PDF (Dangerous ☠️)

DOCBOT A PDF password cracking tool with multi-threading capabilities, featuring password format generators for commonly used patterns and dictionary

Akhil Sharma 3 Mar 22, 2024