RustPass is a simple, secure password manager written in Rust that provides both a Terminal User Interface (TUI) and command-line interface. It offers strong encryption, easy password management, and a focus on security.
- Encrypted Storage: All passwords are encrypted using AES-256-GCM with Argon2 key derivation
- Terminal User Interface: Full-featured TUI for managing passwords
- Command-Line Interface: Fast access through CLI commands
- Multi-Select: Ability to perform operations on multiple entries
- Search Capabilities: Fuzzy search to quickly find passwords
- Clipboard Integration: Copy passwords to clipboard with a keystroke
- Secure by Default: Password file permissions limited to owner read/write only
# Clone the repository
git clone https://github.com/username/rustpass.git
cd rustpass
# Build the project
cargo build --release
# Run the binary
./target/release/rsp
# Run the release script to build for current architecture
./release.sh
# The binary will be copied to current directory
./rsp
# Start the Terminal UI
rsp tui
- ↑/↓: Navigate list
- Tab: Multi-select current & move to next
- Alt+c: Copy password to clipboard
- Alt+e: Edit selected entry
- Alt+d: Delete entry (or delete multi-selected)
- Alt+n: Create new entry
- Alt+h: Toggle help panel
- Esc/q: Quit
# Add a new password
rsp add <name> <username> <password>
# List all passwords
rsp list
# Remove a password
rsp remove <name>
# Unlock the password manager
rsp unlock [password]
# Lock the password manager
rsp lock
# Show help
rsp help
RustPass employs several security measures:
- Strong encryption with AES-256-GCM
- Argon2id for key derivation
- Password file permissions restricted to 600 (owner read/write only)
- No passwords are stored in plaintext
- Multiple encryption layers for sensitive data
- Rust 1.65+
- Linux/Unix system (for proper file permissions)
# Development build
cargo build
# Run tests
cargo test
# Release build
cargo build --release
MIT License