# jseidl/goldeneye architecture

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

- Interactive diagram: https://gitdiagram.com/jseidl/goldeneye
- Repository: https://github.com/jseidl/goldeneye

## Overview

GoldenEye is a command-line HTTP load-testing tool; its README explicitly describes it as an HTTP DoS test tool, so this map stays at a high level rather than detailing request-generation behavior. The documented workflow is URL and options into the main application, which coordinates concurrent activity and reports counters. The README also documents user-agent lists and a separate fetch-and-extract utility. Source excerpts are partial, so unshown wiring is omitted.

Main entry points: [`goldeneye.py`](https://github.com/jseidl/goldeneye/blob/master/goldeneye.py) (Concurrent workers), [`util/getuas.py`](https://github.com/jseidl/goldeneye/blob/master/util/getuas.py) (List fetcher)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_app["Main application"]
  node_cli["CLI and options<br/>[goldeneye.py]"]
  node_coordinator["Run coordination<br/>[goldeneye.py]"]
  node_workers["Concurrent workers<br/>[goldeneye.py]"]
  node_counters[("Run counters<br/>[goldeneye.py]")]
end

subgraph group_ua["User-agent resources"]
  node_ua_lists["User-agent lists"]
end

subgraph group_utility["List utility"]
  node_ua_tool["List fetcher<br/>[getuas.py]"]
end

node_operator(("Operator"))
node_http_target["HTTP target"]
node_ua_site["User-agent site"]

node_operator -->|"provides URL/options"| node_cli
node_cli -->|"starts run"| node_coordinator
node_coordinator -->|"coordinates"| node_workers
node_workers -->|"HTTP activity"| node_http_target
node_workers -->|"updates"| node_counters
node_operator -->|"supplies URL"| node_ua_tool
node_ua_tool -->|"fetches list"| node_ua_site

click node_cli "https://github.com/jseidl/goldeneye/blob/master/goldeneye.py"
click node_coordinator "https://github.com/jseidl/goldeneye/blob/master/goldeneye.py"
click node_workers "https://github.com/jseidl/goldeneye/blob/master/goldeneye.py"
click node_counters "https://github.com/jseidl/goldeneye/blob/master/goldeneye.py"
click node_ua_lists "https://github.com/jseidl/goldeneye/tree/master/res/lists/useragents"
click node_ua_tool "https://github.com/jseidl/goldeneye/blob/master/util/getuas.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_cli,node_coordinator,node_workers,node_counters,node_ua_site toneBlue
class node_ua_lists toneAmber
class node_ua_tool toneMint
class node_operator,node_http_target toneIndigo
```

## Components

### Main application

- [CLI and options](https://github.com/jseidl/goldeneye/blob/master/goldeneye.py): `goldeneye.py`
- [Run coordination](https://github.com/jseidl/goldeneye/blob/master/goldeneye.py): `goldeneye.py`
- [Concurrent workers](https://github.com/jseidl/goldeneye/blob/master/goldeneye.py): `goldeneye.py`
- [Run counters](https://github.com/jseidl/goldeneye/blob/master/goldeneye.py): `goldeneye.py`

### User-agent resources

- [User-agent lists](https://github.com/jseidl/goldeneye/tree/master/res/lists/useragents): `res/lists/useragents`

### List utility

- [List fetcher](https://github.com/jseidl/goldeneye/blob/master/util/getuas.py): `util/getuas.py`

### Other components

- **Operator**
- **HTTP target**
- **User-agent site**

## Connections

- Operator → CLI and options: provides URL/options (evidence: `README.md`)
- CLI and options → Run coordination: starts run (evidence: `goldeneye.py`)
- Run coordination → Concurrent workers: coordinates (evidence: `goldeneye.py`)
- Concurrent workers → HTTP target: HTTP activity (evidence: `README.md`)
- Concurrent workers → Run counters: updates (evidence: `goldeneye.py`)
- Operator → List fetcher: supplies URL (evidence: `README.md`)
- List fetcher → User-agent site: fetches list (evidence: `util/getuas.py`)
