Skip to content
/ lprs Public

[Mirror] A local CLI password manager

License

Notifications You must be signed in to change notification settings

TheAwiteb/lprs

Repository files navigation

Lprs

A local vault manager designed to securely store and manage your vaults.

Docs Crates.io Forgejo CI Status Forgejo CD Status

gplv3-or-later

Features

  • Auto checks for updates (Can be disabled).
  • Passing the master password as an argument and via stdin.
  • Changing the master password.
  • Generating a passwords.
  • Store username, password, service name and notes in a vault.
  • Custom fields, you can store any key-value pair in a vault.
  • TOTP (Time-based One-Time Password) generation. Which can be used to generate 2FA codes.
  • Searching for vaults. And list all vaults in json format.
  • Importing and exporting encrypted vaults (in json format).
  • Importing and exporting from/to Bitwarden json format. (Unencrypted)
  • Editing vaults. (The secrets can be passed as arguments or via stdin)
  • Deleting vaults.
  • Getting single field from a vault. (Useful for scripts)
  • Ability to edit, get and remove a vault using its index or name.
  • Auto completion for bash, elvish, fish, powershell and zsh
  • Ability to import and export vaults with different master passwords. (Useful for sharing vaults with others)

Installation

Build from source (MSRV: 1.74.0)

# From crates.io
cargo install lprs 
# From source (after cloning the repository)
# The binary will be in target/release/lprs
cargo build --release

This will build Lprs with update checking enabled. If you want to disable update checking, you can build Lprs without the default features by passing the --no-default-features flag.

Pre-built binaries

Pre-built binaries are available for Linux and Windows on the releases page. There is tow version of the binary, one with update checking enabled and other not, the binaries with update checking enabled have the lrps-update-notify prefix.

Usage

Lprs provides a command-line interface for managing your vaults. The following commands are available:

A local CLI vaults manager. For human and machine use

Usage: lprs [OPTIONS] <COMMAND>

Commands:
  add                     Add new vault
  remove                  Remove vault [alias `rm`]
  list                    List your vaults and search [alias `ls`]
  clean                   Clean the vaults file
  edit                    Edit the vault content
  gen                     Generate a password
  get                     Get a entire vault or single field from it
  export                  Export the vaults
  import                  Import vaults
  change-master-password  Change the master password
  completion              Generate shell completion
  help                    Print this message or the help of the given subcommand(s)

Options:
  -f, --vaults-file <VAULTS_FILE>          The vaults json file
  -v, --verbose                            Show the logs in the stdout
  -m, --master-password <MASTER_PASSWORD>  The master password, or you will prompt it
  -h, --help                               Print help
  -V, --version                            Print version

Documentation

You can find the full documentation for Lprs on the official website at https://lprs.4rs.nl.

Contributing

Contributions to Lprs are welcome! If you would like to contribute, please follow the guidelines outlined in the CONTRIBUTING.md file.

Mirrors

This repository is mirrored on the following platforms:

License

Lprs is licensed under the GPL-3.0 License. This means that you are free to use, modify, and distribute the software under the terms of this license. Please refer to the LICENSE file for more details.


ko-fi