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

105
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
get Get a entire vault or single field from it
export Export the vaults export Export the vaults
import Import 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) 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
-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 -h, --help Print help
-V, --version Print version -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: