Skip to content

Codesmith28/rustpass

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

51 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

RustPass: A Secure Password Manager

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.

Features

  • 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

Installation

From Source

# 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

Using Release Script

# Run the release script to build for current architecture
./release.sh

# The binary will be copied to current directory
./rsp

Usage

TUI Mode

# Start the Terminal UI
rsp tui

TUI Keybindings

  • ↑/↓: 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

CLI Commands

# 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

Security

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

Development

Requirements

  • Rust 1.65+
  • Linux/Unix system (for proper file permissions)

Building

# Development build
cargo build

# Run tests
cargo test

# Release build
cargo build --release

License

MIT License

Acknowledgments

  • Built with Ratatui for the terminal interface
  • Uses Argon2 for secure password hashing
  • Uses AES-GCM for encryption

About

Password manager local to your system made in rust with TUI support and cli endpoints

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published