Circa 2006, a person with the nickname, Cowboy Bebop, created the originalonionhash-0.0.1, which evolved into onionhash-0.0.2 and 0.0.3, until Bebop and his home at torlandypjxiligx.onion vanished.
At this point, it was picked up by someone called `Orum, who renamed the onionhash to shallot and went through three versions until Orum's site at hangman5naigg7rr.onion disappeared.
Another concerned OnionLand citizen, katmagic, got shallot's sources from taswebqlseworuhc.onion and put them into a Git repository. Made a few modifications, wrote a new README, and put the whole thing up on GitHub.
'Unperson Hiro' stumbled on the project, had a few ideas on how to make it more flexible, forked it,worked on it for a couple months, then placed it on GitHub too. His project had been named scallion until he learned of another recently released .onion name generator of that name, so he renamed his project eschalot.
Authored by 'lachesis', scallion uses the Graphics Processing Unit (GPU) of a high end video gamer's card to do the hard work. The CPU is still used to generate starting keys and to check the results. It can run many times faster than CPU only based programs. Its source, with executables, is likewise found on GitHub.
The latest arrival, garlic, is a Windows program unlike the first four which are command line apps. It solves the most vexing problem introduced into shallot and later forks, and yields 100% good keys. And because the search threads run at idle priority, it works in the background without disturbing other running programs. Garlic can be found at garlic7ravilyupx.onion.
If you've read this far, you may be part of my target audience. This site is for those interested in generating their own custom onion domains, and/or for those interested in advancing the state of the art of these brute force generators.
These programs work on probabilistic searches. Progress is not made while running these programs, and progress is not lost when they are stopped and restarted. Each try has the same small chance of success.
Several of these programs, onionhash, shallot, & eschalot, were written for linux. Cygwin must be downloaded and installed if one wants to compile and run them under Windows.
The public exponent of RSA keys plays a huge role in these programs. There is a limit to how large the public exponent can become, and there are constraints on what form it takes. Several of these programs run into trouble at some point because of these two requirements. Garlic is free of both problems. It is unknown what role, if any, exponent problems play in scallion since I have no hardware capable of running it. Read more about the public exponent here.