Установка и настройка Marzban на VPS. Альтернатива 3X-UI для своего VPN
Что такое Marzban и чем отличается от 3X-UI
Marzban это панель управления прокси-сервером с красивым интерфейсом и продвинутыми функциями. Если 3X-UI это "просто и быстро", то Marzban это "гибко и масштабируемо".
Сравнение Marzban и 3X-UI
| Возможность | Marzban | 3X-UI |
|---|---|---|
| Веб-интерфейс | Современный, React | Простой |
| REST API | Полноценный | Базовый |
| Подписки (subscription) | Встроенные, авто-обновление | Ручные |
| Мульти-нодовость | Да (Node-серверы) | Нет |
| Telegram-бот | Встроенный | Через плагин |
| Протоколы | VLESS, VMess, Trojan, ShadowSocks | VLESS, VMess, Trojan, SS, WireGuard |
| Поддержка Reality | Да | Да |
| Шаблоны Inbound | Да | Нет |
| Сложность установки | Средняя | Простая |
| Потребление ресурсов | Выше (Python + React) | Ниже (Go) |
Когда выбрать Marzban: если нужен API, подписки для клиентов, Telegram-бот, несколько серверов (нод), или вы раздаёте VPN множеству пользователей.
Когда выбрать 3X-UI: если нужно быстро поднять VPN для себя и нескольких друзей.
Установка Marzban на VPS
Требования
- Ubuntu 20.04+ или Debian 11+
- Минимум 1 ГБ RAM (лучше 2 ГБ)
- Python 3.8+
Быстрая установка (рекомендуется)
sudo bash -c "$(curl -sL https://github.com/Gozargah/Marzban-scripts/raw/master/marzban.sh)" @ install
Скрипт установит все зависимости, настроит Docker и запустит панель.
После установки:
marzban cli admin create --sudo
Эта команда создаст администратора. Введите логин и пароль.
Доступ к панели
Панель будет доступна по адресу:
http://ваш_ip:8000/dashboard
Установка Marzban через Docker вручную
- Клонируйте репозиторий:
git clone https://github.com/Gozargah/Marzban.git
cd Marzban
- Создайте файл
.env:
cp .env.example .env
nano .env
Основные переменные:
UVICORN_HOST=0.0.0.0
UVICORN_PORT=8000
SUDO_USERNAME=admin
SUDO_PASSWORD=YourSecurePassword123
- Запустите:
docker compose up -d
Настройка Inbound. Протоколы подключений
Inbound в Marzban настраивается через JSON-конфигурацию Xray.
Перейдите в Core Settings
В панели откройте Core Settings (иконка шестерёнки), там находится конфигурация Xray в формате JSON.
VLESS + Reality (рекомендуется)
Добавьте в секцию inbounds:
{
"tag": "VLESS-Reality",
"listen": "0.0.0.0",
"port": 443,
"protocol": "vless",
"settings": {
"clients": [],
"decryption": "none"
},
"streamSettings": {
"network": "tcp",
"security": "reality",
"realitySettings": {
"show": false,
"dest": "dl.google.com:443",
"xver": 0,
"serverNames": ["dl.google.com"],
"privateKey": "",
"shortIds": [""]
}
},
"sniffing": {
"enabled": true,
"destOverride": ["http", "tls", "quic"]
}
}
Нажмите Generate Keys в панели для автоматической генерации
privateKeyиshortIds.
VMess + WebSocket
{
"tag": "VMess-WS",
"listen": "0.0.0.0",
"port": 8080,
"protocol": "vmess",
"settings": {
"clients": []
},
"streamSettings": {
"network": "ws",
"wsSettings": {
"path": "/vmess"
}
}
}
Trojan
{
"tag": "Trojan",
"listen": "0.0.0.0",
"port": 2083,
"protocol": "trojan",
"settings": {
"clients": []
},
"streamSettings": {
"network": "tcp",
"security": "tls",
"tlsSettings": {
"certificates": [
{
"certificateFile": "/var/lib/marzban/certs/fullchain.pem",
"keyFile": "/var/lib/marzban/certs/key.pem"
}
]
}
}
}
Управление пользователями
Создание пользователя
- Перейдите в Users > Create User
- Заполните:
- Username для имени пользователя
- Data Limit для лимита трафика (ГБ)
- Expire Date для срока действия
- Protocols, какие протоколы доступны пользователю
- Нажмите Create
Подписки (Subscription)
Одно из главных преимуществ Marzban это встроенные подписки. Каждый пользователь получает уникальную ссылку подписки:
https://ваш_домен/sub/уникальный_токен
Клиент добавляет эту ссылку в VPN-приложение, и конфигурации обновляются автоматически при любых изменениях на сервере. Не нужно пересылать QR-коды каждый раз.
Настройка Telegram-бота
В Marzban есть встроенный Telegram-бот для управления.
Настройка
Добавьте в .env:
TELEGRAM_API_TOKEN=ваш_токен_от_BotFather
TELEGRAM_ADMIN_ID=ваш_telegram_id
Перезапустите Marzban:
marzban restart
Возможности бота
- Создание и удаление пользователей
- Просмотр статистики трафика
- Управление сроками действия
- Уведомления об истечении подписок
- Генерация QR-кодов и ссылок
Мульти-нодовость. Несколько серверов
Marzban позволяет подключить дополнительные серверы (ноды) к одной панели. Пользователи автоматически получают доступ ко всем нодам.
Установка ноды
На дополнительном сервере:
sudo bash -c "$(curl -sL https://github.com/Gozargah/Marzban-scripts/raw/master/marzban-node.sh)" @ install
Подключение ноды к панели
- В панели Marzban перейдите в Nodes
- Нажмите Add Node
- Укажите IP-адрес ноды и порт
- Скопируйте сертификат и вставьте на ноде
Клиенты для подключения
По ссылке подписки (рекомендуется)
| Платформа | Приложение |
|---|---|
| Windows / macOS / Linux | Happ, Hiddify, NekoRay |
| Android | Happ, Hiddify, v2rayNG |
| iOS | Happ, FoXray, v2box, ShadowRocket |
Добавьте ссылку подписки в приложение, и все конфигурации загрузятся автоматически.
По QR-коду
В панели нажмите на пользователя > иконка QR-кода > отсканируйте в приложении.
REST API
Marzban предоставляет полноценный API для интеграции:
https://ваш_домен:8000/api
Документация API доступна по адресу:
https://ваш_домен:8000/docs
Примеры использования:
# Получить токен
curl -X POST https://ваш_домен:8000/api/admin/token \
-d "username=admin&password=password"
# Список пользователей
curl -H "Authorization: Bearer TOKEN" \
https://ваш_домен:8000/api/users
Обновление Marzban
marzban update
Или через Docker:
cd Marzban
docker compose pull
docker compose down
docker compose up -d
Полезные команды
# Статус Marzban
marzban status
# Логи
marzban logs
# Перезапуск
marzban restart
# Создать администратора
marzban cli admin create --sudo
# Бэкап
marzban cli backup
Решение проблем
| Проблема | Решение |
|---|---|
| Панель не открывается | Проверьте порт 8000 в файрволе: ufw allow 8000 |
| Пользователи не подключаются | Проверьте порты Inbound в файрволе |
| Ошибка сертификата | Обновите SSL: certbot renew |
| Высокое потребление RAM | Уменьшите количество Inbound или увеличьте RAM |
| Нода не подключается | Проверьте сертификат и сетевую связность |
Marzban требует больше ресурсов, чем 3X-UI. Для комфортной работы с 10+ пользователями лучше взять VPS с 2 ГБ RAM.