Skip to content
This repository has been archived by the owner on Dec 16, 2022. It is now read-only.

Architecture

Seth Art edited this page Jun 16, 2019 · 2 revisions

Under the hood

  • Celery - Celery is used to execute your commands asynchronously
  • Redis - Celery submits tasks to, and pulls tasks from, a local instance of Redis (binds to localhost)
  • Amass/Sublist3r : celerystalk's subdomain command uses amass and Sublist3r to find subdomains
  • Aquatone celerystalk's screenshots command uses aquatone to take screenshots of every url identified using any scanner tool
  • SQLite is used to persist data and manage workspaces

Basic Workflow

  1. celerystalk reads your config file
  2. Celery starts a local worker which spawns 6 worker processes by default (runs 6 concurrent commands)
  3. celerystalk reads the scan files and creates a celery task for each command it will run against each service. These tasks are sent to Redis
  4. The Celery worker pulls the tasks from Redis and executes the commands you specified in your config file
  5. Output is saved to your output directory, but the lots of other good info is saved to the SQLite database locally
Clone this wiki locally