feat: Lprs docs #51

Closed
awiteb wants to merge 5 commits from awiteb/lprs-book into master AGit
Showing only changes of commit 65b907ca71 - Show all commits

123
README.md
View file

@ -1,94 +1,89 @@
<div align="center">
# Lprs # Lprs
A local vault manager designed to securely store and manage your vaults.
Lprs is 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)
### MSRV </div>
The Minimum Supported Rust Version (MSRV) is `1.70.0`.
## 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 ## Installation
To install Lprs, you will need to have the Cargo package manager installed. If you do not have Cargo installed, you can install it by following the instructions [here](https://doc.rust-lang.org/cargo/getting-started/installation.html). ### Build from source (MSRV: )
1. Install using [cargo-install](https://doc.rust-lang.org/cargo/commands/cargo-install.html):
```bash ```bash
cargo install lprs --locked # From crates.io
``` cargo install lprs
This will enable the update notifications for Lprs. If you don't want to enable update notifications, you can install Lprs using: # From source (after cloning the repository)
```bash # The binary will be in target/release/lprs
cargo install lprs --locked --no-default-features cargo build --release
``` ```
2. Run Lprs: 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.
```bash
lprs --help
```
## Uninstallation ### Pre-built binaries
```bash Pre-built binaries are available for Linux only, you can download them from the [releases page](https://git.4rs.nl/awiteb/lprs/releases/latest).
cargo uninstall lprs
```
## Usage ## Usage
Lprs provides a command-line interface for managing your vaults. The following commands are available: Lprs provides a command-line interface for managing your vaults. The following commands are available:
``` ```
A local CLI password manager A local CLI vaults manager. For human and machine use
Usage: lprs [OPTIONS] <COMMAND> Usage: lprs [OPTIONS] <COMMAND>
Commands: Commands:
add Add new vault add Add new vault
remove Remove vault remove Remove vault [alias `rm`]
list List your vaults and search list List your vaults and search [alias `ls`]
clean Clean the vaults file clean Clean the vaults file
edit Edit the vault content edit Edit the vault content
gen Generate a password gen Generate a password
export Export the vaults get Get a entire vault or single field from it
import Import vaults export Export the vaults
help Print this message or the help of the given subcommand(s) 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: Options:
-v, --vaults-file <VAULTS_FILE> The vaults json file -f, --vaults-file <VAULTS_FILE> The vaults json file
-h, --help Print help -v, --verbose Show the logs in the stdout
-V, --version Print version -m, --master-password <MASTER_PASSWORD> The master password, or you will prompt it
-h, --help Print help
-V, --version Print version
``` ```
### Example ## Documentation
```bash You can find the full documentation for Lprs on the official website at https://lprs.4rs.nl.
lprs add -n "Gmail" -u "some@gmail.com" -p $(lprs gen 19 -u -l -s) -s "https://mail.google.com"
```
#### Result
This is the result when search for it
```
$ lprs list -e "mail" -p -s
Master Password: ***************
+-------+-------+----------------+---------------------+-------------------------+
| Index | Name | Username | Password | Service |
+================================================================================+
| 31 | Gmail | some@gmail.com | >NC`q$%+Nno<y&<y]VB | https://mail.google.com |
+-------+-------+----------------+---------------------+-------------------------+
```
### Backup
It is important to regularly backup your vaults to prevent data loss. Lprs does not provide an automatic backup feature. To backup your vaults, you can use the `export` command provided by Lprs. This command allows you to export your encrypted vaults to a json file, which you can then manually backup to a secure location.
#### Formats
The format of the exported file can be specified using the `--format` option. The following formats are supported:
- `lprs`: The default format used by Lprs. This format is encrypted and can be imported back into Lprs using the `import` command. This is the recommended format to use for backups as it is encrypted and can be imported back into Lprs.
- `bit-warden`: The format used by [Bitwarden](https://bitwarden.com/). This format is not encrypted and can be imported into Bitwarden. This format is useful if you want to switch to Bitwarden or another password manager that supports this format.
## Contributing ## Contributing
Contributions to Lprs are welcome! If you would like to contribute, please follow the guidelines outlined in the [CONTRIBUTING] Contributions to Lprs are welcome! If you would like to contribute, please follow the guidelines outlined in the [CONTRIBUTING.md](CONTRIBUTING.md) file.
(CONTRIBUTING.md) file.
## Mirrors ## Mirrors
This repository is mirrored on the following platforms: This repository is mirrored on the following platforms: