{"id":13531531,"url":"https://github.com/thetechromancer/password-stretcher","last_synced_at":"2025-04-30T17:13:05.431Z","repository":{"id":43781893,"uuid":"113528675","full_name":"TheTechromancer/password-stretcher","owner":"TheTechromancer","description":"FETCH THE PASSWORD STRETCHER","archived":false,"fork":false,"pushed_at":"2022-12-08T13:43:42.000Z","size":475,"stargazers_count":39,"open_issues_count":2,"forks_count":6,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-04-30T17:12:48.980Z","etag":null,"topics":["cracking","generation","list","mutations","password","spider","stretcher","wordlist"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/TheTechromancer.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2017-12-08T03:48:27.000Z","updated_at":"2025-03-08T13:50:01.000Z","dependencies_parsed_at":"2023-01-25T13:46:04.662Z","dependency_job_id":null,"html_url":"https://github.com/TheTechromancer/password-stretcher","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TheTechromancer%2Fpassword-stretcher","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TheTechromancer%2Fpassword-stretcher/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TheTechromancer%2Fpassword-stretcher/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TheTechromancer%2Fpassword-stretcher/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/TheTechromancer","download_url":"https://codeload.github.com/TheTechromancer/password-stretcher/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":251748952,"owners_count":21637418,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["cracking","generation","list","mutations","password","spider","stretcher","wordlist"],"created_at":"2024-08-01T07:01:03.754Z","updated_at":"2025-04-30T17:13:05.403Z","avatar_url":"https://github.com/TheTechromancer.png","language":"Python","funding_links":[],"categories":["Wordlist tools"],"sub_categories":["Analysis"],"readme":"![password-stretcher](https://user-images.githubusercontent.com/20261699/117364575-14a5d980-ae8c-11eb-815d-32827cc5297b.png)\n\n**Generate disgusting quantities of passwords from websites, files, or stdin.** Compliments [password-smelter](https://github.com/thetechromancer/password-smelter).\n\n## Installation\n~~~\n$ pip install password-stretcher\n~~~\n\n## Basics:\n`password-stretcher` mutates a list of words, prioritizing the most probable mutations and spreading them evenly across all of the input. By default, output is capped at 100 million words or 1000x times the input, whichever is larger.\n\n### Aren't hashcat rules better?\nHashcat rules are great for quickly covering the most probable mutations of a password. `password-stretcher` can cover them all. This is useful if you KNOW or HEAVILY SUSPECT that the password is a variation of a specific word or list of words, but you haven't been able to crack it using hashcat rules.\n\nWhen enabling `--leet` or `--capswap` mutations, you can be sure that `password-stretcher` will generate **every possible mutation**. Even when you `--limit` the results, it will prioritize the most probable ones. Here, you can see that enabling both `--leet` and `--capswap` on a single word (\"pass\") results in 96 mutations, beginning with the simplest and gradually increasing in complexity:\n~~~\n$ echo pass | password-stretcher --leet --capswap | tr '\\n' ' '\n[+] Reading input wordlist... read 1 words \n[*] Output capped at 100,000,000 words\n[+] Mutations allowed per word:\n       leet            7,071\n       capitalization  14,142\n[+] 96 words written (480B)    \npass PASS Pass pAss PAss paSs PaSs pASs PASs pasS PasS pAsS PAsS paSS\nPaSS pASS p@ss P@SS P@ss P@Ss p@Ss p@sS P@sS p@SS pas5 PAS5 Pas5 pAs5\nPAs5 paS5 PaS5 pAS5 p@s5 P@S5 P@s5 p@S5 pas$ PAS$ Pas$ pAs$ PAs$ paS$\nPaS$ pAS$ p@s$ P@S$ P@s$ p@S$ pa5s PA5S Pa5s Pa5S pA5s PA5s pa5S pA5S\np@5s P@5S P@5s p@5S pa55 PA55 Pa55 pA55 p@55 P@55 pa5$ PA5$ Pa5$ pA5$\np@5$ P@5$ pa$s PA$S Pa$s Pa$S pA$s PA$s pa$S pA$S p@$s P@$S P@$s p@$S\npa$5 PA$5 Pa$5 pA$5 p@$5 P@$5 pa$$ PA$$ Pa$$ pA$$ p@$$ P@$$\n~~~\n\n\u003cbr\u003e\n\n## Example 1: Generate 10 million passwords from three words\n~~~\n$ echo -e 'normal\\nenglish\\nwords' | password-stretcher --leet --capswap --permutations 2 --limit 10M\n[+] Reading input wordlist... read 3 words \n[*] Input wordlist after permutations: 12\n[+] Mutations allowed per word:\n       leet            645\n       capitalization  1,290\nwords\nWORDS\nWords\nw0rds\nW0RDS\n...\nnormal\nNORMAL\nNormal\nn0rmal\nN0RMAL\n...\nenglish\nENGLISH\nEnglish\n3nglish\n3NGLISH\n...\nenglishenglish\nenglishwords\nenglishnormal\nwordsenglish\nwordswords\nwordsnormal\nnormalenglish\nnormalwords\nnormalnormal\n...\n~~~\n\n## Example 2: Generate 10 million passwords from a website\n~~~\n$ password-stretcher -i 'https://wikipedia.org' --leet --limit 10M \u003e wordlist.txt\n[+] Spidered 291 pages\n[+] Reading input wordlist... read 172,629 words.\n[*] Output capped at 10,000,000 words\n[+] Mutations allowed per word:\n     - leet:           57\n[+] 9,792,383 words written (152.36MB)\n~~~\n\n## Example 3: Generate passwords from a codebase\n~~~\n$ egrep -h -RIio '\\b[a-z]+\\b' 2\u003e/dev/null | password-stretcher --cap \u003e wordlist.txt\n~~~\n\n## Example 4: Pair with hashcat rules because yes\n~~~\n$ echo password | password-stretcher --capswap --leet | hashcat -r OneRuleToRuleThemAll.rule ...\n~~~\n\n## Usage:\n~~~\n$ password-stretcher --help\nusage: password-stretcher [-h] [-i  [...]] [--limit LIMIT] [-L] [-c] [-C] [-p] [-dd] [-P INT] [--minlength 8] [--maxlength 8] [--mincharsets 3]\n                          [--charsets {numeric,loweralpha,upperalpha,special} [{numeric,loweralpha,upperalpha,special} ...]] [--regex '$[a-z]*^'] [--spider-depth SPIDER_DEPTH]\n                          [--user-agent USER_AGENT]\n\nFETCH THE PASSWORD STRETCHER\n\noptional arguments:\n  -h, --help            show this help message and exit\n  -i  [ ...], --input  [ ...]\n                        input website or wordlist(s) (default: STDIN)\n  --limit LIMIT         limit length of output (default: max(100M, 1000x input))\n\nmangling options:\n  -L, --leet            \"leetspeak\" mutations\n  -c, --cap             common upper/lowercase variations\n  -C, --capswap         all possible case combinations\n  -p, --pend            append/prepend common digits \u0026 special characters\n  -dd, --double         double each word (e.g. \"Pass\" --\u003e \"PassPass\")\n  -P INT, --permutations INT\n                        max permutation depth (careful! massive output)\n\npassword complexity filters:\n  --minlength 8         minimum password length\n  --maxlength 8         maximum password length\n  --mincharsets 3       must have this many character sets\n  --charsets {numeric,loweralpha,upperalpha,special} [{numeric,loweralpha,upperalpha,special} ...]\n                        must include these character sets\n  --regex '$[a-z]*^'    custom regex\n\nspider options:\n  --spider-depth SPIDER_DEPTH\n                        maximum website spider depth (default: 1)\n  --user-agent USER_AGENT\n                        user-agent for web spider\n~~~","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fthetechromancer%2Fpassword-stretcher","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fthetechromancer%2Fpassword-stretcher","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fthetechromancer%2Fpassword-stretcher/lists"}