Marzban — это мощный инструмент для настройки прокси-серверов, который позволяет легко управлять серверными настройками, создавая кастомные конфигурации для каждого входящего соединения. В этом руководстве мы рассмотрим, как выполнить быструю установку Marzban, а также как настроить хосты, переменные и случайные значения.
1. Быстрая установка
Для начала, выполните установку Marzban, используя команду:
sudo bash -c "$(curl -sL https://github.com/Gozargah/Marzban-scripts/raw/master/marzban.sh)" @ install
Эта команда загрузит и установит все необходимые компоненты. После установки вы можете остановить вывод логов с помощью комбинации Ctrl + C.
2. Создание учетной записи администратора
После установки необходимо создать учетную запись главного администратора для доступа к панели управления Marzban. Для этого выполните команду:
sudo marzban cli admin create --sudo
Теперь вы можете войти в систему, используя созданную учетную запись.
3. Получение справки по скрипту
Чтобы получить справку по использованию Marzban, просто введите:
sudo marzban --help
4. Настройки хоста
Marzban позволяет создавать различные конфигурации для каждого входящего соединения. В разделе “Настройки хоста” можно отредактировать следующие параметры:
- Адрес: IP-адрес сервера.
- Порт: Порт для входящего соединения.
- SNI: Имя сервера для использования с TLS.
- Хост: Полное доменное имя.
- Security Layer: TLS или None.
- ALPN: HTTP версии (например,
h2
,http/1.1
). - Fingerprint: Дополнительные параметры для улучшения безопасности.
По умолчанию Marzban использует IP-адрес сервера для поля “Адрес”, а другие параметры настраиваются в соответствии с выбранными настройками.
5. Применение переменных
Marzban предоставляет поддержку переменных, чтобы сделать настройки еще более гибкими. Пример переменных:
{SERVER_IP}
: Текущий IP адрес сервера.{USERNAME}
: Имя пользователя.{DATA_USAGE}
: Использованный трафик.{DATA_LEFT}
: Оставшийся трафик.{STATUS_EMOJI}
: Статус пользователя в виде смайлика (например, ✅, ❌).
Пример использования переменной:
📆 Осталось дней: {DAYS_LEFT} 📊 Использовано трафика: {DATA_USAGE}
Переменные записываются в фигурных скобках {}
, что позволяет вам использовать динамичные данные в ваших конфигурациях.
Получение сертификата с acme.sh
1. Установка необходимого ПО:
sudo apt install -y cron socat curl
2. Установка acme.sh
curl https://get.acme.sh | sh -s email=EMAIL
*EMAIL
— ваш email (можно указать любой).
3. Создание директории для сертификатов
sudo mkdir -p /var/lib/marzban/ssl/
4. Получение сертификатов
~/.acme.sh/acme.sh --set-default-ca --server letsencrypt --issue --standalone -d DOMAIN --key-file /var/lib/marzban/ssl/key.pem --fullchain-file /var/lib/marzban/ssl/fullchain.pem
*Замените DOMAIN
на ваш домен или субдомен.
Подключение SSL
Если включить SSL в Marzban, панель управления и ссылка на подписку будут доступны через https.
SSL с помощью Uvicorn
Marzban запускается по умолчанию с помощьюUvicorn, он же позволяет вам определять файлы сертификатов SSL.
1. Открываем файл настроек
sudo nano /opt/marzban/.env
2. Устанавливаем новые значения
UVICORN_PORT = 8000 UVICORN_PORT = 443 # UVICORN_SSL_CERTFILE = "/var/lib/marzban/certs/example.com/fullchain.pem" # UVICORN_SSL_KEYFILE = "/var/lib/marzban/certs/example.com/key.pem" UVICORN_SSL_CERTFILE = "/var/lib/marzban/ssl/fullchain.pem" UVICORN_SSL_KEYFILE = "/var/lib/marzban/ssl/key.pem" # XRAY_SUBSCRIPTION_URL_PREFIX = "https://example.com" XRAY_SUBSCRIPTION_URL_PREFIX = https://DOMAIN
3. Сохраняем внесенные изменения
sudo marzban restart
4. Вход в Админ панель:
https://DOMAIN/dashboard
Создания способа подключения VLESS TCP Reality:
1. Переходим в Админ панель
https://DOMAIN/dashboard
2. Основные настройки
Стандартный конфиг:
{ "log": { "loglevel": "warning" }, "routing": { "rules": [ { "ip": [ "geoip:private" ], "outboundTag": "BLOCK", "type": "field" } ] }, "inbounds": [ { "tag": "Shadowsocks TCP", "listen": "0.0.0.0", "port": 1080, "protocol": "shadowsocks", "settings": { "clients": [], "network": "tcp,udp" } } ], "outbounds": [ { "protocol": "freedom", "tag": "DIRECT" }, { "protocol": "blackhole", "tag": "BLOCK" } ] }
Измененный конфиг:
{
"log": {
"loglevel": "warning"
},
"routing": {
"rules": [
{
"ip": [
"geoip:private"
],
"outboundTag": "BLOCK",
"type": "field"
}
]
},
"inbounds": [
{
"tag": "VLESS TCP REALITY",
"listen": "0.0.0.0",
"port": 2040,
"protocol": "vless",
"settings": {
"clients": [],
"decryption": "none"
},
"streamSettings": {
"network": "tcp",
"tcpSettings": {},
"security": "reality",
"realitySettings": {
"show": false,
"dest": "DOMAIN:443",
"xver": 0,
"serverNames": ["DOMAIN"],
"privateKey": "GGa-gNpyvBrLHg40fM65He68KmWoPfrUD2YCUd2FcSs",
"shortIds": ["138b3f22dd57bd09"]
}
},
"sniffing": {
"enabled": true,
"destOverride": [
"http",
"tls",
"quic"
]
}
},
{
"tag": "Shadowsocks TCP",
"listen": "0.0.0.0",
"port": 1080,
"protocol": "shadowsocks",
"settings": {
"clients": [],
"network": "tcp,udp"
}
}
],
"outbounds": [
{
"protocol": "freedom",
"tag": "DIRECT"
},
{
"protocol": "blackhole",
"tag": "BLOCK"
}
]
}
*нужно сгенерировать и заменить ShortID:
openssl rand -hex 8
и закрытый/открытый ключ
docker exec marzban-marzban-1 xray x25519
Сохранить -> Перезагрузить ядро.
Расшифровка параметров
Более детальная настройка
Для использования VLESS, Вы можете заказать у нас услугу виртуальный сервер в России или Нидерландах.
Помогаем в настройке и поддержке данного программного обеспечения на наших услугах!
Обратите внимание, что данный продукт предназначен исключительно для научных, академических и исследовательских целей.
Использование данного инструмента должно осуществляться в строгом соответствии с применимым законодательством и регуляторными требованиями вашей юрисдикции.
Пользователи должны осознавать, что в некоторых странах и регионах применение и использование некоторых технологий может быть ограничено, регулируемо или категорически запрещено. Вся ответственность за соблюдение этих норм и возможные последствия использования продукта полностью ложится на пользователя.
Мы настоятельно рекомендуем вам перед использованием продукта провести тщательный анализ регуляторных требований вашей юрисдикции связанные с использованием данного продукта вне академической сферы.
Спасибо за внимание к данному предупреждению.
Ваше понимание и соблюдение этих рекомендаций имеет решающее значение для законного и безопасного использования продукта.