SHA256
1
0
Fork
You've already forked rpass
0
rpass is a cl tool to generate passphrases and passwords.
  • Rust 100%
divnii e242b9ad25
chore: update readme
Signed-off-by: divnii <git@mennovz.nl>
2026年07月01日 14:28:32 +02:00
src feat: exlcude characters via --exclude abc 2026年07月01日 14:24:48 +02:00
.gitignore chore: update readme 2026年06月29日 21:11:15 +02:00
Cargo.lock feat: exlcude characters via --exclude abc 2026年07月01日 14:24:48 +02:00
Cargo.toml feat: exlcude characters via --exclude abc 2026年07月01日 14:24:48 +02:00
LICENSE chore: create readme & other docs 2026年06月24日 14:16:09 +02:00
README.md chore: update readme 2026年07月01日 14:28:32 +02:00

rpass

A rust cl tool to generate passphrases & password.

With rpass you'll be able to generate secure passwords and passphrases. To create a password do rpass -k password, and to generate a passphrase do rpass -k passphrase. Together with -l you can make the password or passphrase longer or shorter. e.g. rpass -k password -l 48.

Core features

  • Generating strong passphrases
  • Generating strong passwords
  • Specify custom wordlist for passphrases
  • Inline config via flags
  • Config control via toml file

Installing rpass to your system

GNU/Linux

Compiling from source

Firstly you'll need rust. installation Then clone the repo, go into the directory, build it for release, and copy it to your local bin folder.

git clone https://codeberg.org/divnii/rpass.git
cd rpass
cargo build --release
cp target/release/rpass ~/.local/bin/

Note: ensure ~/.local/bin/ is added to your path.

Feature "roadmap"

Note: some features may not be implemented as stated here!

Core

  • Show version
  • Show help
  • Clap help messages
  • Use cryptographically secure pseudo-RNG
  • Read config from $HOME/.config/rpass/config.toml

Passphrase

  • Embed default wordlist(s) in the binary
  • Set word count (--length 12 or -l 12)
  • Specify a custom wordlist (--wordlist <PATH> or -w <PATH>)
  • Random case per word (--randcase or -r)
  • Custom single delimiter (--delimit @ or -d @)
  • Choose from a delimiter list (-d @!#1234 or --delimit @!#1234)

Password

  • Set length (--length 20 or -l 20)
  • Include uppercase (--uppercase [true|false] or -u [true|false])
  • Include lowercase (--lowercase [true|false] or -c [true|false])
  • Include numbers (--numbers [true|false] or -n [true|false])
  • Exclude specific characters (--exclude abc! or -e def?)
  • Split symbols into different categories (--include upper,lower,number,logo,math or -i u,l,n,o,m)
  • Extended ASCII support

Contributing

Contributions are always welcome, particularly fixes and improvements to the docs.

  • Pull requests should mention if they used AI (Artificial Intelligence)
  • Put in the description what you changed and explain why
  • Before making a pr use: cargo fmt & cargo clippy -- -D warnings. If clippy gives any errors, fix these.

By contributing, you agree your contributions are licensed under the GNU AGPL 3.0 license

License

This code is licensed under the MIT License. Given this license people might steal it, so attribution would be greatly appreciated!