Introduction
Marzban is a Python-based proxy management panel built on Xray-core. It offers a well-designed REST API alongside its web dashboard, making it suitable for operators who want both manual management and programmatic control over proxy user accounts and server nodes.
What Marzban Does
- Manages proxy users with per-account traffic limits and expiration dates
- Supports Vmess, Vless, Trojan, and Shadowsocks protocols simultaneously
- Generates subscription links compatible with popular client applications
- Provides a fully documented REST API for automation and integration
- Supports multi-server node management from a single control panel
Architecture Overview
Marzban is a Python application using FastAPI for its backend and React for the dashboard. It stores user data and configuration in SQLite or MySQL. The panel manages one or more Xray-core processes, dynamically updating their configuration when users or inbounds are modified. Node communication uses gRPC for efficient multi-server coordination.
Self-Hosting & Configuration
- Deploy with the official install script on Ubuntu 20+ or Debian 11+
- Docker Compose deployment available for containerized environments
- Environment variables in /opt/marzban/.env control database, TLS, and admin credentials
- Supports MySQL/MariaDB as an alternative to the default SQLite backend
- Configure Webhook URLs to receive real-time notifications on user events
Key Features
- Documented OpenAPI/Swagger REST API for full programmatic control
- Telegram bot for user management and usage notifications
- Automatic subscription link generation with QR code support
- Traffic reset scheduling and bandwidth usage analytics
- Multi-admin support with separate permission levels
Comparison with Similar Tools
- 3X-UI — Go-based with broader protocol support; Marzban offers a stronger API-first design and multi-node architecture
- Hiddify Manager — Focuses on simplicity for end users; Marzban provides more granular API control for operators
- V2Board — Commercial panel with payment integration; Marzban is fully open-source without licensing restrictions
- Liberty-Shield — Simplified panel for single-server setups; Marzban scales to multi-node deployments
FAQ
Q: Can I migrate from 3X-UI to Marzban? A: There is no built-in migration tool, but you can export user data via the API and re-create accounts. Protocol configurations need manual reconfiguration.
Q: Does Marzban support clustering? A: Yes, you can connect multiple Xray nodes to a single Marzban panel using the node management feature with gRPC communication.
Q: How do I back up my Marzban data? A: Back up the /opt/marzban directory which includes the database, environment configuration, and Xray certificates.
Q: Is there rate limiting on the API? A: By default no, but you can place Marzban behind a reverse proxy like Nginx with rate limiting rules.