VLESS Гайд

Опубликовано: 2025-09-13 · Автор: Артём Беляев

В сленге пользователей этот сервис часто называют «ускорителем сети» или «турбо-режимом интернета».

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-файлах, а использует реляционную БД. Это даёт:

Версия, с которой я работаю — 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 — будет своп.

Шаги:

  1. apt update && apt install python3-pip git nginx certbot python3-certbot-nginx mariadb-server
  2. mysql_secure_installation
  3. Создаю БД и пользователя:
CREATE DATABASE marzban CHARACTER SET utf8mb4;
CREATE USER 'marzban'@'localhost' IDENTIFIED BY 'strong_password';
GRANT ALL ON marzban.* TO 'marzban'@'localhost';
  1. Клонирую репозиторий git clone https://github.com/Gozargah/Marzban.git в /opt/marzban
  2. cp .env.example .env — меняю SQLALCHEMY_DATABASE_URL=mysql+pymysql://marzban:password@127.0.0.1:3306/marzban
  3. pip3 install -r requirements.txt
  4. systemd 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 TCPVMess TCP, VLESS WebSocketVLESS WebSocket. Но Reality в 3x-ui и Marzban отличаются параметрами — пришлось заново генерировать ключи.

Проверка: тестирование и результаты

После установки:

Сравнение с 3x-ui на одном VPS (4 vCPU, 8GB RAM, 40 Гбит/с трафика в сутки):

Метрика3x-ui (SQLite)Marzban (MySQL)
Время отклика API (GET /api/users)2.3 сек (1000 юзеров)0.8 сек
Использование RAM180MB220MB
CPU при 500 подключениях12%14%
Размер БД8MB45MB (из-за индексов)
Время создания 500 юзеров через GUI4 мин1.5 мин

Marzban проигрывает по RAM и CPU — больше оверхед на Python и MySQL. Но выигрывает по API-отзывчивости и масштабируемости. Для >1000 юзеров 3x-ui начинает тормозить на записи из-за блокировок SQLite.

Альтернативы Marzban

  1. 3x-ui — самый популярный. Легче, быстрее стартует, больше гайдов. Минус: SQLite падает на больших нагрузках, нет тонких ролей, API ограничен. Если у вас <500 юзеров — берите 3x-ui.
  2. X-UI (оригинал) — умер, разработка остановлена в 2022. Не использую — дыры безопасности не патчат.
  3. Sublink — форк Marzban от Gozargah, ориентирован на подписки. Имеет встроенный трансформер под Clash, Sing-box. Если вам нужно интеграция с клиентами (Happ, Hiddify) — Sublink даёт готовый URL подписки. Но сам Sublink — не панель управления, а только sub-сервер, управление остаётся на Marzban.
  4. 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. Хватит гуглить гайды — попробуйте стабильный доступ к сервисам прямо сейчас.

👉 🎁 3 дня бесплатно — для тебя
Алексей Т.Настраиваю VLESS-серверы 3 года. Пишу о протоколах шифрования понятно для всех.
🎁 3 дня бесплатно — для тебя