# praneethk19/ddos-scripts architecture

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

- Interactive diagram: https://gitdiagram.com/praneethk19/ddos-scripts
- Repository: https://github.com/praneethk19/ddos-scripts

## Overview

This repository is a collection of standalone Layer-4 and Layer-7 denial-of-service scripts, rather than one coordinated service. The documented workflow is to select and run a script for a permitted test; the scripts are separate implementations, not a shared pipeline. PyLoris is the clearest internal subsystem: its GUI, command-line, and scripting entry points configure a shared runtime, which manages connections and can use SOCKS proxies. The README documents the layer split; other script internals were not sampled, so their individual call flows are not inferred.

Main entry points: [`Layer-7/Pyloris/libloris.py`](https://github.com/praneethk19/ddos-scripts/blob/master/Layer-7/Pyloris/libloris.py) (Connection runtime), [`Layer-4`](https://github.com/praneethk19/ddos-scripts/tree/master/Layer-4) (Transport scripts), [`Layer-7`](https://github.com/praneethk19/ddos-scripts/tree/master/Layer-7) (Application scripts), [`Layer-7/Pyloris/pyloris.py`](https://github.com/praneethk19/ddos-scripts/blob/master/Layer-7/Pyloris/pyloris.py) (PyLoris GUI)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_l4["Layer 4 tools"]
  node_l4scripts["Transport scripts"]
  node_chargen["CHARGEN script<br/>[chargen.c]"]
  node_dnsamp["DNS-AMP script<br/>[dns-amp.c]"]
  node_ntppython["NTP Python<br/>[ntp-py.py]"]
  node_snmpc["SNMP C<br/>[snmp-c.c]"]
  node_snmppy["SNMP Python<br/>[snmp-py.py]"]
  node_spoofudp["Spoofed UDP<br/>[sudp.c]"]
  node_tcpessyn["TCP ESSYN<br/>[tcp.c]"]
end

subgraph group_l7["Layer 7 tools"]
  node_l7scripts["Application scripts"]
  node_goldeneye["GoldenEye<br/>[goldeneye.py]"]
  node_arme["ARME Apache<br/>[arme.c]"]
  node_ghp["GET HEAD POST<br/>[ghp.c]"]
  node_hulk["Hulk<br/>[hulk.py]"]
  node_rudy["R.U.D.Y.<br/>[rudy.c]"]
  node_slowloris["Slow Loris<br/>[slowloris.c]"]
end

subgraph group_pyloris["PyLoris runtime"]
  node_pylorisgui["PyLoris GUI<br/>[pyloris.py]"]
  node_pyloriscli["PyLoris CLI<br/>[httploris.py]"]
  node_script_examples["Script examples"]
  node_loris["Connection runtime<br/>[libloris.py]"]
  node_socks["SOCKS support<br/>[socks.py]"]
end

node_operator(("Authorized tester"))
node_external_target(("Test target"))
node_proxy(("SOCKS proxy"))

node_operator -->|"selects and runs"| node_l4scripts
node_operator -->|"selects and runs"| node_l7scripts
node_operator -->|"configures and runs"| node_pylorisgui
node_operator -->|"configures and runs"| node_pyloriscli
node_operator -->|"runs example"| node_script_examples
node_pylorisgui -->|"starts runtime"| node_loris
node_pyloriscli -->|"starts runtime"| node_loris
node_script_examples -->|"uses runtime"| node_loris
node_loris -->|"uses proxy sockets"| node_socks
node_l4scripts -->|"targets at Layer 4"| node_external_target
node_l7scripts -->|"targets at Layer 7"| node_external_target
node_loris -->|"connects to host"| node_external_target
node_socks -.->|"connects optionally"| node_proxy

click node_l4scripts "https://github.com/praneethk19/ddos-scripts/tree/master/Layer-4"
click node_chargen "https://github.com/praneethk19/ddos-scripts/blob/master/Layer-4/CHARGEN/chargen.c"
click node_dnsamp "https://github.com/praneethk19/ddos-scripts/blob/master/Layer-4/DNS-AMP/dns-amp.c"
click node_ntppython "https://github.com/praneethk19/ddos-scripts/blob/master/Layer-4/NTP-Py/ntp-py.py"
click node_snmpc "https://github.com/praneethk19/ddos-scripts/blob/master/Layer-4/SNMP-C/snmp-c.c"
click node_snmppy "https://github.com/praneethk19/ddos-scripts/blob/master/Layer-4/SNMP-PY/snmp-py.py"
click node_spoofudp "https://github.com/praneethk19/ddos-scripts/blob/master/Layer-4/Spoofed-UDP/sudp.c"
click node_tcpessyn "https://github.com/praneethk19/ddos-scripts/blob/master/Layer-4/TCP-Advanced-ESSYN/tcp.c"
click node_l7scripts "https://github.com/praneethk19/ddos-scripts/tree/master/Layer-7"
click node_goldeneye "https://github.com/praneethk19/ddos-scripts/blob/master/Layer-7/007-GoldenEye/goldeneye.py"
click node_arme "https://github.com/praneethk19/ddos-scripts/blob/master/Layer-7/ARME-Apache/arme.c"
click node_ghp "https://github.com/praneethk19/ddos-scripts/blob/master/Layer-7/GHP-Get_Head_Post/ghp.c"
click node_hulk "https://github.com/praneethk19/ddos-scripts/blob/master/Layer-7/Hulk/hulk.py"
click node_rudy "https://github.com/praneethk19/ddos-scripts/blob/master/Layer-7/R.U.D.Y/rudy.c"
click node_slowloris "https://github.com/praneethk19/ddos-scripts/blob/master/Layer-7/SlowLoris/slowloris.c"
click node_pylorisgui "https://github.com/praneethk19/ddos-scripts/blob/master/Layer-7/Pyloris/pyloris.py"
click node_pyloriscli "https://github.com/praneethk19/ddos-scripts/blob/master/Layer-7/Pyloris/httploris.py"
click node_script_examples "https://github.com/praneethk19/ddos-scripts/blob/master/Layer-7/Pyloris/scriptloris_http.py"
click node_loris "https://github.com/praneethk19/ddos-scripts/blob/master/Layer-7/Pyloris/libloris.py"
click node_socks "https://github.com/praneethk19/ddos-scripts/blob/master/Layer-7/Pyloris/socks.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_l4scripts,node_chargen,node_dnsamp,node_ntppython,node_snmpc,node_snmppy,node_spoofudp,node_tcpessyn toneBlue
class node_l7scripts,node_goldeneye,node_arme,node_ghp,node_hulk,node_rudy,node_slowloris toneAmber
class node_pylorisgui,node_pyloriscli,node_script_examples,node_loris,node_socks toneMint
class node_operator,node_external_target,node_proxy toneIndigo
```

## Components

### Layer 4 tools

- [Transport scripts](https://github.com/praneethk19/ddos-scripts/tree/master/Layer-4): `Layer-4`
- [CHARGEN script](https://github.com/praneethk19/ddos-scripts/blob/master/Layer-4/CHARGEN/chargen.c): `Layer-4/CHARGEN/chargen.c`
- [DNS-AMP script](https://github.com/praneethk19/ddos-scripts/blob/master/Layer-4/DNS-AMP/dns-amp.c): `Layer-4/DNS-AMP/dns-amp.c`
- [NTP Python](https://github.com/praneethk19/ddos-scripts/blob/master/Layer-4/NTP-Py/ntp-py.py): `Layer-4/NTP-Py/ntp-py.py`
- [SNMP C](https://github.com/praneethk19/ddos-scripts/blob/master/Layer-4/SNMP-C/snmp-c.c): `Layer-4/SNMP-C/snmp-c.c`
- [SNMP Python](https://github.com/praneethk19/ddos-scripts/blob/master/Layer-4/SNMP-PY/snmp-py.py): `Layer-4/SNMP-PY/snmp-py.py`
- [Spoofed UDP](https://github.com/praneethk19/ddos-scripts/blob/master/Layer-4/Spoofed-UDP/sudp.c): `Layer-4/Spoofed-UDP/sudp.c`
- [TCP ESSYN](https://github.com/praneethk19/ddos-scripts/blob/master/Layer-4/TCP-Advanced-ESSYN/tcp.c): `Layer-4/TCP-Advanced-ESSYN/tcp.c`

### Layer 7 tools

- [Application scripts](https://github.com/praneethk19/ddos-scripts/tree/master/Layer-7): `Layer-7`
- [GoldenEye](https://github.com/praneethk19/ddos-scripts/blob/master/Layer-7/007-GoldenEye/goldeneye.py): `Layer-7/007-GoldenEye/goldeneye.py`
- [ARME Apache](https://github.com/praneethk19/ddos-scripts/blob/master/Layer-7/ARME-Apache/arme.c): `Layer-7/ARME-Apache/arme.c`
- [GET HEAD POST](https://github.com/praneethk19/ddos-scripts/blob/master/Layer-7/GHP-Get_Head_Post/ghp.c): `Layer-7/GHP-Get_Head_Post/ghp.c`
- [Hulk](https://github.com/praneethk19/ddos-scripts/blob/master/Layer-7/Hulk/hulk.py): `Layer-7/Hulk/hulk.py`
- [R.U.D.Y.](https://github.com/praneethk19/ddos-scripts/blob/master/Layer-7/R.U.D.Y/rudy.c): `Layer-7/R.U.D.Y/rudy.c`
- [Slow Loris](https://github.com/praneethk19/ddos-scripts/blob/master/Layer-7/SlowLoris/slowloris.c): `Layer-7/SlowLoris/slowloris.c`

### PyLoris runtime

- [PyLoris GUI](https://github.com/praneethk19/ddos-scripts/blob/master/Layer-7/Pyloris/pyloris.py): `Layer-7/Pyloris/pyloris.py`
- [PyLoris CLI](https://github.com/praneethk19/ddos-scripts/blob/master/Layer-7/Pyloris/httploris.py): `Layer-7/Pyloris/httploris.py`
- [Script examples](https://github.com/praneethk19/ddos-scripts/blob/master/Layer-7/Pyloris/scriptloris_http.py): `Layer-7/Pyloris/scriptloris_http.py`
- [Connection runtime](https://github.com/praneethk19/ddos-scripts/blob/master/Layer-7/Pyloris/libloris.py): `Layer-7/Pyloris/libloris.py`
- [SOCKS support](https://github.com/praneethk19/ddos-scripts/blob/master/Layer-7/Pyloris/socks.py): `Layer-7/Pyloris/socks.py`

### Other components

- **Authorized tester**
- **Test target**
- **SOCKS proxy**

## Connections

- Authorized tester → Transport scripts: selects and runs (evidence: `README.md`)
- Authorized tester → Application scripts: selects and runs (evidence: `README.md`)
- Authorized tester → PyLoris GUI: configures and runs (evidence: `Layer-7/Pyloris/pyloris.py`)
- Authorized tester → PyLoris CLI: configures and runs (evidence: `Layer-7/Pyloris/httploris.py`)
- Authorized tester → Script examples: runs example (evidence: `Layer-7/Pyloris/scriptloris_http.py`)
- PyLoris GUI → Connection runtime: starts runtime (evidence: `Layer-7/Pyloris/pyloris.py`)
- PyLoris CLI → Connection runtime: starts runtime (evidence: `Layer-7/Pyloris/httploris.py`)
- Script examples → Connection runtime: uses runtime (evidence: `Layer-7/Pyloris/scriptloris_http.py`)
- Connection runtime → SOCKS support: uses proxy sockets (evidence: `Layer-7/Pyloris/libloris.py`)
- Transport scripts → Test target: targets at Layer 4 (evidence: `README.md`)
- Application scripts → Test target: targets at Layer 7 (evidence: `README.md`)
- Connection runtime → Test target: connects to host (evidence: `Layer-7/Pyloris/libloris.py`)
- SOCKS support → SOCKS proxy: connects optionally (evidence: `Layer-7/Pyloris/socks.py`)
