Skip to content

rexos/wordlist

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

97 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Wordlist

Generates all possible permutations of a given charset.

Developed by Alex Pellegrini.

Code and performance optimisation by Daniele Bonadiman.

Continuous integration status:

Build Status Coverage Status Requirements Status

Pypi status:

PyPi version PyPi downloads

Installing:

$ pip install wordlist

Usage:

There are two ways to use wordlist (command line, python)

Command-line

Generate all the possible words with a given charset:

$ wordlist [charset]

Generate all the possible words with length within a given interval (e.g. from 2 to 5):

$ wordlist [charset] -m 2 -M 5

Generate following a given pattern:

$ wordlist [charset] @@q@@er@t@y

Save a list to file:

$ wordlist [charset] -o list.txt

or:

$ wordlist [charset] > list.txt

Python

Generate all the possible words with length within a given interval (e.g. from 2 to 5):

import wordlist
generator = wordlist.Generator('charset')
for each in generator.generate(2, 5):
    print(each)

Generate following a given pattern:

import wordlist
generator = wordlist.Generator('charset')
for each in generator.generate_with_pattern('@@q@@er@t@y'):
    print(each)

[charset]

There are to ways to pass the charset to the script:

  • A simple list of characters

    $ wordlist abcxyz987

  • A list of ranges following the simple regex (\w-\w)

    $ wordlist a-z0-9A-Z

Pattern

The pattern should be like:

@@q@er@t@y

The script will replace every {} symbol with every letter in the charset so as to get every possible permutation. Every other symbol will be a fixed character present in every string. In this example, every generated string will contain a q at the 3rd position an e at the 6th and so on.

Contributing

$ git clone https://github.com/rexos/wordlist.git
$ cd wordlist
$ pip install -r requirements.txt
$ nosetests

And open a pull request!