
Очередь и система ресурсов для взлома паролей
CrackLord — это система, предназначенная для создания масштабируемой, подключаемой и распределённой системы как для взлома паролей, так и для любых других задач, требующих больших вычислительных ресурсов. Если сказать проще, CrackLord — это способ балансировки нагрузки ресурсов (таких как CPU, GPU, сеть и т.д.) нескольких аппаратных систем в единую службу очередей через два основных сервиса: Resource и Queue. Он не ускорит выполнение этих задач, но упростит управление ими.
На изображении выше показаны три основных компонента CrackLord:
У нас есть набор пакетов для каждого выпуска. Если вы хотите просто воспользоваться ими, следуйте инструкциям здесь.
Если вы хотите собрать всё из исходников, сначала потребуется рабочее окружение Go с настроенным GOPATH. Кроме того, вам, вероятно, понадобятся Git и Mercurial для получения различных библиотек и плагинов, используемых в коде.
Сначала нужно получить сам cracklord.
go get github.com/jmmcatee/cracklord
Затем необходимо загрузить все зависимости для демона ресурсов и демона очереди.
go get github.com/jmmcatee/cracklord/cmd/queued
go get github.com/jmmcatee/cracklord/cmd/resourced
Теперь можно собрать демон очереди и демон ресурсов.
go build github.com/jmmcatee/cracklord/cmd/queued
go build github.com/jmmcatee/cracklord/cmd/resourced
Наконец, можно запустить оба демона: ресурсов и очереди. Они будут находиться в каталогах cmd/queued и cmd/resourced. Также потребуется настроить файлы конфигурации; информацию о них можно найти в нашей вики.
Вероятно, самый простой способ принять участие — написать новый плагин инструмента. Если у вас есть инструменты, которые вы используете в тестировании, исследованиях или работе, и вы хотите их интегрировать, вы можете легко написать новый инструмент и отправить нам pull request. Мы постараемся интегрировать его как можно скорее. В каталоге plugins мы создали пустой инструмент для справки. Если у вас есть интересный способ взаимодействия с ресурсами, вы также можете написать плагин диспетчера ресурсов, например, для облачного сервиса, который мы пока не поддерживаем, или для нового способа выполнения работы.
Из-за особенностей языка Go нам приходится компилировать все инструменты вместе, поэтому, если вы сделали что-то, чем хотите поделиться, отправьте нам pull request, мы протестируем и опубликуем для всех.
У нас есть стандартный API, который публикует демон очереди. Мы также создали стандартный веб-интерфейс, использующий тот же API. Но это не значит, что вы не можете сделать лучше! Мы также планируем написать несколько скриптов для автоматизации типовых задач в нашем рабочем процессе. Если вы создадите их, присылайте ссылки или pull request, и мы найдём им место / упомянем вас!
Мы стараемся поддерживать документацию в актуальном состоянии, но всегда есть место для руководств, учебных пособий и примеров. Мы будем рады любой помощи. Загляните в нашу вики и посмотрите, что нужно исправить или дополнить!
Конечно, вы также можете работать над самими демонами очереди и ресурсов CrackLord. У нас есть список проблем, и любая помощь в их устранении будет высоко оценена.