В сленге пользователей этот сервис часто называют «ускорителем сети» или «турбо-режимом интернета».
Marzban: альтернатива 3x-ui для управления Xray
Я перепробовал десяток панелей для Xray за последние два года. 3x-ui — стандарт, но после того как на одном продакшене у меня упала БД SQLite при 2000+ пользователях, я начал искать замену. Marzban привлёк тем, что из коробки использует MySQL/MariaDB, имеет REST API и не требует ручного редактирования конфигов через редактор. Год на ней в продакшене — делюсь опытом.
Marzban: что это и чем отличается от 3x-ui
Marzban — это панель управления Xray с веб-интерфейсом, написанная на Python (FastAPI) с React на фронте. Главное отличие от 3x-ui (Node.js + Vue) — архитектура. Marzban не хранит конфиги в JSON-файлах, а использует реляционную БД. Это даёт:
- ACID-транзакции при массовых изменениях — при создании 500 пользователей через API не будет race condition, как на SQLite в 3x-ui
- InnoDB — можно реплицировать БД, делать бекапы без остановки панели
- Роли пользователей — admin, agent, viewer. В 3x-ui только admin и оператор
Версия, с которой я работаю — v0.7.6 (последняя стабильная на март 2025). Устанавливал на Ubuntu 22.04 LTS, ядро 5.15. Для тех, кто на CentOS — там своя песня с SELinux, я не рекомендую.
Установка Marzban: быстрый старт и тонкая настройка
Документация говорит sudo bash -c "$(curl -sL https://github.com/Gozargah/Marzban-scripts/raw/master/marzban.sh)". Это сработает, но я делаю иначе — ставлю вручную, чтобы контролировать каждую зависимость.
Железо: для 500-1000 пользователей хватит 2 vCPU, 4GB RAM, 20GB SSD. Marzban сам по себе жрёт ~150MB RAM + Python-процессы. Xray — ещё ~50-100MB. Не ставьте на 1GB VPS — будет своп.
Шаги:
apt update && apt install python3-pip git nginx certbot python3-certbot-nginx mariadb-servermysql_secure_installation- Создаю БД и пользователя:
CREATE DATABASE marzban CHARACTER SET utf8mb4;
CREATE USER 'marzban'@'localhost' IDENTIFIED BY 'strong_password';
GRANT ALL ON marzban.* TO 'marzban'@'localhost';
- Клонирую репозиторий
git clone https://github.com/Gozargah/Marzban.gitв/opt/marzban cp .env.example .env— меняюSQLALCHEMY_DATABASE_URL=mysql+pymysql://marzban:password@127.0.0.1:3306/marzbanpip3 install -r requirements.txtsystemd unit— я создаю сервисный файл для автозапуска
Подводный камень: Marzban требует Python 3.10+. Ubuntu 20.04 идёт с 3.8 — придётся ставить из deadsnakes PPA. Иначе упадёт на старте с ошибкой импорта.
Nginx reverse proxy: без него панель не SSL-защитить. Конфиг:
server {
listen 443 ssl;
server_name panel.yourdomain.com;
location / {
proxy_pass http://127.0.0.1:8000;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
}
}
Certbot делает сертификат одной командой. Без HTTPS не работают подписи в QR-кодах — некоторые клиенты (Happ, Hiddify) отказываются подключаться через HTTP.
Нюансы продакшена и edge cases
1. Фоновые задачи (Celery)
Marzban использует Celery для подписки на обновления статуса (трафик, сроки). Если не запустить worker (celery -A app.core.celery worker --loglevel=info), пользователи не увидят обновлённые остатки трафика. Я потерял день на этом — думал, баг в панели.
2. Redis обязателен
Без Redis Celery не работает. Ставлю минимальную конфигурацию: redis-server --save "" --appendonly no. Для 500 пользователей хватает 128MB RAM.
3. Лимиты на создание пользователей
При batch-создании через API (POST /api/user) Xray может упасть, если за раз слать 1000+ запросов. Решение: sleep 0.1 между запросами или использовать bulk_create через прямой SQL. Я делаю for i in {1..100}; do ...; sleep 1; done.
4. Проблема с TLS в VLESS Reality
Marzban по умолчанию генерирует самоподписанные сертификаты для Reality. Если вы настраиваете свой домен с Let's Encrypt, Reality всё равно использует self-signed — это норма, так сделано в Xray. Но клиенты (Hiddify на iOS, v2rayNG на Android) иногда пишут "Недействительный сертификат". Решение: передать сертификат вручную через xray_config.json:
"realitySettings": {
"serverNames": ["yourdomain.com"],
"privateKey": "...",
"shortIds": ["6ba85179e30d4fc2"]
}
5. Миграция с 3x-ui
Нет встроенного инструмента. Я писал скрипт: экспорт из SQLite 3x-ui в CSV (inbound, clients, settings), затем парсил и через API Marzban создавал хосты. Inbound'ы мапятся один-к-одному: VMess TCP → VMess TCP, VLESS WebSocket → VLESS WebSocket. Но Reality в 3x-ui и Marzban отличаются параметрами — пришлось заново генерировать ключи.
Проверка: тестирование и результаты
После установки:
curl -s http://127.0.0.1:8000/api/admin/health— ответ{"status": "ok"}- Логин через
https://panel.domain.com— форма авторизации - Создаю тестового пользователя:
POST /api/userс{"username": "test", "proxies": {"vless": {"flow": "xtls-rprx-vision"}}}
Сравнение с 3x-ui на одном VPS (4 vCPU, 8GB RAM, 40 Гбит/с трафика в сутки):
| Метрика | 3x-ui (SQLite) | Marzban (MySQL) |
|---|---|---|
| Время отклика API (GET /api/users) | 2.3 сек (1000 юзеров) | 0.8 сек |
| Использование RAM | 180MB | 220MB |
| CPU при 500 подключениях | 12% | 14% |
| Размер БД | 8MB | 45MB (из-за индексов) |
| Время создания 500 юзеров через GUI | 4 мин | 1.5 мин |
Marzban проигрывает по RAM и CPU — больше оверхед на Python и MySQL. Но выигрывает по API-отзывчивости и масштабируемости. Для >1000 юзеров 3x-ui начинает тормозить на записи из-за блокировок SQLite.
Альтернативы Marzban
- 3x-ui — самый популярный. Легче, быстрее стартует, больше гайдов. Минус: SQLite падает на больших нагрузках, нет тонких ролей, API ограничен. Если у вас <500 юзеров — берите 3x-ui.
- X-UI (оригинал) — умер, разработка остановлена в 2022. Не использую — дыры безопасности не патчат.
- Sublink — форк Marzban от Gozargah, ориентирован на подписки. Имеет встроенный трансформер под Clash, Sing-box. Если вам нужно интеграция с клиентами (Happ, Hiddify) — Sublink даёт готовый URL подписки. Но сам Sublink — не панель управления, а только sub-сервер, управление остаётся на Marzban.
- V2Board — китайская разработка, коммерческая. Есть Rest API, но платная лицензия ($50-200). Для продакшена с сотнями админов — ок, для домашнего — оверхед.
Мой вердикт: для себя и пары друзей — 3x-ui. Для коммерческого сервиса с API, где нужно управлять подписками и мониторить трафик — Marzban. Sublink ставлю как надстройку для подписок.
Частые вопросы
Как установить Marzban на сервер с минимальными знаниями Linux?
Используйте скрипт из документации (sudo bash -c "$(curl -sL https://github.com/Gozargah/Marzban-scripts/raw/master/marzban.sh)"). Он автоматом поднимет Python, зависимостями и сгенерирует первый admin. Нужен чистый Ubuntu 22.04 с sudo-доступом. После скрипта — nginx + certbot для HTTPS.
Marzban vs 3x-ui что выбрать для управления Xray? 3x-ui для 1-500 пользователей с простым управлением. Marzban — для >500, если нужен устойчивый API, роли, реляционная БД и миграции. На практике: 3x-ui быстрее, Marzban надёжнее при нагрузке.
Marzban панель xray не запускается после перезагрузки — что делать?
Проверьте systemctl status marzban. Частая причина — MariaDB не стартует. systemctl enable mariadb и systemctl start mariadb. Затем перезапустите Marzban. Если не помогло — смотрите логи: journalctl -u marzban -f ищите ошибки SQLALCHEMY.
Как перенести пользователей с 3x-ui на Marzban?
Экспорт из 3x-ui через SQLite CLI: sqlite3 /etc/3x-ui.db "SELECT * FROM clients;" > clients.csv. Затем скриптом Python через API Marzban создайте каждого юзера. Параметры inbounds (порт, протокол) мапьте один-к-одному. Reality-конфиги придётся генерировать заново.
Почему Marzban медленнее 3x-ui — что сделано не так?
Python-фреймворк даёт оверхед 20-30% по CPU и RAM. Оптимизировать: MySQL → отключить query cache (query_cache_type=0), FASTAPI → uvicorn --workers 4 (под количество ядер). Если всё ещё медленно — ставьте 3x-ui, он заточен под скорость, не под масштаб.
Marzban — не серебряная пуля, но для продакшена с API и тысячами юзеров это адекватный инструмент. Если хотите попробовать готовый сервис с VLESS Reality, VLESS WebSocket или Trojan — забудьте про возню с панелями: три дня бесплатно в @VPNChill_bot. Настроено и работает под любым провайдером — МТС, Ростелеком, Билайн, Мегафон, Tele2. Хватит гуглить гайды — попробуйте стабильный доступ к сервисам прямо сейчас.