Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/0xetherpunk/passgen

๐Ÿ” A secure command-line password generator with QR code generation and clipboard integration, powered by /dev/urandom
https://github.com/0xetherpunk/passgen

cli cli-app cli-password-generator clipboard go gocli golang pass password password-generator qr qr-code qr-generator qrcode qrcode-generator

Last synced: 2 months ago
JSON representation

๐Ÿ” A secure command-line password generator with QR code generation and clipboard integration, powered by /dev/urandom

Awesome Lists containing this project

README

        

# ๐Ÿ” PassGen

### Secure Password & BIP39 Mnemonic Generator

[![Go Version](https://img.shields.io/badge/Go-1.23.2-00ADD8?style=flat-square&logo=go)](https://golang.org)
[![License](https://img.shields.io/badge/license-MIT-blue.svg?style=flat-square)](LICENSE)

![Demo](demo.gif)

## ๐ŸŽฏ Overview

PassGen combines secure password generation with BIP39 mnemonic phrase support, offering:
- ๐Ÿ›ก๏ธ Cryptographically secure generation using /dev/urandom
- ๐ŸŒ Multi-language BIP39 support
- ๐Ÿ“‹ Instant clipboard integration
- ๐Ÿ“ฑ Terminal QR code display

## โšก Quick Start

### Installation Options

1. Latest release (recommended):
```bash
go install github.com/0xEtherPunk/passGen/cmd/passgen@latest
```

2. Specific version:
```bash
go install github.com/0xEtherPunk/passGen/cmd/[email protected]
```

3. From source:
```bash
# Clone repository
git clone https://github.com/0xEtherPunk/passGen.git
cd passGen

# Install locally
go install ./cmd/passgen
```

4. Manual build:
```bash
git clone https://github.com/0xEtherPunk/passGen.git
cd passGen
go build -o passgen cmd/passgen/main.go
sudo mv passgen /usr/local/bin/ # Optional: make globally available
```

## ๐Ÿ› ๏ธ Usage

### ๐Ÿ”‘ Password Generation
```bash
# Standard password (24-28 characters)
passgen

# Custom length password
passgen -l 32
```

### ๐ŸŽฒ BIP39 Mnemonic Generation

#### Default Usage
```bash
passgen -b # 24 words in English
passgen -b -12 # 12 words in English
```

#### ๐ŸŒ Supported Languages
```bash
# Full phrases (24 words)
passgen -b -en # ๐Ÿ‡ฌ๐Ÿ‡ง English (default)
passgen -b -ru # ๐Ÿ‡ท๐Ÿ‡บ Russian (ะ ัƒััะบะธะน)
passgen -b -jp # ๐Ÿ‡ฏ๐Ÿ‡ต Japanese (ๆ—ฅๆœฌ่ชž)
passgen -b -cn # ๐Ÿ‡จ๐Ÿ‡ณ Chinese (็ฎ€ไฝ“ไธญๆ–‡)
passgen -b -fr # ๐Ÿ‡ซ๐Ÿ‡ท French (Franรงais)
passgen -b -it # ๐Ÿ‡ฎ๐Ÿ‡น Italian (Italiano)
passgen -b -ko # ๐Ÿ‡ฐ๐Ÿ‡ท Korean (ํ•œ๊ตญ์–ด)
passgen -b -es # ๐Ÿ‡ช๐Ÿ‡ธ Spanish (Espaรฑol)

# Short phrases (12 words)
passgen -b -12 -en # ๐Ÿ‡ฌ๐Ÿ‡ง English
passgen -b -12 -ru # ๐Ÿ‡ท๐Ÿ‡บ ะ ัƒััะบะธะน
passgen -b -12 -jp # ๐Ÿ‡ฏ๐Ÿ‡ต ๆ—ฅๆœฌ่ชž
passgen -b -12 -cn # ๐Ÿ‡จ๐Ÿ‡ณ ็ฎ€ไฝ“ไธญๆ–‡
passgen -b -12 -fr # ๐Ÿ‡ซ๐Ÿ‡ท Franรงais
passgen -b -12 -it # ๐Ÿ‡ฎ๐Ÿ‡น Italiano
passgen -b -12 -ko # ๐Ÿ‡ฐ๐Ÿ‡ท ํ•œ๊ตญ์–ด
passgen -b -12 -es # ๐Ÿ‡ช๐Ÿ‡ธ Espaรฑol
```

### ๐Ÿ“ค Output Features
Every generated password or mnemonic is automatically:
- ๐Ÿ“ Displayed in terminal
- ๐Ÿ“‹ Copied to clipboard
- ๐Ÿ“ฑ Converted to QR code

## ๐Ÿ—๏ธ Project Structure
```
passGen/
โ”œโ”€โ”€ cmd/
โ”‚ โ””โ”€โ”€ passgen/
โ”‚ โ””โ”€โ”€ main.go # ๐ŸŽฏ Entry point
โ”œโ”€โ”€ internal/
โ”‚ โ”œโ”€โ”€ bip39/ # ๐ŸŽฒ BIP39 implementation
โ”‚ โ”‚ โ”œโ”€โ”€ wordlist/ # ๐ŸŒ Language wordlists
โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ en.txt # English
โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ ru.txt # Russian
โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ jp.txt # Japanese
โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ cn.txt # Chinese
โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ fr.txt # French
โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ it.txt # Italian
โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ ko.txt # Korean
โ”‚ โ”‚ โ”‚ โ””โ”€โ”€ es.txt # Spanish
โ”‚ โ”‚ โ”œโ”€โ”€ bip39.go # Core BIP39 logic
โ”‚ โ”‚ โ””โ”€โ”€ wordlist.go # Wordlist handling
โ”‚ โ”œโ”€โ”€ clipboard/ # ๐Ÿ“‹ Clipboard operations
โ”‚ โ”œโ”€โ”€ generator/ # ๐ŸŽฏ Password generation
โ”‚ โ””โ”€โ”€ qr/ # ๐Ÿ“ฑ QR code generation
โ””โ”€โ”€ README.md
```

## โš™๏ธ Requirements
- ๐Ÿ”ง Go 1.23.2 or higher
- ๐Ÿง Unix-like system (for /dev/urandom)

## ๐Ÿ“„ License
MIT ยฉ [0xEtherPunk](https://github.com/0xEtherPunk)

---

### ๐ŸŒŸ If you find PassGen useful, please star it on GitHub!

---

> ๐ŸŒˆ **Pro tip**: Pipe the output through `lolcat` for some extra color magic:
> ```bash
> passgen | lolcat
> passgen -b -12 -cn | lolcat
> ```