Skip to content

Simple and lightweight password and passphrase generator built with Tauri

Notifications You must be signed in to change notification settings

JuanPardos/easypass

Repository files navigation

EasyPass

A secure and lightweight password and passphrase generator built with Tauri, Angular, and Rust.

Features

  • 🔐 Password Generator - Create strong passwords with customizable options:

    • Adjustable length (6-32 characters)
    • Lowercase letters (a-z)
    • Uppercase letters (A-Z)
    • Numbers (0-9)
    • Symbols (!@#$%&()+...)
    • Custom characters
    • User provided entropy
    • Security level indicator
  • 📝 Passphrase Generator - Generate memorable yet secure passphrases:

    • Adjustable number of words (2-8)
    • Minimum and maximum word length
    • Choose between English and Spanish dictionaries
    • Custom separators
    • Optional salt addition
    • Security level indicator
  • 🌍 Multi-language Support - Available in English and Spanish

  • 📋 One-click Copy - Copy generated passwords to clipboard

  • 🎨 Modern UI - Clean interface built with Tailwind CSS

  • 💻 Cross-platform - Works on Windows, macOS, and Linux

Requirements

Development

Build Dependencies

  • UPX (Ultimate Packer for eXecutables) - Required for binary compression
    • Windows: Download from UPX releases and add to PATH
    • macOS: brew install upx
    • Linux: sudo apt install upx or sudo pacman -S upx

Installation

  1. Clone the repository:

    git clone https://github.com/juanpardos/easypass.git
    cd easypass
  2. Install dependencies:

    npm install
  3. Install Tauri CLI (if not already installed):

    cargo install tauri-cli

Development

Run the application in development mode:

npm run tauri dev

Building

Build the application for production:

npm run tauri build

The compiled binary will be available in src-tauri/target/release/.

Note: Ensure UPX is installed and available in your PATH for optimal binary compression. Linux user may need to modify UPX settings (beforeBundleCommand) in src-tauri/tauri.conf.json.

Project Structure

easypass/
├── src/                         # Angular frontend
│   ├── app/
│   │   ├── features/            # Feature components
│   │   │   ├── home/            # Home page
│   │   │   ├── password/        # Password generator
│   │   │   └── passphrase/      # Passphrase generator
│   │   ├── layout/              # Layout components 
│   │   ├── utils/               # Utilities
│   │   └── types/               # TypeScript types
│   └── assets/
│       └── i18n/                # Translation files
├── src-tauri/                   # Rust backend
│   ├── src/
│   │   ├── service/             # Core services
│   │   ├── types/               # Rust types
│   │   ├── utils/               # Utility functions  
│   │   ├── main.rs              # Entry point
│   │   └── lib.rs               # Tauri commands
│   └── Cargo.toml               # Rust dependencies
└── package.json                 # Node.js dependencies

Tech Stack

  • Frontend: Angular 20, Tailwind CSS
  • Backend: Rust, Tauri
  • i18n: ngx-translate
  • Build: Cargo

Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

Author

Juan Pardos - GitHub


⭐ Star this repository if you find it useful!