# vodiwalker/vodiwalker_kata architecture

> Architecture diagram of the GitHub repository vodiwalker/vodiwalker_kata, 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/vodiwalker/vodiwalker_kata
- Repository: https://github.com/vodiwalker/vodiwalker_kata

## Overview

VodiWalker is a Python panel for managing VLESS subscriptions and serving proxy traffic. Administrators create and manage client links through the panel or Telegram bot; clients use subscription links or connect through VLESS relay transports, where access, quota, and speed limits are enforced. The product also includes node management, outbound proxy support, and a Telegram proxy engine. The README gives no capability overview, and several large modules are unsampled; uncertain runtime wiring is therefore shown as unverified rather than asserted.

Main entry points: [`main.py`](https://github.com/vodiwalker/vodiwalker_kata/blob/main/main.py) (Panel API), [`relay_vless.py`](https://github.com/vodiwalker/vodiwalker_kata/blob/main/relay_vless.py) (VLESS WebSocket), [`tcp_relay.py`](https://github.com/vodiwalker/vodiwalker_kata/blob/main/tcp_relay.py) (VLESS TCP), [`xhttp_siz10.py`](https://github.com/vodiwalker/vodiwalker_kata/blob/main/xhttp_siz10.py) (XHTTP Relay)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_control["Panel and Control"]
  node_launcher["Web Launcher<br/>[app.py]"]
  node_panel_api["Panel API<br/>[main.py]"]
  node_dashboard_ui["Dashboard UI<br/>[ui_dash.py]"]
  node_login_ui["Login UI<br/>[ui_login.py]"]
  node_portal_ui["Subscription Portal<br/>[ui_portal.py]"]
  node_page_content["Panel Pages<br/>[pages.py]"]
  node_ui_assets["UI Assets<br/>[ui_assets.py]"]
end

subgraph group_subscriptions["Subscription Management"]
  node_bot["Telegram Bot<br/>[telegram_bot.py]"]
  node_link_state[("Link State<br/>[main.py]")]
  node_node_management["Node Management<br/>[nodes.py]"]
end

subgraph group_traffic["Proxy Traffic"]
  node_websocket_relay["VLESS WebSocket<br/>[relay_vless.py]"]
  node_tcp_relay["VLESS TCP<br/>[tcp_relay.py]"]
  node_xhttp_relay["XHTTP Relay<br/>[xhttp_siz10.py]"]
  node_speed_limiter["Speed Limiter<br/>[speed_limit.py]"]
end

subgraph group_integrations["Network Integrations"]
  node_outbound_proxy["Outbound Proxies<br/>[outbound_proxy.py]"]
  node_telegram_proxy["Telegram Proxy<br/>[tg_proxy.py]"]
  node_operators["Operator Utilities<br/>[operators.py]"]
end

node_admin(("Administrator"))
node_client(("Proxy Client"))
node_telegram_user(("Telegram User"))

node_admin -.->|"manages links"| node_panel_api
node_panel_api -.->|"reads and writes"| node_link_state
node_panel_api -.->|"serves interface"| node_dashboard_ui
node_panel_api -.->|"serves interface"| node_login_ui
node_panel_api -.->|"serves portal"| node_portal_ui
node_panel_api -.->|"uses page content"| node_page_content
node_panel_api -.->|"uses assets"| node_ui_assets
node_launcher -->|"loads app"| node_panel_api
node_launcher -->|"attaches mux"| node_telegram_proxy
node_telegram_user -.->|"requests configs"| node_bot
node_bot -->|"creates links"| node_link_state
node_client -.->|"opens tunnel"| node_websocket_relay
node_client -.->|"opens tunnel"| node_tcp_relay
node_client -.->|"opens session"| node_xhttp_relay
node_websocket_relay -->|"throttles traffic"| node_speed_limiter
node_tcp_relay -->|"throttles traffic"| node_speed_limiter
node_xhttp_relay -->|"throttles traffic"| node_speed_limiter
node_websocket_relay -.->|"opens target"| node_outbound_proxy
node_tcp_relay -.->|"opens target"| node_outbound_proxy
node_xhttp_relay -.->|"opens target"| node_outbound_proxy
node_panel_api -.->|"uses node APIs"| node_node_management

click node_launcher "https://github.com/vodiwalker/vodiwalker_kata/blob/main/app.py"
click node_panel_api "https://github.com/vodiwalker/vodiwalker_kata/blob/main/main.py"
click node_dashboard_ui "https://github.com/vodiwalker/vodiwalker_kata/blob/main/ui_dash.py"
click node_login_ui "https://github.com/vodiwalker/vodiwalker_kata/blob/main/ui_login.py"
click node_portal_ui "https://github.com/vodiwalker/vodiwalker_kata/blob/main/ui_portal.py"
click node_page_content "https://github.com/vodiwalker/vodiwalker_kata/blob/main/pages.py"
click node_ui_assets "https://github.com/vodiwalker/vodiwalker_kata/blob/main/ui_assets.py"
click node_bot "https://github.com/vodiwalker/vodiwalker_kata/blob/main/telegram_bot.py"
click node_link_state "https://github.com/vodiwalker/vodiwalker_kata/blob/main/main.py"
click node_node_management "https://github.com/vodiwalker/vodiwalker_kata/blob/main/nodes.py"
click node_websocket_relay "https://github.com/vodiwalker/vodiwalker_kata/blob/main/relay_vless.py"
click node_tcp_relay "https://github.com/vodiwalker/vodiwalker_kata/blob/main/tcp_relay.py"
click node_xhttp_relay "https://github.com/vodiwalker/vodiwalker_kata/blob/main/xhttp_siz10.py"
click node_speed_limiter "https://github.com/vodiwalker/vodiwalker_kata/blob/main/speed_limit.py"
click node_outbound_proxy "https://github.com/vodiwalker/vodiwalker_kata/blob/main/outbound_proxy.py"
click node_telegram_proxy "https://github.com/vodiwalker/vodiwalker_kata/blob/main/tg_proxy.py"
click node_operators "https://github.com/vodiwalker/vodiwalker_kata/blob/main/operators.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_panel_api,node_dashboard_ui,node_login_ui,node_portal_ui,node_page_content,node_ui_assets,node_client,node_telegram_user toneBlue
class node_bot,node_link_state,node_node_management toneAmber
class node_websocket_relay,node_tcp_relay,node_xhttp_relay,node_speed_limiter toneMint
class node_outbound_proxy,node_telegram_proxy,node_operators toneRose
class node_admin toneIndigo
```

## Components

### Panel and Control

- [Web Launcher](https://github.com/vodiwalker/vodiwalker_kata/blob/main/app.py): `app.py`
- [Panel API](https://github.com/vodiwalker/vodiwalker_kata/blob/main/main.py): `main.py`
- [Dashboard UI](https://github.com/vodiwalker/vodiwalker_kata/blob/main/ui_dash.py): `ui_dash.py`
- [Login UI](https://github.com/vodiwalker/vodiwalker_kata/blob/main/ui_login.py): `ui_login.py`
- [Subscription Portal](https://github.com/vodiwalker/vodiwalker_kata/blob/main/ui_portal.py): `ui_portal.py`
- [Panel Pages](https://github.com/vodiwalker/vodiwalker_kata/blob/main/pages.py): `pages.py`
- [UI Assets](https://github.com/vodiwalker/vodiwalker_kata/blob/main/ui_assets.py): `ui_assets.py`

### Subscription Management

- [Telegram Bot](https://github.com/vodiwalker/vodiwalker_kata/blob/main/telegram_bot.py): `telegram_bot.py`
- [Link State](https://github.com/vodiwalker/vodiwalker_kata/blob/main/main.py): `main.py`
- [Node Management](https://github.com/vodiwalker/vodiwalker_kata/blob/main/nodes.py): `nodes.py`

### Proxy Traffic

- [VLESS WebSocket](https://github.com/vodiwalker/vodiwalker_kata/blob/main/relay_vless.py): `relay_vless.py`
- [VLESS TCP](https://github.com/vodiwalker/vodiwalker_kata/blob/main/tcp_relay.py): `tcp_relay.py`
- [XHTTP Relay](https://github.com/vodiwalker/vodiwalker_kata/blob/main/xhttp_siz10.py): `xhttp_siz10.py`
- [Speed Limiter](https://github.com/vodiwalker/vodiwalker_kata/blob/main/speed_limit.py): `speed_limit.py`

### Network Integrations

- [Outbound Proxies](https://github.com/vodiwalker/vodiwalker_kata/blob/main/outbound_proxy.py): `outbound_proxy.py`
- [Telegram Proxy](https://github.com/vodiwalker/vodiwalker_kata/blob/main/tg_proxy.py): `tg_proxy.py`
- [Operator Utilities](https://github.com/vodiwalker/vodiwalker_kata/blob/main/operators.py): `operators.py`

### Other components

- **Administrator**
- **Proxy Client**
- **Telegram User**

## Connections

- Administrator → Panel API: manages links
- Panel API → Link State: reads and writes (evidence: `main.py`)
- Panel API → Dashboard UI: serves interface
- Panel API → Login UI: serves interface
- Panel API → Subscription Portal: serves portal (evidence: `main.py`)
- Panel API → Panel Pages: uses page content (evidence: `main.py`)
- Panel API → UI Assets: uses assets (evidence: `main.py`)
- Web Launcher → Panel API: loads app (evidence: `app.py`)
- Web Launcher → Telegram Proxy: attaches mux (evidence: `app.py`)
- Telegram User → Telegram Bot: requests configs
- Telegram Bot → Link State: creates links (evidence: `telegram_bot.py`)
- Proxy Client → VLESS WebSocket: opens tunnel
- Proxy Client → VLESS TCP: opens tunnel
- Proxy Client → XHTTP Relay: opens session
- VLESS WebSocket → Speed Limiter: throttles traffic (evidence: `relay_vless.py`)
- VLESS TCP → Speed Limiter: throttles traffic (evidence: `tcp_relay.py`)
- XHTTP Relay → Speed Limiter: throttles traffic (evidence: `xhttp_siz10.py`)
- VLESS WebSocket → Outbound Proxies: opens target (evidence: `relay_vless.py`)
- VLESS TCP → Outbound Proxies: opens target (evidence: `tcp_relay.py`)
- XHTTP Relay → Outbound Proxies: opens target (evidence: `xhttp_siz10.py`)
- Panel API → Node Management: uses node APIs (evidence: `main.py`)
