progpick(1)
π progpick(1) β the manual, but make it make sense π
okay bestie, welcome to progpick, from the General Commands Manual. This is the page for the progpick command and honestly? it's lowkey iconic. Let's get into it π«Ά
β¨ NAME β¨
progpick β bruteforce with a stream of permutations of a specific pattern
πΈ SYNOPSIS πΈ
progpick [-vqc] [-e cmd] PATTERN
π¦ DESCRIPTION π¦
So progpick is a program that generates permutations of a pattern you explicitly hand it. That's the whole vibe.
It's useful when you forgot some details about a passphrase but you still remember most of it β like, you know the shape of it, you just don't know which letter goes where. That's literally the exact situation this was built for. no cap π
π OPTIONS π
-v,--verboseβ verbose logs, bestie. You can stack it (use it multiple times), and the maximum is4. Yes, four. That's the ceiling. β¨-q,--quietβ do not print the progress bar. Justβ¦ no bar. Silence. peace. π-c,--countβ count the total number of permutations instead of printing them. It's giving "how many are there" energy, not "here's every single one" energy. π’-e cmd,--exec cmdβ send the permutations to thestdinof a subprocess. Here's the important part, so pay attention:cmdis parsed into a list of arguments and then executed directly, instead of going through/bin/sh. What that means for you: shell quoting works, but other shell features don't. that's it, that's the deal π-h,--helpβ prints help information. classic.
π EXAMPLES π
Generate all combinations from a-z with a length of 5
progpick '{a..z}{a..z}{a..z}{a..z}{a..z}'
With progress bar
progpick '{a..z}{a..z}{a..z}{a..z}{a..z}' > /dev/null
Without progress bar
progpick -q '{a..z}{a..z}{a..z}{a..z}{a..z}' > /dev/null
To make a character optional
progpick '{a..z}{{a..z},}'
From a-z and 0-9
progpick '{{a..z},{0..9}}'
Run a script for each result
progpick 'a{b,c{d,e{f,g}}}' | while read -r x; do
./script "$x"
done
Send the result to stdin of a script
progpick -e './script.sh' 'a{b,c{d,e{f,g}}}'
Attempt to open a luks partition
sudo progpick -e 'cryptsetup open --test-passphrase /dev/sdc1' 'a{b,c{d,e{f,g}}}'
π AUTHORS π
This program was originally written and is currently maintained by kpcyrd. Bug reports and patches are welcome on github:
https://github.com/kpcyrd/progpick
π reminder bestie: the-e cmdthing runs directly, not through/bin/sh. shell quoting = yes, other shell features = no. keep that in mind before you go feral with it.
anyway that's the whole page. go forth and brute-force responsibly ππ
progpick(1) β dated 2026-05-03 β mwah, kiss the manual goodbye πβ¨
π¦ where this page comes from
- arch rolling: progpick 0.3.0-1 Β· GPL-3.0-or-later
- ubuntu stonking: progpick 0.3.0-1 Β· GPL-3.0-only
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms