by Bitweasil » Sat Jun 06, 2009 11:57 pm
Progress is being made on this.
After some discussion on IRC, the first revision is MySQL backed - I intend to add SQLite support once it is working (for standalone use). However, installing MySQL isn't terribly difficult, and if there is sufficient demand, I may release a VM image that contains this system (for the free VMWare Server or VMWare Player).
This will be a strictly client/server framework: The server assigns work, the clients process it and return it. No P2P in this iteration.
The basic system structure is coded up, and the "add tasks" bit is nearly completed.
The server daemon will sit and run, connected to MySQL, handing out and receiving work units.
The "add task" utility adds a new cracking task to the database. The system can handle multiple tasks in the queue at once.
The clients will connect to the server daemon & handle work as they can - work will be assigned in a FIFO manner, with the exception that clients will get what they can do - a client that cannot crack SHA1 will not be handed SHA1 work units to crack.
Reporting of status will be done by a separate utility for the most part - this is designed for a nice web interface or GUI to monitor clients.
Support will be present for dealing with untrusted clients. The initial release will be designed for trusted clients (no malicious behavior).
Extending this for new hashes should be fairly easy - I'm building it as a fairly heavily object oriented system, and especially on the server side, much of the behavior is encapsulated in inheritable classes - there shouldn't need to be a lot of "rewriting the wheel" going on.
As always, suggestions are welcome.
Anyone interested in writing a GUI?