2023-12-23 21:28:14 +01:00
2024-05-14 10:18:37 +02:00
< div align = "center" >
2023-12-23 21:28:14 +01:00
2024-05-14 10:18:37 +02:00
# Lprs
A local vault manager designed to securely store and manage your vaults.
[![Docs ](https://img.shields.io/badge/docs-lprs.4rs.nl-purple )](https://lprs.4rs.nl)
[![Crates.io ](https://img.shields.io/crates/v/lprs?color=orange )](https://crates.io/crates/lprs)
[![Forgejo CI Status ](https://git.4rs.nl/awiteb/lprs/badges/workflows/ci.yml/badge.svg )](https://git.4rs.nl/awiteb/lprs)
[![Forgejo CD Status ](https://git.4rs.nl/awiteb/lprs/badges/workflows/cd.yml/badge.svg )](https://git.4rs.nl/awiteb/lprs)
2024-05-20 07:00:40 +02:00
[![gplv3-or-later ](https://www.gnu.org/graphics/gplv3-or-later-sm.png )](https://www.gnu.org/licenses/gpl-3.0.html)
2024-05-14 10:18:37 +02:00
< / div >
## 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)
2024-03-17 09:05:13 +01:00
2023-12-23 21:28:14 +01:00
## Installation
2024-05-14 10:18:37 +02:00
### Build from source (MSRV: `1.74.0`)
2024-01-03 13:46:36 +01:00
```bash
2024-05-14 10:18:37 +02:00
# From crates.io
cargo install lprs
# From source (after cloning the repository)
# The binary will be in target/release/lprs
cargo build --release
2024-01-03 13:46:36 +01:00
```
2023-12-23 21:28:14 +01:00
2024-05-14 10:18:37 +02:00
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.
2023-12-23 21:28:14 +01:00
2024-05-14 10:18:37 +02:00
### Pre-built binaries
2024-05-19 02:33:08 +02:00
Pre-built binaries are available for Linux and Windows on the [releases
page](https://git.4rs.nl/awiteb/lprs/releases/latest). 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.
2023-12-23 21:28:14 +01:00
## Usage
2024-03-19 08:12:55 +01:00
Lprs provides a command-line interface for managing your vaults. The following commands are available:
2023-12-23 21:28:14 +01:00
```
2024-05-14 10:18:37 +02:00
A local CLI vaults manager. For human and machine use
2023-12-23 21:28:14 +01:00
2023-12-26 18:53:07 +01:00
Usage: lprs [OPTIONS] < COMMAND >
2023-12-23 21:28:14 +01:00
Commands:
2024-05-14 10:18:37 +02:00
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)
2023-12-23 21:28:14 +01:00
Options:
2024-05-14 10:18:37 +02:00
-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
2023-12-24 18:28:03 +01:00
```
2024-05-14 10:18:37 +02:00
## Documentation
You can find the full documentation for Lprs on the official website at https://lprs.4rs.nl.
2023-12-23 21:28:14 +01:00
## Contributing
2024-05-14 10:18:37 +02:00
Contributions to Lprs are welcome! If you would like to contribute, please follow the guidelines outlined in the [CONTRIBUTING.md ](CONTRIBUTING.md ) file.
2024-03-17 09:05:13 +01:00
## Mirrors
This repository is mirrored on the following platforms:
- [GitHub ](https://github.com/TheAwiteb/lprs )
- [Codeberg ](https://codeberg.org/awiteb/lprs )
2023-12-23 21:28:14 +01:00
## License
2023-12-26 18:53:07 +01:00
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 ](LICENSE ) file for more details.
2024-03-17 09:05:13 +01:00
---
2024-03-19 08:12:55 +01:00
[![ko-fi ](https://ko-fi.com/img/githubbutton_sm.svg )](https://ko-fi.com/awiteb)