
수천 개의 클라우드 함수에서 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는 월 100만 회 호출을 무료로 제공합니다. Google은 월 200만 회 호출을 무료로 제공합니다. 이러한 한도를 초과하는 경우에만 요금이 부과됩니다.
43MB 파일을 사용한 DNS 무차별 대입 - 34초
94K 서브도메인에서 httpx 실행 - 1분
당연히 월별 함수 호출 횟수는 제한이 없습니다. 위 표는 무료로 제공되는 호출 횟수만을 보여줍니다.
ShadowClone이 마음에 드시고 감사를 표시하고 싶다면, 이 도구를 사용하여 발견한 버그를 보내주세요 ;)
아니면 커피 한 잔 사주실 수도 있습니다 :)
이 도구는 개념 증명 구현으로 설계되었으며, 사용 목적은 교육 목적으로만 사용됩니다. 사전 상호 동의 없이 대상을 공격하는 용도로 사용하는 것은 불법입니다. 모든 해당 지역, 주, 연방 법률을 준수하는 것은 최종 사용자의 책임입니다. 개발자는 어떠한 책임도 지지 않으며, 이 프로그램의 오용이나 이로 인한 손해에 대해 책임을 지지 않습니다.
| 기능 | Axiom/Fleex | ShadowClone |
|---|
| 인스턴스 수 | 10-100개* | 1000개 |
| 비용 | 인스턴스당/분당 | 대부분 무료** |
| 시작 시간 | 4-5분 | 2-3초 |
| 최대 실행 시간 | 무제한 | 15분 |
| 유휴 비용 | $++ | 무료 |
| 주문형 확장성 | 아니요 | ∞ |
| 클라우드 제공자 | 무료 사용량 | 링크 |
|---|
| 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 |