
Фреймворк бессерверного распределения задач, который распараллеливает CLI-инструменты на тысячи облачных функций для быстрой разведки и обработки данных.
ShadowClone позволяет динамически распределять ваши длительные задачи между тысячами бессерверных функций и получать результаты за секунды там, где раньше потребовались бы часы.
Вы можете в полной мере использовать бесплатные уровни, предоставляемые облачными провайдерами, и ускорить свои обычные CLI-инструменты с помощью техники теневого клонирования (в стиле Наруто)!
Пожалуйста, посетите вики для получения инструкций по установке и начальной настройке.
⚡ python shadowclone.py -h
usage: shadowclone.py [-h] -i INPUT [-s SPLITNUM] [-o OUTPUT] -c COMMAND
optional arguments:
-h, --help show this help message and exit
-i INPUT, --input INPUT
-s SPLITNUM, --split SPLITNUM
Number of lines per chunk of file
-o OUTPUT, --output OUTPUT
-c COMMAND, --command COMMAND
command to execute
--no-split NOSPLIT File to be used without splitting
Мы создаём образ контейнера во время начальной настройки и регистрируем его как среду выполнения для нашей функции в AWS/GCP/Azure и т.д. Когда вы запускаете ShadowClone на своём компьютере, экземпляры этого контейнера активируются автоматически и работают только во время выполнения. Количество активируемых экземпляров определяется динамически во время выполнения в зависимости от размера входного файла и коэффициента разделения. Затем входные данные разбиваются на фрагменты и равномерно распределяются между всеми экземплярами для параллельного выполнения. Например, если ваш входной файл содержит 10 000 строк и вы установите коэффициент разделения 100 строк, он будет разделён на 100 фрагментов по 100 строк, и 100 экземпляров будут запущены параллельно!
Этот инструмент был вдохновлён потрясающими проектами Axiom и Fleex и выходит за рамки концепции VPS для запуска инструментов, используя бессерверные функции и контейнеры.
*Большинство облачных провайдеров по умолчанию не разрешают запускать слишком много экземпляров, поэтому вы ограничены примерно 10-15 экземплярами. Для увеличения этого числа необходимо обратиться в службу поддержки.
**AWS и Azure предоставляют 1 миллион вызовов в месяц бесплатно. Google предоставляет 2 миллиона вызовов в месяц бесплатно. Вы будете платить только в случае превышения этих лимитов.
Брутфорс DNS с использованием файла размером 43 МБ — 34 секунды
Запуск httpx на 94K поддоменах за 1 минуту
Очевидно, вы можете совершать любое количество вызовов функций в месяц. В таблице выше показано только количество бесплатных вызовов.
Если вам нравится ShadowClone и вы хотите выразить свою признательность, присылайте мне баги, которые найдёте с помощью этого инструмента ;)
Или вы можете угостить меня кофе :)
Этот инструмент разработан как реализация концепции (proof-of-concept) и предназначен только для образовательных целей. Использование для атак на цели без предварительного взаимного согласия незаконно. Конечный пользователь несёт ответственность за соблюдение всех применимых местных, государственных и федеральных законов. Разработчики не несут никакой ответственности и не отвечают за любое неправильное использование или ущерб, причинённый этой программой.
| Возможности | Axiom/Fleex | ShadowClone |
|---|
| Экземпляры | 10-100s* | 1000s |
| Стоимость | За экземпляр/за минуту | В основном бесплатно** |
| Время запуска | 4-5 минут | 2-3 секунды |
| Максимальное время выполнения | Безлимитно | 15 минут |
| Стоимость простоя | $++ | Бесплатно |
| Масштабирование по требованию | Нет | ∞ |
| Облачный провайдер | Бесплатный лимит | Ссылка |
|---|
| Google Functions | 2 миллиона вызовов, 400 000 ГБ-секунд в месяц | Google Cloud Free Program |
| AWS Lambda | 1 миллион вызовов, до 3,2 миллионов секунд вычислительного времени в месяц | Free Cloud Computing Services - AWS Free Tier |
| Azure Functions | 1 миллион вызовов | Microsoft Azure Free Services |