# goncalopolido/overload architecture

> Architecture diagram of the GitHub repository goncalopolido/overload, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-11-13). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/goncalopolido/overload
- Repository: https://github.com/goncalopolido/overload

## Overview

Overload is an interactive Python network stress-testing tool. The principal workflow is terminal input and validation, attack selection and target preparation, then timed/threaded dispatch to a Layer 2, 4, or 7 method. Its documented methods include direct and proxy HTTP, Slowloris variants, SYN flooding, ARP spoofing, and local-network disconnect. The sampled controller and helpers show dispatch and socket/IP support; individual unsampled method internals are represented from the README. Edges to those methods are grounded in the controller’s dynamic import logic.

Main entry points: [`tools/method.py`](https://github.com/goncalopolido/overload/blob/main/tools/method.py) (Attack Controller), [`tools/addons/ip_tools.py`](https://github.com/goncalopolido/overload/blob/main/tools/addons/ip_tools.py) (IP and LAN Tools), [`overload.py`](https://github.com/goncalopolido/overload/blob/main/overload.py) (Application Entry), [`tools/L7/http-proxy.py`](https://github.com/goncalopolido/overload/blob/main/tools/L7/http-proxy.py) (HTTP Proxy)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_interface["Terminal Interface"]
  node_checks["Input Checks<br/>[checks.py]"]
  node_logo["Terminal Banner<br/>[logo.py]"]
  node_entry["Application Entry<br/>[overload.py]"]
end

subgraph group_control["Attack Control"]
  node_controller["Attack Controller<br/>[method.py]"]
end

subgraph group_layer7["Layer 7 Methods"]
  node_http["HTTP<br/>[http.py]"]
  node_http_proxy["HTTP Proxy<br/>[http-proxy.py]"]
  node_slowloris["Slowloris<br/>[slowloris.py]"]
  node_slowloris_proxy["Slowloris Proxy<br/>[slowloris-proxy.py]"]
end

subgraph group_layer24["Layer 2 and 4 Methods"]
  node_syn["SYN Flood<br/>[syn-flood.py]"]
  node_arp["ARP Spoof<br/>[arp-spoof.py]"]
  node_disconnect["Disconnect<br/>[disconnect.py]"]
end

subgraph group_network["Network Support"]
  node_ip_tools["IP and LAN Tools<br/>[ip_tools.py]"]
  node_sockets["Socket and SOCKS Support<br/>[sockets.py]"]
end

node_user(("Operator"))
node_http_proxy_service{{"ProxyScrape HTTP"}}
node_socks_proxy_service{{"ProxyScrape SOCKS5"}}
node_target(("Target Host"))

node_user -->|"starts"| node_entry
node_entry -->|"displays"| node_logo
node_entry -->|"collects inputs"| node_checks
node_entry -->|"lists LAN hosts"| node_ip_tools
node_entry -->|"configures"| node_controller
node_controller -->|"dispatches"| node_http
node_controller -->|"dispatches"| node_http_proxy
node_controller -->|"dispatches"| node_slowloris
node_controller -->|"dispatches"| node_slowloris_proxy
node_controller -->|"dispatches"| node_syn
node_controller -->|"dispatches"| node_arp
node_controller -->|"dispatches"| node_disconnect
node_controller -->|"resolves targets"| node_ip_tools
node_controller -->|"creates sockets"| node_sockets
node_checks -->|"checks LAN hosts"| node_ip_tools
node_arp -->|"gets host addresses"| node_ip_tools
node_disconnect -->|"gets host addresses"| node_ip_tools
node_syn -->|"parses target"| node_ip_tools
node_sockets -->|"parses target"| node_ip_tools
node_http_proxy -->|"retrieves proxies"| node_http_proxy_service
node_sockets -->|"retrieves proxies"| node_socks_proxy_service
node_http -.->|"sends requests"| node_target
node_http_proxy -->|"sends requests"| node_target
node_slowloris -.->|"holds connections"| node_target
node_slowloris_proxy -.->|"holds connections"| node_target
node_syn -->|"sends SYN packets"| node_target
node_arp -->|"poisons ARP"| node_target
node_disconnect -->|"redirects traffic"| node_target

click node_checks "https://github.com/goncalopolido/overload/blob/main/tools/addons/checks.py"
click node_logo "https://github.com/goncalopolido/overload/blob/main/tools/addons/logo.py"
click node_entry "https://github.com/goncalopolido/overload/blob/main/overload.py"
click node_controller "https://github.com/goncalopolido/overload/blob/main/tools/method.py"
click node_http "https://github.com/goncalopolido/overload/blob/main/tools/L7/http.py"
click node_http_proxy "https://github.com/goncalopolido/overload/blob/main/tools/L7/http-proxy.py"
click node_slowloris "https://github.com/goncalopolido/overload/blob/main/tools/L7/slowloris.py"
click node_slowloris_proxy "https://github.com/goncalopolido/overload/blob/main/tools/L7/slowloris-proxy.py"
click node_syn "https://github.com/goncalopolido/overload/blob/main/tools/L4/syn-flood.py"
click node_arp "https://github.com/goncalopolido/overload/blob/main/tools/L2/arp-spoof.py"
click node_disconnect "https://github.com/goncalopolido/overload/blob/main/tools/L2/disconnect.py"
click node_ip_tools "https://github.com/goncalopolido/overload/blob/main/tools/addons/ip_tools.py"
click node_sockets "https://github.com/goncalopolido/overload/blob/main/tools/addons/sockets.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_checks,node_logo,node_entry toneBlue
class node_controller toneAmber
class node_http,node_http_proxy,node_slowloris,node_slowloris_proxy toneMint
class node_syn,node_arp,node_disconnect toneRose
class node_ip_tools,node_sockets,node_user,node_http_proxy_service,node_socks_proxy_service,node_target toneIndigo
```

## Components

### Terminal Interface

- [Input Checks](https://github.com/goncalopolido/overload/blob/main/tools/addons/checks.py): `tools/addons/checks.py`
- [Terminal Banner](https://github.com/goncalopolido/overload/blob/main/tools/addons/logo.py): `tools/addons/logo.py`
- [Application Entry](https://github.com/goncalopolido/overload/blob/main/overload.py): `overload.py`

### Attack Control

- [Attack Controller](https://github.com/goncalopolido/overload/blob/main/tools/method.py): `tools/method.py`

### Layer 7 Methods

- [HTTP](https://github.com/goncalopolido/overload/blob/main/tools/L7/http.py): `tools/L7/http.py`
- [HTTP Proxy](https://github.com/goncalopolido/overload/blob/main/tools/L7/http-proxy.py): `tools/L7/http-proxy.py`
- [Slowloris](https://github.com/goncalopolido/overload/blob/main/tools/L7/slowloris.py): `tools/L7/slowloris.py`
- [Slowloris Proxy](https://github.com/goncalopolido/overload/blob/main/tools/L7/slowloris-proxy.py): `tools/L7/slowloris-proxy.py`

### Layer 2 and 4 Methods

- [SYN Flood](https://github.com/goncalopolido/overload/blob/main/tools/L4/syn-flood.py): `tools/L4/syn-flood.py`
- [ARP Spoof](https://github.com/goncalopolido/overload/blob/main/tools/L2/arp-spoof.py): `tools/L2/arp-spoof.py`
- [Disconnect](https://github.com/goncalopolido/overload/blob/main/tools/L2/disconnect.py): `tools/L2/disconnect.py`

### Network Support

- [IP and LAN Tools](https://github.com/goncalopolido/overload/blob/main/tools/addons/ip_tools.py): `tools/addons/ip_tools.py`
- [Socket and SOCKS Support](https://github.com/goncalopolido/overload/blob/main/tools/addons/sockets.py): `tools/addons/sockets.py`

### Other components

- **Operator**
- **ProxyScrape HTTP**
- **ProxyScrape SOCKS5**
- **Target Host**

## Connections

- Operator → Application Entry: starts (evidence: `README.md`)
- Application Entry → Terminal Banner: displays (evidence: `overload.py`)
- Application Entry → Input Checks: collects inputs (evidence: `overload.py`)
- Application Entry → IP and LAN Tools: lists LAN hosts (evidence: `overload.py`)
- Application Entry → Attack Controller: configures (evidence: `overload.py`)
- Attack Controller → HTTP: dispatches (evidence: `tools/method.py`)
- Attack Controller → HTTP Proxy: dispatches (evidence: `tools/method.py`)
- Attack Controller → Slowloris: dispatches (evidence: `tools/method.py`)
- Attack Controller → Slowloris Proxy: dispatches (evidence: `tools/method.py`)
- Attack Controller → SYN Flood: dispatches (evidence: `tools/method.py`)
- Attack Controller → ARP Spoof: dispatches (evidence: `tools/method.py`)
- Attack Controller → Disconnect: dispatches (evidence: `tools/method.py`)
- Attack Controller → IP and LAN Tools: resolves targets (evidence: `tools/method.py`)
- Attack Controller → Socket and SOCKS Support: creates sockets (evidence: `tools/method.py`)
- Input Checks → IP and LAN Tools: checks LAN hosts (evidence: `tools/addons/checks.py`)
- ARP Spoof → IP and LAN Tools: gets host addresses (evidence: `tools/L2/arp-spoof.py`)
- Disconnect → IP and LAN Tools: gets host addresses (evidence: `tools/L2/disconnect.py`)
- SYN Flood → IP and LAN Tools: parses target (evidence: `tools/L4/syn-flood.py`)
- Socket and SOCKS Support → IP and LAN Tools: parses target (evidence: `tools/addons/sockets.py`)
- HTTP Proxy → ProxyScrape HTTP: retrieves proxies (evidence: `tools/L7/http-proxy.py`)
- Socket and SOCKS Support → ProxyScrape SOCKS5: retrieves proxies (evidence: `tools/addons/sockets.py`)
- HTTP → Target Host: sends requests (evidence: `README.md`)
- HTTP Proxy → Target Host: sends requests (evidence: `tools/L7/http-proxy.py`)
- Slowloris → Target Host: holds connections (evidence: `README.md`)
- Slowloris Proxy → Target Host: holds connections (evidence: `README.md`)
- SYN Flood → Target Host: sends SYN packets (evidence: `tools/L4/syn-flood.py`)
- ARP Spoof → Target Host: poisons ARP (evidence: `tools/L2/arp-spoof.py`)
- Disconnect → Target Host: redirects traffic (evidence: `tools/L2/disconnect.py`)
