ShadowClone允许你将长时间运行的任务动态分布到数千个无服务器函数中,并在几秒钟内获得结果,而原本可能需要数小时才能完成。
你可以充分利用云提供商提供的免费层,并通过影分身之术(火影忍者风格)来增强你普通的CLI工具!
请访问 wiki 获取安装和初始配置说明
⚡ 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运行工具的概念。
| 特性 | Axiom/Fleex | ShadowClone |
|---|---|---|
| 实例数量 | 10-100s* | 1000s |
| 成本 | 按实例/分钟计费 | 基本免费** |
| 启动时间 | 4-5分钟 | 2-3秒 |
| 最大执行时间 | 无限制 | 15分钟 |
| 空闲成本 | $++ | 免费 |
| 按需可扩展性 | 否 | ∞ |
*大多数云提供商默认不允许启动太多实例,因此你最多只能拥有大约10-15个实例。你需要向支持请求增加此数量。
** AWS和Azure每月免费提供100万次调用。Google每月免费提供200万次调用。只有超过这些限制时才会收费
使用43MB文件进行DNS暴力破解 - 34秒
在1分钟内对94K子域名运行httpx
| 云提供商 | 免费配额 | 链接 |
|---|---|---|
| Google Functions | 每月200万次调用,400,000 GB-秒 | Google Cloud Free Program |
| AWS Lambda | 每月100万次调用,高达320万秒的计算时间 | Free Cloud Computing Services - AWS Free Tier |
| Azure Functions | 100万次调用 | Microsoft Azure Free Services |
显然,你可以每月进行任意次数的函数调用。上表仅显示免费的调用次数。
如果你喜欢ShadowClone并想表达一些感谢,请将你使用此工具发现的bug发送给我 ;)
或者你可以请我喝杯咖啡 :)
此工具被设计为概念验证实现,其使用仅用于教育目的。未经事先相互同意而攻击目标是非法的。最终用户有责任遵守所有适用的地方、州和联邦法律。开发者不承担任何责任,也不对由本程序引起的任何误用或损害负责。