Mask processor suggestion
So mp is excellent and so is crunch... both serve their purpose well enough.. however.. 
while I get the need for brute forcing aaaaaaaaa aaaaaaaab etc... why can’t we make a mode where you skip the default and truly randomize? Or at least randomize the order.. I mean nowadays people just don’t have aaaaaa or AAAAAAAA anymore..
And if you want to run sequential that’s ok but if not , randomize.. 
like mp64.bin —rand -1 ?l?u?d ?1?1?1?1?1?1 
I know the -q -r will allow you to shrink the key space but it still aabbaa with -q 2 and half the time I try -r 2 nothing comes out at all... 

So kne vote for some sort of randomized?

Alternatively, make hashcat reject rules also in attack mode 3 or 0 since right now they only work in 1 6 and 7.

(People who request this are almost always hoping to "get lucky", and believe that randomizing the attack will somehow improve the odds of getting a crack sooner. The math of this should make it clear why this doesn't help.)
Hi royce. Ok plain math suggests that if you know you have it fairly randomized and you know that you don’t have x repetitive charscters , you should have 10s of percentage points off. If your crack would take a year and and you shave only 10% off ,you reduce but a month.
That’s a big step in time.
But ok, let’s try this the other way. Mask processor has -q-r already.. 
why aren’t they better implemented? For example, -q 1 doesn’t not work as it requires 2, but it actually only means 1 consequitive same character (?!?) and -r 1 does not work since it needs to be as big or bigger than -qSmile
I'm not sure about your math... but then again my knowledge of probabilities is limited.
So allow me to jump straight to the maskprocessor.
The way I see it -qr aren't implemented poorly. I think the docs are just worded poorly.
They say "Maximum number of ..." when they should probably refer to it as a cut-off point.
I mean, if you wanted no consecutive chars, you'd cut every plain that contains 2 or more consecutive chars.
And -q2 does exactly that.
If you wanted every char to occur only once, you'd cut every plain that contains a char more than 2 times.
And -r2 does exactly that.
Also, I guess it would make much more sense to implement markov chains than randomization.
You are actually correct... Marcov chains would be pretty neat to have in mp!Smile

And to whoever wrote maskprocessor: thank you, I am not a coder (proper one anyway), so babbling form the sidelines is always easier than doing... kudos to youSmile..