Skip to main content

Customizable wordlist generator with advanced pattern.

This project has been archived.

The maintainers of this project have marked this project as archived. No new releases are expected.

Project description


fuse
Generate wordlists from concise expressions

Installation    •    Usage    •    Contributing

demo

Installation

[!NOTE]
It is recommended to install using pipx or pip for the PyPI version.

Method Notes
pipx install fuse-tool pip may be used in place of pipx
git clone https://github.com/pwnfo/fuse.git && cd fuse && pip install . Clone and install directly from GitHub

General usage

To generate a wordlist from a simple expression:

fuse "/l{2,4}"

To combine files with generators:

fuse "^:^" names.txt pass.txt

Outputs can be manipulated, filtered, and saved.

$ fuse --help
usage: fuse [options] <expression> [<files...>]

 ___  _ _  __  ___ 
| __|| | |/ _|| __|
| _| | U |\_ \| _| 
|_|  |___||__/|___|
                    v2.1.0

  -h, --help            show this help message and exit
  -v, --version         show version message and exit
  -o, --output <path>   write the wordlist in the file
  -f, --file <path>     files with different expressions
  -q, --quiet           use quiet mode
  -s, --separator <word>
                        separator between entries
  -b, --buffer <bytes>  buffer size in wordlist generation
  -w, --workers <1-64>  number of workers (default is 1)
  -F, --filter <regex>  filter generated words using a regex
  --from <word>         start writing the wordlist with <word>
  --to <word>           ends writing the wordlist with <word>

Powerful pattern-based wordlist generation tool.
Developed by Ryan R. <pwnfo@proton.me>

Expression basics

  • Literal characters produce themselves.
  • Built-in classes and bracketed classes [...] produce one item per position.
  • Concatenation combines positions: each position picks one value from its token and concatenates.

Example:

$ fuse "/l{2,3}"
# output: aa, ab, ac, ..., ZY, ZZ

Character classes

Symbol Meaning
/l letters (a–z, A–Z)
/a lowercase letters (a–z)
/A uppercase letters (A–Z)
/d digits (0–9)
/h lowercase hexadecimal (0–9, a–f)
/H uppercase hexadecimal (0–9, A–F)
/s space
/o octal digits (0–7)
/p special characters
/N newline (\n)

Example: /l/l generates all two-letter combinations (upper and lower case).

Custom classes and unions

  • [abc] selects one character from a, b, or c.
  • Use | to separate full-word alternatives (each treated as a multi-character token):
    • [admin|root|123] inserts admin OR root OR 123 at that point.

Quantifiers

  • {N} — repeat exactly N times
  • {min,max} — repeat between min and max times (inclusive)
  • ? — optional (0 or 1 time)

Examples:

$ fuse "[XYZ]{3}"         # XXX, XXY, ..., ZZZ
$ fuse "[XYZ]{2,5}"       # XY, XZ, ..., XYZXY
$ fuse "Ryan?/d"          # Rya0, Rya1, ..., Ryan9
$ fuse "[XYZ]?Ryan"       # Ryan, XRyan, YRyan, ZRyan

Numeric ranges

  • #[1-10] → generates 1,2,3,4,5,6,7,8,9,10
  • #[1-10:2] → generates 1,3,5,7,9
  • #[2-10:2] → generates 2,4,6,8,10

These numeric ranges can be used in any position of an expression.

Files and placeholders

Use ^ in an expression as a placeholder for the next file argument. Each ^ consumes one file and iterates over its lines:

$ fuse "^/d" names.txt
# output: Bob0, Bob1, ..., Ana0, Ana1, ...

$ fuse "^-^" names.txt years.txt
# output: Bob-1990, Ana-1991, Ryan-1992, ...

Prefix a filename with // to treat it as an inline expression instead of a file path.

Escaping special characters

Use \ to escape special characters.

$ fuse "\/d/d"
# output: /d/0, /d/1, ..., /d/9

Contributing

We welcome contributions to Fuse! Whether it's adding new features, improving documentation, or fixing bugs, your help is appreciated. Feel free to open an issue or submit a pull request on our GitHub repository at pwnfo/fuse.

Star History

Fuse Project Star History Chart

License

MIT © Ryan R. <pwnfo@proton.me>

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

fuse_tool-3.1.1.tar.gz (16.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

fuse_tool-3.1.1-py3-none-any.whl (18.7 kB view details)

Uploaded Python 3

File details

Details for the file fuse_tool-3.1.1.tar.gz.

File metadata

  • Download URL: fuse_tool-3.1.1.tar.gz
  • Upload date:
  • Size: 16.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/2.1.2 CPython/3.13.5 Linux/6.12.73+deb13-amd64

File hashes

Hashes for fuse_tool-3.1.1.tar.gz
Algorithm Hash digest
SHA256 78e61ea87b4ccf523e6c1207c1fc7341565bf1031d9b73375c724b73095fd38c
MD5 a9e154a08758dd0c6afea975f0da3162
BLAKE2b-256 b73730ef9097b3dc82a898cd9a9ee98b42f57fd9c34c0af7969f6144c03570a2

See more details on using hashes here.

File details

Details for the file fuse_tool-3.1.1-py3-none-any.whl.

File metadata

  • Download URL: fuse_tool-3.1.1-py3-none-any.whl
  • Upload date:
  • Size: 18.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/2.1.2 CPython/3.13.5 Linux/6.12.73+deb13-amd64

File hashes

Hashes for fuse_tool-3.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 231d4fd25a8face73a8c3024a6919947b01bf4d18c8fd86102bcd0e9868af172
MD5 0bc6b480b240c2980f0b215535328caf
BLAKE2b-256 743ecc0ef53ebf9e340eb4bab29fb5a1f98a4168d242ee13adb287e2928866e8

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page