Marzban - создание подписки на другие локации с использованием Marzban Node
Данная инструкция представляет собой упрощенную версию из двух инструкций:
1. https://marzban-docs.sm1ky.com/components/marzban_node/
2. https://github.com/cortez24rus/marz-sub/
Все действия проводились на хостинге AEZA
Работоспособность на других хостингах не гарантируется.
После аренды серверов выделяем главный сервер который будет выступать управляющим сервером.
Сервер должен быть привязан к домену например средствами Cloudflare
Установка
sudo bash -c "$(curl -sL https://github.com/Gozargah/Marzban-scripts/raw/master/marzban.sh)" @ install
После установки создаем администратора панели
Если нужно получить справку по использованию скрипта Marzban, введите команду:
Получение SSL
Получение сертификата с acme.sh
curl https://get.acme.sh | sh -s email=EMAIL
EMAIL — ваш email (можно указать любой).
Создание директории для сертификатов
~/.acme.sh/acme.sh --set-default-ca --server letsencrypt --issue --standalone -d DOMAIN \
--key-file /var/lib/marzban/certs/key.pem \
--fullchain-file /var/lib/marzban/certs/fullchain.pem
Замените DOMAIN на ваш домен или субдомен.
Подключение SSL
SSL с помощью Uvicorn
Marzban запускается по умолчанию с помощьюUvicorn, он же позволяет вам определять файлы сертификатов SSL.
Устанавливаем новые значения (красным старые значения, зеленым новые)
Подключение к панели Marzban
Подключение к панели происходит по адресу https://DOMAIN/dashboard
DOMAIN меняем на ваш домен.
Варианты подключений
В данном варианте рассмотрим VLESS TCP REALITY если вам нужен другой протокол, ознакомиться можно в документации.
По умолчанию в Marzban нам доступен только Shadowsocks,
{
"tag": "SHADOWSOCKS",
"listen": "0.0.0.0",
"port": 2060,
"protocol": "shadowsocks",
"settings": {
"clients": [],
"network": "tcp,udp"
}
}
Переходим в конфигурацию Marzban и меняем данные на VLESS TCP REALITY
{
"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": "tradingview.com:443",
"xver": 0,
"serverNames": ["tradingview.com"],
"privateKey": "CGT_YQt0HWMfX7XcvZhdzChag8401evaHVWs3KaPw0U",
"shortIds": ["", "6ba85179e30d4fc2"]
}
},
"sniffing": {
"enabled": true,
"destOverride": ["http", "tls", "quic"]
}
}
Важно заменить privateKey и shortIds на свои значения"privateKey": "CGT_YQt0HWMfX7XcvZhdzChag8401evaHVWs3KaPw0U",
"shortIds": ["", "6ba85179e30d4fc2"]
для Reality необходимо сгенерировать закрытый и открытый ключ
docker exec marzban-marzban-1 xray x25519
Получаем новые значения и меняем их в конфигурации
Создаем клиента и проверяем его работу.
Узлы Marzban Node
Marzban Node - это приложение на Python, предоставляющее сервис для управления экземпляром ядра Xray. Приложение разработано с учетом требований безопасности и использует взаимную аутентификацию самоподписанными SSL-сертификатами, для связи между панелью и ее клиентами(узлами).
Установка
Обратите внимание, что и Ваша панель и узел должны быть обновлены до последних latest версий
Получение ключа
2. Переходим в меню добавление нового узла
3. Копируем значение сертификата из меню.
Теперь переходим на наш узел. На сервер другой страны который вы арендовали дополнительно.
Настройка узла
sudo apt install socat -y && sudo apt install curl socat -y && sudo apt install git -y
4. Входим в рабочую папку узла
6. Создаем папку, куда поместим наш сертификат
7. Копируем ранее полученный ключ
8. Редактируем файл docker-compose.yml
services:
marzban-node:
image: gozargah/marzban-node:latest
restart: always
network_mode: host
volumes:
- /var/lib/marzban-node:/var/lib/marzban-node
environment:
SSL_CLIENT_CERT_FILE: "/var/lib/marzban-node/ssl_client_cert.pem"
SERVICE_PROTOCOL: rest
Настройка панели
Port - Оставляем по умолчанию, если не изменяли их.
3. Жмем Добавить узел Если Вы не нажали галку добавить узел в качестве нового хоста во все входящие, Вы всегда сможете добавить узел в любой inbound, после ее подключения, просто указав ее адрес (IP или домен/суб-домен)
Если вы внесли изменения в файл docker-compose.yml, перезапустите узлы с помощью следующей команды:
cd ~/Marzban-node
docker compose down --remove-orphans; docker compose up -d
Приведение страницы подписки к красивому виду.
bash <(curl -Ls https://github.com/cortez24rus/marz-sub/raw/main/marz-sub.sh)
Всегда выбираем вариант 1. Когда потребуется ввести ID Telegram, указываем свой Telegram/чат/канал. Панель будет установлена и вы сможете выдавать подписку своим клиентам/друзьям.
Добавляем неограниченное количество стран в подписку.
Пример сервиса https://myvless.su/ в подписку через Marzban включено около 30 стран. Надежный и скоростной хостинг на 36 стран is*Hosting
- У вас есть головной сервер с доменом арендованным на AEZA
- Если вам требуется 10 локаций хостинг AEZA полностью покроет ваши задачи
- Если вам требуется 30+ стран в одну подписку арендуем ноды в других странах через is*Hosting
Продажа подписки через Бота Telegram
Для продажи подписки рекомендуется воспользоваться простым конструктором ботов с возможностью оплаты за Telegram Stars и др.
Более подробно SamBot