.\" Generated by scdoc 1.11.4 .\" Complete documentation for this program is not available as a GNU info page .ie \n(.g .ds Aq \(aq .el .ds Aq ' .nh .ad l .\" Begin generated content: .TH "progpick" "1" "2026-05-03" .PP .SH NAME .PP progpick - Bruteforce with a stream of permutations of a specific pattern .PP .SH SYNOPSIS .PP \fBprogpick\fR [-vqc] [-e \fIcmd\fR] \fIPATTERN\fR .PP .SH DESCRIPTION .PP \fBprogpick\fR is a program to generate permutations of an explicitly provided pattern.\& It'\&s useful if you forgot some details about a passphrase but you still remember most of it.\& .PP .SH OPTIONS .PP \fB-v\fR, \fB--verbose\fR .RS 4 Verbose logs (can be used multiple times, maximum: 4) .PP .RE \fB-q\fR, \fB--quiet\fR .RS 4 Do not print progress bar .PP .RE \fB-c\fR, \fB--count\fR .RS 4 Count total number of permutations instead of printing them .PP .RE \fB-e\fR \fIcmd\fR, \fB--exec\fR \fIcmd\fR .RS 4 Send permutations to stdin of a subprocess.\& \fIcmd\fR is parsed into a list of arguments and then executed directly instead of going through /bin/sh, so shell quoting works, but other shell features don'\&t.\& .PP .RE \fB-h\fR, \fB--help\fR .RS 4 Prints help information.\& .PP .RE .SH EXAMPLES .PP Generate all combinations from a-z with a length of 5 .PP .RS 4 \fBprogpick '\&{a.\&.\&z}{a.\&.\&z}{a.\&.\&z}{a.\&.\&z}{a.\&.\&z}'\&\fR .PP .RE With progress bar .PP .RS 4 \fBprogpick '\&{a.\&.\&z}{a.\&.\&z}{a.\&.\&z}{a.\&.\&z}{a.\&.\&z}'\& > /dev/null\fR .PP .RE Without progress bar .PP .RS 4 \fBprogpick -q '\&{a.\&.\&z}{a.\&.\&z}{a.\&.\&z}{a.\&.\&z}{a.\&.\&z}'\& > /dev/null\fR .PP .RE To make a character optional .PP .RS 4 \fBprogpick '\&{a.\&.\&z}{{a.\&.\&z},}'\&\fR .PP .RE From a-z and 0-9 .PP .RS 4 \fBprogpick '\&{{a.\&.\&z},{0.\&.\&9}}'\&\fR .PP .RE Run a script for each result .PP .RS 4 \fBprogpick '\&a{b,c{d,e{f,g}}}'\& | while read -r x; do\fR .RS 4 \fB.\&/script "$x"\fR .RE \fBdone\fR .PP .RE Send the result to stdin of a script .PP .RS 4 \fBprogpick -e '\&.\&/script.\&sh'\& '\&a{b,c{d,e{f,g}}}'\&\fR .PP .RE Attempt to open a luks partition .PP .RS 4 \fBsudo progpick -e '\&cryptsetup open --test-passphrase /dev/sdc1'\& '\&a{b,c{d,e{f,g}}}'\&\fR .PP .RE .SH AUTHORS .PP This program was originally written and is currently maintained by kpcyrd.\& Bug reports and patches are welcome on github: .PP .RS 4 \fIhttps://github.\&com/kpcyrd/progpick\fR .RE