# zyntarvo/evilginx-control-panel architecture

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

- Interactive diagram: https://gitdiagram.com/zyntarvo/evilginx-control-panel
- Repository: https://github.com/zyntarvo/evilginx-control-panel

## Overview

This repository provides an installer and browser control panel for Evilginx, including features for managing phishlets and captured sessions. Because those capabilities can enable credential theft, this overview is limited to a high-level component inventory and does not map deployment or capture workflows. The feature inventory follows the README; the sampled excerpts do not establish most runtime relationships.

Main entry points: [`payload/app.py`](https://github.com/zyntarvo/evilginx-control-panel/blob/main/payload/app.py) (Web panel), [`evilginx_setup.py`](https://github.com/zyntarvo/evilginx-control-panel/blob/main/evilginx_setup.py) (Server installer), [`payload/proxy_engine.py`](https://github.com/zyntarvo/evilginx-control-panel/blob/main/payload/proxy_engine.py) (Proxy manager), [`payload/patches/detect_existing_evilginx.py`](https://github.com/zyntarvo/evilginx-control-panel/blob/main/payload/patches/detect_existing_evilginx.py) (Engine detection)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_setup["Setup"]
  node_installer["Server installer<br/>[evilginx_setup.py]"]
  node_detector["Engine detection"]
  node_hook["429 hook patch"]
end

subgraph group_panel["Control panel"]
  node_panel_app["Web panel<br/>[app.py]"]
  node_panel_ui["Panel interface"]
end

subgraph group_features["Panel features"]
  node_phishlets["Phishlet management<br/>[app.py]"]
  node_sessions["Session views<br/>[app.py]"]
  node_host_ops["Host operations<br/>[app.py]"]
  node_ai["AI assistant<br/>[ai_assistant.py]"]
end

subgraph group_proxy["Proxy management"]
  node_proxy_mgr["Proxy manager<br/>[proxy_engine.py]"]
end

node_operator(("Operator"))
node_engine["Evilginx engine"]
node_proxy_services["Proxy providers"]

node_operator -->|"runs setup"| node_installer
node_operator -->|"uses panel"| node_panel_ui
node_installer -->|"detects existing engine"| node_detector
node_installer -->|"installs panel"| node_panel_app
node_installer -->|"applies optional patch"| node_hook
node_panel_app -->|"provides management"| node_phishlets
node_panel_app -->|"provides views"| node_sessions
node_panel_app -->|"provides controls"| node_host_ops
node_panel_app -->|"integrates assistant"| node_ai
node_panel_app -->|"integrates manager"| node_proxy_mgr
node_proxy_mgr -->|"supports providers"| node_proxy_services
node_panel_app -->|"controls engine"| node_engine

click node_installer "https://github.com/zyntarvo/evilginx-control-panel/blob/main/evilginx_setup.py"
click node_detector "https://github.com/zyntarvo/evilginx-control-panel/blob/main/payload/patches/detect_existing_evilginx.py"
click node_panel_app "https://github.com/zyntarvo/evilginx-control-panel/blob/main/payload/app.py"
click node_panel_ui "https://github.com/zyntarvo/evilginx-control-panel/tree/main/payload/templates"
click node_phishlets "https://github.com/zyntarvo/evilginx-control-panel/blob/main/payload/app.py"
click node_sessions "https://github.com/zyntarvo/evilginx-control-panel/blob/main/payload/app.py"
click node_host_ops "https://github.com/zyntarvo/evilginx-control-panel/blob/main/payload/app.py"
click node_ai "https://github.com/zyntarvo/evilginx-control-panel/blob/main/payload/ai_assistant.py"
click node_proxy_mgr "https://github.com/zyntarvo/evilginx-control-panel/blob/main/payload/proxy_engine.py"
click node_hook "https://github.com/zyntarvo/evilginx-control-panel/blob/main/payload/patches/apply_egx_429_hook.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_installer,node_detector,node_hook toneBlue
class node_panel_app,node_panel_ui toneAmber
class node_phishlets,node_sessions,node_host_ops,node_ai toneMint
class node_proxy_mgr toneRose
class node_operator,node_engine,node_proxy_services toneIndigo
```

## Components

### Setup

- [Server installer](https://github.com/zyntarvo/evilginx-control-panel/blob/main/evilginx_setup.py): `evilginx_setup.py`
- [Engine detection](https://github.com/zyntarvo/evilginx-control-panel/blob/main/payload/patches/detect_existing_evilginx.py): `payload/patches/detect_existing_evilginx.py`
- [429 hook patch](https://github.com/zyntarvo/evilginx-control-panel/blob/main/payload/patches/apply_egx_429_hook.py): `payload/patches/apply_egx_429_hook.py`

### Control panel

- [Web panel](https://github.com/zyntarvo/evilginx-control-panel/blob/main/payload/app.py): `payload/app.py`
- [Panel interface](https://github.com/zyntarvo/evilginx-control-panel/tree/main/payload/templates): `payload/templates`

### Panel features

- [Phishlet management](https://github.com/zyntarvo/evilginx-control-panel/blob/main/payload/app.py): `payload/app.py`
- [Session views](https://github.com/zyntarvo/evilginx-control-panel/blob/main/payload/app.py): `payload/app.py`
- [Host operations](https://github.com/zyntarvo/evilginx-control-panel/blob/main/payload/app.py): `payload/app.py`
- [AI assistant](https://github.com/zyntarvo/evilginx-control-panel/blob/main/payload/ai_assistant.py): `payload/ai_assistant.py`

### Proxy management

- [Proxy manager](https://github.com/zyntarvo/evilginx-control-panel/blob/main/payload/proxy_engine.py): `payload/proxy_engine.py`

### Other components

- **Operator**
- **Evilginx engine**
- **Proxy providers**

## Connections

- Operator → Server installer: runs setup (evidence: `README.md`)
- Operator → Panel interface: uses panel (evidence: `README.md`)
- Server installer → Engine detection: detects existing engine (evidence: `evilginx_setup.py`)
- Server installer → Web panel: installs panel (evidence: `evilginx_setup.py`)
- Server installer → 429 hook patch: applies optional patch (evidence: `README.md`)
- Web panel → Phishlet management: provides management (evidence: `README.md`)
- Web panel → Session views: provides views (evidence: `README.md`)
- Web panel → Host operations: provides controls (evidence: `README.md`)
- Web panel → AI assistant: integrates assistant (evidence: `payload/app.py`)
- Web panel → Proxy manager: integrates manager (evidence: `payload/app.py`)
- Proxy manager → Proxy providers: supports providers (evidence: `README.md`)
- Web panel → Evilginx engine: controls engine (evidence: `README.md`)
