> ## Documentation Index
> Fetch the complete documentation index at: https://docs.myrax.app/llms.txt
> Use this file to discover all available pages before exploring further.

# Marzban

> Manage a Marzban VPN panel from Myrax

<img src="https://mintcdn.com/sosalkini/dxv3YWGIc-AzMEZ_/images/marzban-banner.png?fit=max&auto=format&n=dxv3YWGIc-AzMEZ_&q=85&s=4bc39301f48629fc4c5ad0a2ca46a676" alt="Marzban plugin" width="1280" height="640" data-path="images/marzban-banner.png" />

Manages an existing [Marzban](https://github.com/Gozargah/Marzban) panel
directly from Myrax. Not an iframe — the UI is rendered natively in the panel
and talks to the Marzban API through a runtime proxy.

## Install

```sh theme={null}
myrax plugin install marzban
```

or **Plugins → store → Marzban** in the panel. A **Marzban** tab appears in
the sidebar.

## Connect

Open the tab and enter your Marzban URL and admin credentials. The runtime
logs in, stores the access token **server-side** in the plugin's data
directory — the token never reaches the browser — and refreshes it as needed.
Disconnect from the same screen wipes the session.

## What it does

* **Users** — list, create, edit, delete, reset usage, revoke subscription.
* **Admins** — list, create, delete, toggle a user's admin flag.
* **Nodes** — list, create, edit, reconnect, delete.
* **Hosts & templates** — fully editable.
* **Core** — view and edit the Xray config, restart the core.
* **Overview** — user counts, traffic and core status from the Marzban API.

## How it works

The runtime is a small Node.js HTTP server (`runtime/server.js`) supervised
by the panel:

```text theme={null}
GET  /health       liveness
POST /connect      log into Marzban, persist the session
POST /disconnect   drop the session
*    /api/*        authenticated proxy to the Marzban API
```

The frontend reaches it through `/api/plugins/marzban/proxy/...`, so the
browser only ever talks to the Myrax origin.

Requires Node.js on the server and Myrax >= 0.1.0.
