Skip to content
/ PWGen Public

Engineered from the ground up in Rust, PWGen leverages the language's guarantees of memory safety and performance to provide a fast, reliable, and secure vault for your most critical data. Your secrets are protected with a multi-layered, military-grade encryption strategy, utilizing industry-standard algorithms like AES-256.

License

Notifications You must be signed in to change notification settings

HxHippy/PWGen

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

19 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

๐Ÿฆ€ PwGen-rust - Advanced Password & Secrets Manager

PwGen-rust Logo

License: Apache 2.0 Rust Version Platform Security

A modern, secure, and user-friendly password and secrets manager built in Rust

Features โ€ข Installation โ€ข Usage โ€ข Security โ€ข Contributing โ€ข Documentation

๐Ÿ“ธ Screenshots

Desktop Application Interface

PwGen Password Manager

Password Generator

PwGen Password Generator

Application Banner

PwGen Application Banner


๐Ÿš€ Overview

PwGen-rust is a comprehensive password and secrets management solution designed for modern cybersecurity needs. Built with Rust for performance and security, it provides enterprise-grade encryption while maintaining an intuitive user experience.

๐ŸŽฏ Why PwGen?

  • ๐Ÿ”’ Military-Grade Security: AES-256-GCM encryption with Argon2 key derivation
  • ๐ŸŽจ Modern UI: Clean, responsive interface built with egui
  • ๐Ÿš€ High Performance: Native Rust performance with optimized builds (30-40% smaller binaries)
  • ๐Ÿ”ง Developer-Friendly: CLI and GUI interfaces for all workflows
  • ๐ŸŒ Cross-Platform: Windows, macOS, and Linux support with flexible build options
  • ๐Ÿ“ฆ Self-Contained: No cloud dependencies, your data stays local
  • ๐Ÿ”„ Import/Export: Seamless migration from other password managers
  • โšก Optimized Builds: Multiple build profiles for different deployment scenarios

โœจ Features

๐Ÿ” Password Management

  • Secure Storage: AES-256-GCM encrypted SQLite database
  • Smart Generation: Customizable password generation with entropy analysis
  • Advanced Search: Multi-field search with tags and filters
  • Bulk Operations: Import/export from popular password managers
  • Auto-Fill Ready: Organized for browser extension integration

๐Ÿ—๏ธ Secrets Management

  • API Keys & Tokens: Secure storage with expiration tracking
  • SSH Keys: Private/public key pair management with passphrase support
  • Secure Documents: Encrypted file storage with checksum verification
  • Environment Variables: Configuration and connection string management
  • Database Connections: Secure credential storage for databases
  • Custom Secrets: Flexible schema for any sensitive data

๐Ÿ› ๏ธ Developer Tools

  • CLI Interface: Full command-line functionality for automation
  • Browser Import: Support for Chrome, Firefox, Safari, Edge, and more
  • Backup & Restore: Encrypted backups with integrity verification
  • Audit Logging: Comprehensive access and modification tracking
  • Template System: Pre-configured templates for common services

๐Ÿ–ฅ๏ธ User Experience

  • Responsive Design: Adaptive UI for different screen sizes
  • Tabbed Interface: Organized navigation between different data types
  • Quick Actions: One-click copy, edit, and delete operations
  • Dark/Light Theme: Automatic theme detection and manual override
  • Keyboard Shortcuts: Power-user friendly navigation

๐Ÿ›ก๏ธ Security

Encryption Standards

  • Algorithm: AES-256-GCM (Galois/Counter Mode)
  • Key Derivation: Argon2 (memory-hard, side-channel resistant)
  • Salt Generation: Cryptographically secure random salt per database
  • Memory Safety: Rust's ownership model prevents memory vulnerabilities
  • Zero-Knowledge: Master password never leaves your device

Security Features

  • Secure Deletion: Memory zeroization for sensitive data
  • Database Integrity: SQLite with WAL mode and integrity checks
  • Input Validation: Comprehensive sanitization and validation
  • Error Handling: Secure error messages without information leakage
  • Audit Trail: Complete logging of all access and modifications

Security Verification

# Verify database encryption
sqlite3 ~/.config/pwgen/vault.db "SELECT hex(encrypted_password) FROM password_entries LIMIT 1;"

# Check file permissions
ls -la ~/.config/pwgen/

๐Ÿ“ฆ Installation

New in v1.2! ๐ŸŽ‰

  • 30-40% smaller binaries with optimized builds
  • Flexible build options for different platforms and requirements
  • Reduced Windows SDK dependencies with minimal builds
  • Enhanced security with modern cryptography (SHA-256 only)

Quick Install (Recommended)

Linux (Snap Store - Pending Approval)

# Coming soon! The snap package is currently pending approval
# Once approved, you'll be able to install with:
# sudo snap install pwgen-rust

macOS

# Download the .dmg installer from GitHub releases
# https://github.com/HxHippy/PWGen/releases/latest

Windows

# Download the NSIS installer from GitHub releases
# https://github.com/HxHippy/PWGen/releases/latest

From Source

Prerequisites

Linux Additional Dependencies

# Ubuntu/Debian
sudo apt install build-essential pkg-config libssl-dev libgtk-3-dev libxdo-dev

# Fedora/RHEL
sudo dnf install gcc gcc-c++ pkg-config openssl-devel gtk3-devel xdotool-devel

# Arch Linux
sudo pacman -S base-devel pkg-config openssl gtk3 xdotool

Build Instructions

# Clone the repository
git clone https://github.com/HxHippy/PWGen.git
cd PWGen

# Build release version (optimized for size)
cargo build --release

# Build minimal version (reduced Windows dependencies)
cargo build --release --no-default-features

# Build maximum size-optimized version
cargo build --profile min-size

# Install binaries
cargo install --path pwgen-cli
cargo install --path pwgen-gui

# Run the GUI
pwgen-gui

# Or use the CLI
pwgen-cli --help

๐ŸŽ›๏ธ Build Options (v1.2)

Standard Build (Default)

cargo build --release
  • Features: Full clipboard support, document compression
  • Platform: Complete cross-platform compatibility
  • Size: Standard optimized build

Minimal Build

cargo build --release --no-default-features
  • Features: Core functionality only
  • Platform: Reduced Windows SDK requirements
  • Size: Smaller binary with fewer dependencies

Maximum Optimization

cargo build --profile min-size
  • Features: All features with maximum size optimization
  • Platform: All platforms
  • Size: 30-40% smaller than standard builds

Custom Feature Selection

# Clipboard support only
cargo build --release --no-default-features --features clipboard

# Document compression only
cargo build --release --no-default-features --features document-compression

# Both features
cargo build --release --features "clipboard,document-compression"

Package Managers

Snap Store (Linux) - Coming Soon!

# The snap package is currently pending approval
# Once approved, you'll be able to install with:
# sudo snap install pwgen-rust

Cargo (All Platforms)

cargo install --git https://github.com/HxHippy/PWGen

๐ŸŽฏ Usage

GUI Application

Launch the desktop application:

pwgen-gui

First Time Setup:

  1. Create a new vault with a strong master password
  2. Import existing passwords (optional)
  3. Start adding your credentials and secrets

Daily Usage:

  • Passwords Tab: Manage website and application passwords
  • Secrets Tab: Store API keys, SSH keys, and other sensitive data
  • Generator Tab: Create secure passwords with custom rules
  • Tools Tab: Import/export, backup/restore, and vault management

CLI Application

# Create a new vault
pwgen-cli vault create

# Add a password entry
pwgen-cli password add --site github.com --username user --password "secure123"

# Generate a password
pwgen-cli generate --length 20 --symbols

# Search entries
pwgen-cli search "github"

# Create a backup
pwgen-cli backup create ./my-backup.pwgen

# View all commands
pwgen-cli --help

Browser Integration

  1. Install the PwGen browser extension (coming Q1 2026)
  2. Enable the local API server: pwgen-cli server start (in development)
  3. Connect the extension to your local vault
  4. Enjoy seamless auto-fill capabilities

๐Ÿ—๏ธ Architecture

Project Structure

pwgen/
โ”œโ”€โ”€ pwgen-core/          # Core cryptography and storage logic
โ”œโ”€โ”€ pwgen-cli/           # Command-line interface
โ”œโ”€โ”€ pwgen-gui/           # Desktop GUI application
โ”œโ”€โ”€ pwgen-extension/     # Browser extension (planned)
โ”œโ”€โ”€ scripts/             # Installation and setup scripts
โ”œโ”€โ”€ docs/                # Comprehensive documentation
โ””โ”€โ”€ ui/                  # Images, icons, and resources

Technology Stack

  • Language: Rust 2021 Edition
  • GUI Framework: egui (immediate mode GUI)
  • Database: SQLite with encryption
  • Crypto: AES-256-GCM, Argon2 (secure, modern cryptography)
  • CLI: clap for argument parsing
  • Async Runtime: tokio (optimized features)
  • Serialization: serde with JSON/TOML
  • Image Processing: PNG decoder (lightweight replacement)
  • Optional Features: Conditional compilation for platform-specific functionality

๐Ÿ”ง Configuration

Default Locations

  • Linux: ~/.config/pwgen/ or ~/.local/share/pwgen/
  • macOS: ~/Library/Application Support/pwgen/
  • Windows: %LOCALAPPDATA%\pwgen\

Configuration File

# ~/.config/pwgen/config.toml
[database]
path = "vault.db"
backup_interval = "24h"
max_backups = 10

[security]
argon2_memory = 65536
argon2_iterations = 3
session_timeout = "15m"
auto_lock = true

[ui]
theme = "auto"  # auto, light, dark
font_size = 14
window_size = [1200, 800]

[cli]
editor = "vim"
pager = "less"

๐ŸŒ Browser Integration

Import passwords from popular browsers:

  • Google Chrome / Chromium
  • Mozilla Firefox
  • Microsoft Edge
  • Safari
  • Opera
  • Brave
# Import from Chrome
pwgen-cli import --browser chrome

# Import from Firefox with profile selection
pwgen-cli import --browser firefox --profile work

๐Ÿค Contributing

We welcome contributions from the community! PwGen-rust is an open-source project that benefits from diverse perspectives and expertise.

Quick Start

  1. Fork the repository
  2. Create a feature branch: git checkout -b feature/amazing-feature
  3. Make your changes and add tests
  4. Run the test suite: cargo test
  5. Submit a pull request

Development Setup

# Clone your fork
git clone https://github.com/HxHippy/PWGen.git
cd PWGen

# Install dependencies
cargo build

# Run tests
cargo test

# Run with debug logging
RUST_LOG=debug cargo run --bin pwgen-gui

Contribution Guidelines


๐Ÿ“š Documentation

User Guides

Developer Documentation

Tutorials


๐Ÿ†˜ Support

Getting Help

Community

  • ๐Ÿฆ Follow @HxHippy on X/Twitter
  • ๐ŸŒ Visit HxHippy.com
  • ๐Ÿ’ผ Kief Studio - AI Integration & Technology Consulting
  • ๐Ÿ” TRaViS - AI-Powered EASM without asset caps

๐Ÿ™ Acknowledgments

Powered By

  • TRaViS - Threat Reconnaissance And Vulnerability Identification System
  • Kief Studio - AI Integration and Technology Consulting Company
  • HxHippy - @HxHippy on X/Twitter

Built With

  • Rust - Systems programming language
  • egui - Immediate mode GUI framework
  • SQLite - Self-contained SQL database engine
  • ring - Cryptographic primitives
  • tokio - Asynchronous runtime

Special Thanks

  • The Rust community for excellent tooling and libraries
  • Security researchers and auditors who help keep PwGen secure
  • All contributors who make this project better
  • Open source projects that inspired PwGen's design

๐Ÿ—บ๏ธ Roadmap

Completed โœ…

  • Core encryption and storage (AES-256-GCM)
  • Password generation with full customization
  • CLI interface with comprehensive commands
  • Cross-platform GUI (egui-based)
  • Search and filtering with tags
  • Backup and restore functionality
  • Browser password import (Chrome, Firefox, Safari, Edge, Opera, Brave)
  • SSH key and API token management
  • Secure document storage
  • Advanced secrets management
  • Responsive UI design
  • Cross-platform installers
  • v1.2: Build optimization with 30-40% smaller binaries
  • v1.2: Conditional compilation for platform-specific features
  • v1.2: Enhanced security with modern cryptography (SHA-256 only)
  • v1.2: Flexible build profiles for different deployment scenarios
  • v1.2: Reduced Windows SDK requirements

Near-term (Q1 2026) ๐Ÿšง

  • Mobile apps (iOS/Android)
  • Browser extensions
  • API server for integrations
  • TOTP/2FA integration

Medium-term (Q3 2026) ๐Ÿ“‹

  • Cloud sync with end-to-end encryption
  • Hardware security key support
  • Team collaboration features

Long-term (2027+) ๐Ÿ”ฎ

  • Advanced audit features
  • Enterprise SSO integration
  • Post-quantum cryptography

๐Ÿ“„ License

This project is licensed under the Apache License 2.0 - see the LICENSE file for details.

Copyright 2025 HxHippy, Kief Studio, TRaViS

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

    http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.

โฌ† Back to Top

Made with ๐Ÿฆ€ and โค๏ธ by the PwGen team

About

Engineered from the ground up in Rust, PWGen leverages the language's guarantees of memory safety and performance to provide a fast, reliable, and secure vault for your most critical data. Your secrets are protected with a multi-layered, military-grade encryption strategy, utilizing industry-standard algorithms like AES-256.

Topics

Resources

License

Code of conduct

Contributing

Security policy

Stars

Watchers

Forks