Skip to content

Latest commit

ย 

History

10 Commits

Folders and files

NameName
Last commit message
Last commit date
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

๐Ÿ” Wordlist Generator (Python)

A complete and educational Python implementation of a targeted, keyword-based wordlist generator. This project demonstrates token permutation, case/leetspeak variation, and numeric-tail expansion using structured logic.

It is created as a learning and academic project to understand how targeted password wordlists are built internally (for OSINT / penetration testing use-cases), not as a bulk dictionary-generation tool.


๐Ÿงฑ Project Structure

wordlist-generator-python/
โ”‚
โ”œโ”€โ”€ assets/             # Screenshots
โ”œโ”€โ”€ main.py             # Basic CLI version
โ”œโ”€โ”€ interactive.py      # Rich-powered interactive wizard
โ”œโ”€โ”€ requirements.txt    # Dependencies
โ”œโ”€โ”€ LICENSE             # Project license
โ””โ”€โ”€ README.md           # Project documentation

โœจ Features

๐Ÿ”‘ Personal-Info-Based Token Generation

  • Accepts first name, last name, nickname, team/company, and date
  • Cleans and normalizes each input into safe tokens
  • Parses dates (ddmmyyyy / ddmmyy) into day, month, year, and combined sub-tokens
  • Demonstrates structured, targeted wordlist construction

๐Ÿ”’ Word Building

  • Permutes tokens (1 to 3 combined by default) in every order
  • Joins combinations with -, _, ., or no separator
  • Reads back the full permutation set to build the base wordlist

๐ŸŽญ Variant Expansion

  • Case variants: lower, UPPER, Capitalized, and CamelCase
  • Leetspeak variants (aโ†’4, eโ†’3, iโ†’1, oโ†’0, sโ†’5, tโ†’7, bโ†’8)
  • Numeric tail suffixes (00โ€“99 and the last 10 years)
  • Final length filtering (default: 7โ€“24 characters)

๐Ÿงฎ Educational Focus

  • Clean and readable logic
  • Set-based deduplication throughout
  • Ideal for beginners in OSINT / password-wordlist theory
  • No external dependencies (Basic CLI)

๐ŸŽจ Rich CLI (Interactive Mode)

  • Beautiful colored terminal UI using Rich
  • Guided wizard-style prompts with optional fields
  • Animated spinner while generating
  • Structured panel + table summary of results

โšก Dual Mode Support

  • ๐Ÿงผ Basic CLI (main.py) โ†’ argparse flags, no dependencies
  • ๐ŸŽจ Rich CLI (interactive.py) โ†’ guided wizard with colors and panels

๐Ÿ›  Technologies Used

Technology Role
Python 3 Core programming language
argparse Basic CLI flag parsing
itertools / re Token permutation & cleaning
Rich Styled interactive CLI

๐Ÿ“Œ Purpose of This Project

This project is built to:

  • Understand targeted, personal-info-based wordlist generation
  • Learn permutation and variant-expansion logic
  • Explore how OSINT data (names, dates, nicknames) maps to password guesses
  • Study case-transform and leetspeak substitution techniques

โš ๏ธ This project is intended strictly for authorized penetration testing, learning, and demonstration purposes.


โ–ถ๏ธ How to Run

1๏ธโƒฃ Clone the repository

git clone https://github.com/ShakalBhau0001/wordlist-generator-python.git

2๏ธโƒฃ Navigate to the project folder

cd wordlist-generator-python

3๏ธโƒฃ Install Dependencies

pip install rich

OR

pip install -r requirements.txt

4๏ธโƒฃ Running the Project

Basic CLI Version

python main.py -f John -l Doe -n JD -t RedTeam -d 15081995

Rich Interactive Version

python interactive.py

5๏ธโƒฃ Follow the prompts for Interactive Version

  • Enter first name
  • Enter last name
  • Enter nickname (optional)
  • Enter team/company (optional)
  • Enter date dd/mm/yyyy or ddmmyyyy (optional)
  • View the generated word count and saved file path

๐Ÿ”Ž Example

Basic CLI:

python main.py -f John -l Doe -n JD -t RedTeam -d 15081995

========================================
Wordlist Generator
========================================
Generating wordlist....
Generated 42218 words.
Saved to: wordlist.txt

Custom output & length flags:

python main.py -f John -l Doe -o custom --min-len 8 --max-len 16

โš ๏ธ Limitations

  • Not a bulk/general-purpose dictionary generator
  • Combination count grows fast with more tokens (--max-combo)
  • Only ASCII alphanumerics plus . _ - are kept in tokens
  • CLI-based interaction only

๐ŸŒŸ Future Improvements

  • Add support for additional personal-info fields (pet name, city, etc.)
  • Smarter leetspeak (multi-substitution combinations)
  • Progress bar for the Basic CLI version
  • Add input validation enhancements
  • Create GUI version
  • Export directly in Hashcat/John-compatible formats

โš ๏ธ Disclaimer

This implementation is created for educational and learning purposes only.

Use this tool only on systems and accounts you own or are explicitly authorized to test. The author is not responsible for any misuse.


๐Ÿ“ธ Preview

Rich CLI Preview


๐Ÿชช Author

Creator: Shakal Bhau

GitHub: ShakalBhau0001


โญ Support

If you like this project, consider giving it a โญ on GitHub!


About

๐Ÿ” Rich-powered CLI wordlist generator โ€” builds targeted password wordlists from personal info (name, nickname, date) with case, leetspeak & numeric-tail variants. Auto-incrementing output files, Termux-friendly.

Topics

Resources

Stars

2 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages