Содержание

SimpleYggGen-Go

SimpleYggGen-Go — перереализация bash-скрипта SimpleYggGen на языке программирования Go, позволяющая работать в несколько потоков и более производительная за счет использования родных библиотек криптографии из Yggdrasil и нативного кода. Основана на программе cmd/genkeys из Yggdrasil, изначально предназначенной для генерации более устойчивых к коллизиям ключей шифрования.

Текущая версия — v0.2.1.

За счет нативного кода и отсутствия затрат на запуск Yggdrasil и grep для выборки адресов дает в несколько тысяч раз большую производительность — на майнинг 100 000 000 ключей уходит 27 минут в 8 потоков на AMD Ryzen 1700X.

Исходный код программы доступен под лицензией MIT.

Установка

При установленном компиляторе Go:

go get -u -v github.com/tdemin/syg_go

Также собранные бинарники можно загрузить со страницы релизов или внутрисетевого репозитория. Если вы пользуетесь Arch Linux, вы можете установить программу из AUR одной командой:

yay -S syg_go

Использование

Майнер выполняется в терминале и выводит туда статистику выполнения, а также смайненные ключи.

У майнера несколько конфигурабельных опций командной строки: -threads, которой устанавливается максимальное число потоков (по умолчанию равно количеству потоков вашего процессора), -iter, с помощью которого задается количество итераций, после которого выводится прогресс (по умолчанию каждые 100 000 итераций для тестов производительности, на современных процессорах имеет смысл задавать в 100000000 или выше) и -regex, после которой идет задание целевого регулярного выражения, на соответствие которому проверяется адрес (по умолчанию ::). Смысл регулярного выражения тот же, что и у оригинального SimpleYggGen.

С версии 0.1.1 программа перереализует функции вывода адреса для улучшения производительности относительно кода Yggdrasil, включить использование только оригинального кода из Yggdrasil можно опцией -original. С версии 0.1.3 можно также использовать опцию -highaddr, которая устанавливает режим майнинга т.н. «высоких» адресов (т.е. более устойчивых к коллизиям: чем выше начальные биты адреса, тем более устойчив адрес).

Вывод майнера можно сохранять в файл одновременно с выводом в терминал, как это делается, зависит от используемой вами ОС. Например, в *nix-системах можно воспользоваться следующей командой:

syg_go | tee syg.txt

Ссылки