Установка с 3x-ui
Пошаговая инструкция для тех, кто ставит подобное впервые.
Просто выполняйте шаги по порядку: копируйте команды целиком и вставляйте в терминал сервера. В итоге получится веб-панель и Telegram-бот, который продаёт VPN-подписки и сам выдаёт ключи в вашей 3x-ui.
Панель и 3x-ui можно поставить на один сервер (проще всего) или на разные.
Подключитесь к серверу
Откройте терминал (на Windows это PowerShell, на Mac — Терминал) и подставьте IP своего сервера:
ssh root@IP_ВАШЕГО_СЕРВЕРАПри вводе пароля символы не отображаются, это нормально. Затем обновите систему:
apt update && apt upgrade -yУстановите 3x-ui (если ещё не стоит)
bash <(curl -Ls https://raw.githubusercontent.com/mhsanaei/3x-ui/master/install.sh)В конце установщик покажет адрес панели, логин и пароль. Не успели записать? Команда x-ui
откроет меню с пунктом «Показать настройки».
Нужна версия 3.0 или новее. Проверить: пункт «Check version» в меню x-ui.
Адрес 3x-ui выглядит примерно так: http://IP:2053/AbCdEf/. Обратите внимание на
секретный путь в конце (/AbCdEf/): он понадобится дальше.
Подготовьте 3x-ui к работе с ботом
- Настройки → Безопасность → API Token: создайте токен и скопируйте его. Целиком он больше не покажется.
- Настройки → Подписка: включите Subscription Service и сохраните. По этой ссылке клиент добавляет VPN в приложение. Если у подписки свой домен или порт, укажите их в полях адреса (URI): бот берёт адрес оттуда.
- Инбаунды → Добавить: настройте хотя бы один протокол (например, VLESS Reality). Тарифы бота привязываются именно к инбаундам: сколько их выбрано у тарифа, столько подключений получит клиент.
Если 3x-ui попросит перезапустить Xray или панель, согласитесь.
Установите Reactus Panel
apt install -y git
git clone https://github.com/valentinvelnesev-alt/vpn-panel vpn-panel
cd vpn-panel
bash install.shОтветы на вопросы установщика:
- С какой VPN-панелью будет работать бот?
2(3x-ui). - Как открывать панель?
1: по домену с HTTPS (рекомендуется) или2: по IP. - Чем обслуживать HTTPS? Enter, то есть Caddy. Если на сервере уже есть Nginx с сайтами, выберите
2, см. Домен и HTTPS. - Логин и пароль администратора: пароль не короче 12 символов. Это вход в Reactus Panel, а не в 3x-ui.
Через 1–2 минуты появится ссылка на панель. Сохраните её целиком, вместе с хвостом.
Порт 443
В режиме с доменом и Caddy панель занимает порты 80 и 443. Если инбаунды 3x-ui на этом же сервере висят на 443, будет конфликт. Перенесите инбаунды на другой порт, выберите режим по IP или вариант с Nginx.
Подключите панель к 3x-ui
Настройки → Подключение к 3x-ui:
- Адрес панели 3x-ui: тот, по которому вы открываете 3x-ui, вместе с секретным путём,
например
https://vpn.example.com:2053/AbCdEf. Окончание/panel…обрежется само. - Токен: API-токен из шага 3.
- Проверять TLS-сертификат: снимите галочку, только если у 3x-ui самоподписанный сертификат
(адрес вида
https://IP:порт).
Нажмите «Проверить подключение», затем «Сохранить».
| Сообщение | Что делать |
|---|---|
| «отклонила токен» | Токен скопирован не целиком или создан не в той 3x-ui: создайте новый |
| «API не найден по этому адресу» | В адресе нет секретного пути или версия 3x-ui ниже 3.0 |
| «не JSON — вероятно, страница входа» | Неверный адрес или токен |
| «Не удалось связаться» | Порт 3x-ui закрыт файрволом или адрес указан неверно |
Подключите Telegram-бота
- Бот → Подключение: вставьте токен от @BotFather.
- Бот → Тарифы: выберите инбаунды 3x-ui, которые получит клиент.
- Бот → Пробный период: отметьте инбаунды для триала, если он нужен.
- Напишите своему боту
/start: он должен ответить.
Проверьте, что всё работает
Оформите в боте пробную подписку, получите ссылку и добавьте её в любое VPN-приложение (v2rayNG, Hiddify, Streisand). В 3x-ui в разделе «Клиенты» должен появиться новый клиент.
Не нашли ответ или заметили ошибку? Напишите в чат Reactus в Telegram.