# g-h-0-s-t/hulk-v3 architecture

> Architecture diagram of the GitHub repository g-h-0-s-t/hulk-v3, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-09-29). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/g-h-0-s-t/hulk-v3
- Repository: https://github.com/g-h-0-s-t/hulk-v3

## Overview

Async Hulk is a distributed HTTPS load-testing/denial-of-service tool. The operator configures a target at the root server and starts bot processes; bots request assignments, send batches of asynchronous HTTP requests, and report status so the server can continue dispatching or stop them. The README also documents persistent operation. This map follows the README and the three sampled Python files; no additional subsystems are evident in the small file tree.

Main entry points: [`hulk-server.py`](https://github.com/g-h-0-s-t/hulk-v3/blob/async/hulk-server.py) (Root server), [`hulk.py`](https://github.com/g-h-0-s-t/hulk-v3/blob/async/hulk.py) (Async request batch), [`hulk-launcher.py`](https://github.com/g-h-0-s-t/hulk-v3/blob/async/hulk-launcher.py) (Bot launcher)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_coordination["Coordination"]
  node_launcher["Bot launcher<br/>[hulk-launcher.py]"]
  node_server["Root server<br/>[hulk-server.py]"]
  node_evaluation["Status evaluation<br/>[hulk-server.py]"]
end

subgraph group_bot["Bot runtime"]
  node_worker["Bot process<br/>[hulk.py]"]
  node_assignment["Target assignment<br/>[hulk.py]"]
end

subgraph group_targeting["Target traffic"]
  node_batch["Async request batch<br/>[hulk.py]"]
  node_request["HTTP request generation<br/>[hulk.py]"]
  node_response["HTTP response status<br/>[hulk.py]"]
end

node_operator(("Operator"))
node_target(("HTTPS target"))

node_operator -->|"sets target"| node_server
node_operator -->|"starts bots"| node_launcher
node_launcher -->|"spawns processes"| node_worker
node_worker -->|"requests assignment"| node_server
node_server -->|"dispatches target"| node_assignment
node_assignment -->|"starts batch"| node_batch
node_batch -->|"creates tasks"| node_request
node_request -->|"sends requests"| node_target
node_target -->|"returns status"| node_response
node_response -->|"gathers results"| node_batch
node_batch -->|"reports statuses"| node_server
node_server -->|"evaluates statuses"| node_evaluation
node_evaluation -->|"selects next action"| node_server
node_server -->|"dispatches target or stop"| node_worker

click node_launcher "https://github.com/g-h-0-s-t/hulk-v3/blob/async/hulk-launcher.py"
click node_server "https://github.com/g-h-0-s-t/hulk-v3/blob/async/hulk-server.py"
click node_worker "https://github.com/g-h-0-s-t/hulk-v3/blob/async/hulk.py"
click node_assignment "https://github.com/g-h-0-s-t/hulk-v3/blob/async/hulk.py"
click node_batch "https://github.com/g-h-0-s-t/hulk-v3/blob/async/hulk.py"
click node_request "https://github.com/g-h-0-s-t/hulk-v3/blob/async/hulk.py"
click node_response "https://github.com/g-h-0-s-t/hulk-v3/blob/async/hulk.py"
click node_evaluation "https://github.com/g-h-0-s-t/hulk-v3/blob/async/hulk-server.py"

classDef toneNeutral fill:#f8fafc,stroke:#334155,stroke-width:1.5px,color:#0f172a
classDef toneBlue fill:#dbeafe,stroke:#2563eb,stroke-width:1.5px,color:#172554
classDef toneAmber fill:#fef3c7,stroke:#d97706,stroke-width:1.5px,color:#78350f
classDef toneMint fill:#dcfce7,stroke:#16a34a,stroke-width:1.5px,color:#14532d
classDef toneRose fill:#ffe4e6,stroke:#e11d48,stroke-width:1.5px,color:#881337
classDef toneIndigo fill:#e0e7ff,stroke:#4f46e5,stroke-width:1.5px,color:#312e81
classDef toneTeal fill:#ccfbf1,stroke:#0f766e,stroke-width:1.5px,color:#134e4a
class node_launcher,node_server,node_evaluation toneBlue
class node_worker,node_assignment toneAmber
class node_batch,node_request,node_response toneMint
class node_operator,node_target toneIndigo
```

## Components

### Coordination

- [Bot launcher](https://github.com/g-h-0-s-t/hulk-v3/blob/async/hulk-launcher.py): `hulk-launcher.py`
- [Root server](https://github.com/g-h-0-s-t/hulk-v3/blob/async/hulk-server.py): `hulk-server.py`
- [Status evaluation](https://github.com/g-h-0-s-t/hulk-v3/blob/async/hulk-server.py): `hulk-server.py`

### Bot runtime

- [Bot process](https://github.com/g-h-0-s-t/hulk-v3/blob/async/hulk.py): `hulk.py`
- [Target assignment](https://github.com/g-h-0-s-t/hulk-v3/blob/async/hulk.py): `hulk.py`

### Target traffic

- [Async request batch](https://github.com/g-h-0-s-t/hulk-v3/blob/async/hulk.py): `hulk.py`
- [HTTP request generation](https://github.com/g-h-0-s-t/hulk-v3/blob/async/hulk.py): `hulk.py`
- [HTTP response status](https://github.com/g-h-0-s-t/hulk-v3/blob/async/hulk.py): `hulk.py`

### Other components

- **Operator**
- **HTTPS target**

## Connections

- Operator → Root server: sets target
- Operator → Bot launcher: starts bots
- Bot launcher → Bot process: spawns processes
- Bot process → Root server: requests assignment
- Root server → Target assignment: dispatches target
- Target assignment → Async request batch: starts batch
- Async request batch → HTTP request generation: creates tasks
- HTTP request generation → HTTPS target: sends requests
- HTTPS target → HTTP response status: returns status
- HTTP response status → Async request batch: gathers results
- Async request batch → Root server: reports statuses
- Root server → Status evaluation: evaluates statuses
- Status evaluation → Root server: selects next action
- Root server → Bot process: dispatches target or stop
