bolt Valebyte VPS от $4/мес — NVMe, запуск за 60 секунд.

Получить VPS arrow_forward

Telegram-бот для выдачи VLESS-ключей на своём VPS

calendar_month 24 августа 2026 schedule 16 мин. чтения visibility 13 просмотров
person
Valebyte Team
Telegram-бот для выдачи VLESS-ключей на своём VPS
summarize

TL;DR

  • Автоматизируйте выдачу VLESS-ключей на VPS для 100+ пользователей, экономя 3-5 часов/неделю.
  • Снижайте ошибки при ручной генерации ключей и упрощайте управление VPN-доступом.
  • Пользователи получают конфиги мгновенно, а админ управляет ими централизованно.
  • Раздавайте VLESS-ключи семье или команде за пару кликов без ручной настройки.

Telegram-бот для выдачи VLESS-ключей на своём VPS автоматизирует управление доступом к VPN, позволяя раздавать до 100+ конфигов членам семьи или небольшой команде без ручной настройки каждого ключа и экономя до 3-5 часов в неделю на администрировании, а также значительно снижая вероятность ошибок при ручной генерации и передаче данных.

Владение собственным VPN-сервером на VPS открывает широкие возможности для обеспечения приватности и обхода блокировок. Однако, когда речь заходит о предоставлении доступа не только себе, но и нескольким друзьям, родственникам или коллегам, ручное управление каждым ключом VLESS, лимитами трафика и сроками действия становится рутиной. Именно здесь на помощь приходит телеграм бот для выдачи vpn ключей. Он превращает сложный процесс в пару кликов, значительно упрощая администрирование вашего сервера и делая его доступным даже для тех, кто не обладает глубокими техническими знаниями.

Зачем нужен телеграм бот для выдачи VPN ключей на своём VPS?

Основная причина использования бота для управления VPN-ключами — это автоматизация и масштабирование. Представьте, что вам нужно предоставить доступ к VPN десяткам пользователей. Ручная генерация VLESS-ключей, установка лимитов по трафику или времени, а затем индивидуальная отправка каждого конфига занимает колоссальное количество времени. При этом растет риск ошибок и несоответствий. Автоматическая выдача конфигов через Telegram-бота решает эти проблемы, позволяя сосредоточиться на более важных задачах, а не на рутинном администрировании.

Экономия времени и снижение нагрузки на администратора

Без бота каждый запрос на новый ключ, продление доступа или изменение лимита требует от администратора ручного входа на сервер, работы с панелью управления (например, Marzban или 3x-ui), генерации ключа и его отправки пользователю. В среднем, на один такой цикл уходит от 5 до 15 минут, в зависимости от сложности задачи и опыта администратора. При наличии 20-30 активных пользователей и периодических запросов, это может отнимать несколько часов в неделю. Бот же выполняет эти операции мгновенно, 24/7, без участия человека. Это особенно актуально для тех, кто предоставляет VPN-доступ как сервис или для большой команды, где требуется оперативное управление доступом.

Удобство для пользователей и централизованное управление

Для конечных пользователей получение VLESS-ключа через Telegram-бота — это максимально простой и интуитивно понятный процесс. Достаточно отправить команду боту, и через несколько секунд они получают готовый конфиг или ссылку на него. Нет необходимости связываться с администратором, ждать ответа или разбираться в сложных инструкциях. Все ключи, их статусы, лимиты и сроки действия хранятся в единой базе данных бота, что обеспечивает централизованное управление. Администратор может в любой момент посмотреть список активных пользователей, их потребление трафика, срок действия подписки, а также выполнить продление, блокировку или отзыв ключа.

Для тех, кто только начинает свой путь в мире самостоятельного VPN, рекомендуем ознакомиться с нашим полным руководством по VPN на своём VPS, которое поможет заложить прочный фундамент.

Как работают боты для автоматической выдачи конфигов VLESS?

Принцип работы telegram bot vpn keys основан на взаимодействии с API панели управления VPN-сервером. Большинство современных панелей, таких как Marzban или 3x-ui, предоставляют API, через который можно программно управлять пользователями, генерировать ключи, устанавливать лимиты и получать статистику. Бот выступает в роли посредника: он принимает команды от пользователя в Telegram, преобразует их в запросы к API панели управления VPN, получает ответ и форматирует его для отправки обратно пользователю.

Архитектура взаимодействия: Telegram API и VPN-панель API

Типичная архитектура включает несколько ключевых компонентов:

  1. Telegram Bot API: Бот регистрируется в Telegram через BotFather, получает уникальный токен. Через этот API бот принимает сообщения от пользователей и отправляет им ответы.
  2. Сервер, на котором запущен бот: Это ваш VPS, где установлен интерпретатор Python (или другой язык программирования), библиотеки для работы с Telegram API и VPN-панелью API, а также сам код бота.
  3. Панель управления VPN: Например, Marzban или 3x-ui, которая установлена на том же или другом VPS. Она управляет Xray-сервером и предоставляет HTTP API для взаимодействия.
  4. База данных бота: Обычно SQLite, PostgreSQL или MongoDB, где хранится информация о пользователях Telegram, привязанных к ним VLESS-ключах, их статусах, сроках действия, лимитах и прочих настройках. Это позволяет боту "помнить" состояние и управлять подписками.

Когда пользователь отправляет команду, например, /get_key, бот обрабатывает её, обращается к панели VPN через API (например, POST /api/user для создания нового пользователя), получает VLESS-конфиг, сохраняет информацию о нём в своей БД и отправляет конфиг пользователю в Telegram.

Ищете надёжный сервер для ваших проектов?

VPS от $10/мес и выделенные серверы от $9/мес с NVMe, DDoS-защитой и поддержкой 24/7.

Смотреть предложения →

Жизненный цикл VLESS-ключа, управляемого ботом

  • Запрос: Пользователь отправляет команду боту (например, /start, /get_trial).
  • Генерация: Бот, после проверки прав или оплаты, обращается к API VPN-панели для создания нового пользователя с заданными параметрами (протокол VLESS, лимиты, срок действия).
  • Выдача: Полученный VLESS-ключ или ссылку на подписку бот отправляет пользователю в Telegram. Информация о выданном ключе (ID пользователя Telegram, ID ключа в панели, дата выдачи, срок действия, трафик) сохраняется в базе данных бота.
  • Мониторинг: Бот периодически может запрашивать у панели VPN статистику по трафику для каждого ключа или проверять оставшийся срок действия.
  • Продление: Пользователь отправляет команду на продление. Бот обновляет срок действия или лимиты через API VPN-панели и обновляет свою БД.
  • Отзыв/Блокировка: Администратор или пользователь (если такая функция предусмотрена) может отозвать или заблокировать ключ. Бот отправляет запрос к API VPN-панели на удаление или деактивацию пользователя и обновляет свою базу.

Популярные решения: бот для Marzban и 3x-ui

На рынке существует несколько готовых решений и фреймворков для создания бота управления vpn сервером. Среди них выделяются проекты, ориентированные на популярные панели Marzban и 3x-ui, которые стали де-факто стандартами для развертывания мультипользовательских VPN на базе Xray/VLESS. Эти панели предоставляют удобный веб-интерфейс и мощное API, что делает их идеальной основой для автоматизации.

Бот для Marzban: расширенные возможности управления

Marzban — это мощная панель управления Xray, которая предлагает широкий спектр функций для создания и управления VLESS, VMess, Trojan и Shadowsocks прокси. Она имеет хорошо документированный API, что позволяет легко интегрировать с ней Telegram-ботов. Существует несколько открытых проектов, которые предлагают готовые решения или шаблоны для создания бота для Marzban. Такие боты обычно поддерживают:

  • Автоматическую генерацию VLESS-ключей с заданными параметрами (скорость, трафик, срок действия).
  • Управление пользователями: создание, изменение, удаление, блокировка.
  • Выдачу пробного доступа с ограниченным сроком или трафиком.
  • Продление подписок и изменение лимитов.
  • Получение статистики по использованию трафика для каждого пользователя.
  • Поддержку нескольких протоколов и портов.
  • Интеграцию с платежными системами для автоматической автовыдачи подписок vpn.

Пример запроса к API Marzban для создания пользователя:


POST /api/user
Authorization: Bearer YOUR_MARZBAN_API_TOKEN
Content-Type: application/json

{
    "username": "user_telegram_id",
    "data_limit": 10737418240, // 10 GB in bytes
    "expire": 1678886400, // Unix timestamp for expiration
    "inbounds": {
        "vless": {
            "flow": "xtls-rprx-vision"
        }
    }
}

Подробнее о самой панели можно узнать в статье Marzban на VPS: установка панели Xray и мультипользователь.

Бот для 3x-ui: простота и функциональность

3x-ui — это ещё одна популярная панель управления Xray, известная своей простотой установки и использования. Она также предоставляет API, хотя и менее обширный, чем у Marzban, но достаточный для базовых операций по управлению ключами VLESS. Боты для 3x-ui обычно фокусируются на следующих функциях:

  • Генерация VLESS-ключей.
  • Установка и изменение лимитов трафика.
  • Установка и изменение сроков действия.
  • Получение списка пользователей и их статусов.
  • Удаление пользователей.

Благодаря своей легковесности и простоте, 3x-ui часто выбирают для небольших проектов или индивидуального использования, где не требуется сложная биллинговая система. Бот для 3x-ui может быть реализован с минимальным количеством кода, что делает его отличным выбором для тех, кто хочет быстро запустить систему автовыдачи. Управление лимитами трафика и квотами для пользователей в 3x-ui и Marzban — важный аспект, о котором можно прочитать здесь: Лимиты и квоты пользователям в 3x-ui и Marzban.

rocket_launch Быстрый выбор

Ищете сервер, который просто работает?

Valebyte VPS — NVMe, поддержка 24/7, развёртывание за 60 секунд.

Смотреть тарифы VPS arrow_forward

Установка и настройка telegram bot vpn keys на свой VPS

Развертывание telegram bot vpn keys на собственном VPS — это ключевой шаг к полной автоматизации управления VPN-доступом. Процесс включает несколько этапов: подготовка VPS, установка необходимых зависимостей, развертывание кода бота и его запуск. Для примера рассмотрим типичную установку бота на Python, который взаимодействует с Marzban API.

Подготовка VPS и установка зависимостей

Прежде чем разворачивать бота, убедитесь, что ваш VPS соответствует минимальным требованиям (обычно 1 vCPU, 512 MB RAM, 10 GB диска для самого бота, не считая VPN-сервера). На VPS должна быть установлена операционная система на базе Linux (например, Ubuntu 20.04+ или Debian 11+). Вам потребуется Python 3.8+ и pip.


# Обновление системы
sudo apt update && sudo apt upgrade -y

# Установка Python3 и pip
sudo apt install python3 python3-pip -y

# Создание виртуального окружения (рекомендуется)
mkdir ~/vpn_bot && cd ~/vpn_bot
python3 -m venv venv
source venv/bin/activate

# Установка библиотек для бота (примерно)
pip install python-telegram-bot requests SQLAlchemy

Также необходимо получить API-токен вашего Telegram-бота через BotFather и API-токен вашей панели Marzban/3x-ui (обычно генерируется в настройках панели).

Конфигурация и запуск бота

После установки зависимостей, вам нужно будет настроить бота. Это обычно делается через файл конфигурации (например, config.ini или config.py), где указываются следующие параметры:

  • TELEGRAM_BOT_TOKEN: Токен, полученный от BotFather.
  • MARZBAN_API_URL или 3XUI_API_URL: Адрес вашей панели API (например, https://your_marzban_ip:8000/api).
  • MARZBAN_API_TOKEN или 3XUI_API_TOKEN: API-токен для авторизации на панели.
  • ADMIN_TELEGRAM_ID: Ваш Telegram ID для получения уведомлений и администрирования бота.
  • Настройки базы данных (например, путь к файлу SQLite).

Пример файла config.py:


# config.py
TELEGRAM_BOT_TOKEN = "YOUR_TELEGRAM_BOT_TOKEN"
MARZBAN_API_URL = "https://your_marzban_domain_or_ip:8000/api"
MARZBAN_API_TOKEN = "YOUR_MARZBAN_JWT_TOKEN"
ADMIN_TELEGRAM_ID = [123456789, 987654321] # Список ID администраторов
DATABASE_URL = "sqlite:///bot_database.db"

После сохранения конфигурации, вы можете запустить бота. Для стабильной работы рекомендуется использовать systemd для автоматического запуска и перезапуска бота.


# Пример systemd service файла: /etc/systemd/system/vpn_bot.service
[Unit]
Description=Telegram VPN Bot
After=network.target

[Service]
User=your_user
WorkingDirectory=/home/your_user/vpn_bot
ExecStart=/home/your_user/vpn_bot/venv/bin/python /home/your_user/vpn_bot/main.py
Restart=always
RestartSec=5

[Install]
WantedBy=multi-user.target

# Активация и запуск сервиса
sudo systemctl daemon-reload
sudo systemctl enable vpn_bot
sudo systemctl start vpn_bot
sudo systemctl status vpn_bot

Функционал бота: от пробного доступа до отзыва ключа

Современный telegram bot vpn keys обладает богатым функционалом, который позволяет полностью автоматизировать процесс управления доступом к VPN. Это не просто выдача ключей, но и целый спектр возможностей для гибкого контроля над подписками.

Управление подписками: пробный доступ, продление, лимиты

Одним из самых востребованных функций является возможность предоставления пробного доступа. Это позволяет новым пользователям протестировать VPN-сервис перед полноценной подпиской. Бот может автоматически выдавать VLESS-ключи с ограниченным сроком действия (например, на 3 дня) или лимитом трафика (например, 1 GB). По истечении пробного периода бот может уведомить пользователя и предложить приобрести полноценную подписку.

  • Выдача пробного доступа: Команда /trial генерирует ключ на 1-3 дня с лимитом 1-5 GB.
  • Продление подписки: Пользователи могут продлить свой доступ, выбрав тарифный план через бота. Бот обновляет срок действия и лимиты трафика для соответствующего ключа через API панели.
  • Установка лимитов трафика: Для каждого пользователя можно установить индивидуальные лимиты по трафику (например, 50 GB/месяц) и скорости. Бот будет отслеживать потребление и при достижении лимита автоматически блокировать доступ или снижать скорость.
  • Установка лимитов по времени: Помимо трафика, можно задавать срок действия подписки (например, 30 дней). Бот автоматически деактивирует ключ по истечении срока.

Эта гибкость позволяет администратору создавать разнообразные тарифные планы и эффективно управлять ресурсами сервера.

Отзыв ключа и управление активными сессиями

Возможность отозвать ключ или заблокировать доступ пользователя крайне важна для безопасности и контроля. Бот должен предоставлять администратору удобный интерфейс для выполнения этих операций:

  • Отзыв ключа: Администратор может отправить команду боту (например, /revoke user_id), чтобы немедленно деактивировать VLESS-ключ пользователя. Это полезно, если пользователь нарушает правила использования или подписка была отменена.
  • Блокировка/разблокировка: Временная блокировка доступа без полного удаления ключа. Например, если пользователь превысил лимит, его можно временно заблокировать до продления подписки.
  • Просмотр активных сессий: Некоторые боты могут отображать информацию об активных подключениях к VPN-серверу для каждого ключа, позволяя администратору видеть, кто в данный момент использует VPN.

Помимо этого, бот может быть настроен на автоматическое уведомление пользователей о приближающемся окончании срока действия подписки или исчерпании трафика, что значительно улучшает пользовательский опыт и снижает количество вопросов к администратору.

Для более глубокого понимания, как автоматизировать выдачу и управление ключами, может быть полезна статья о своей подписке для VLESS на VPS, которая затрагивает вопросы автообновления конфигов.

Оптимальные ресурсы для бота управления VPN сервером

Одним из значительных преимуществ запуска бота управления VPN сервером является его низкое потребление ресурсов. В большинстве случаев бот может спокойно сосуществовать на том же VPS, что и сам VPN-сервер, не оказывая заметного влияния на его производительность. Это позволяет оптимизировать расходы на хостинг, используя один сервер для нескольких задач.

Почему бот спокойно живёт на том же сервере, что и VPN?

Telegram-боты, особенно те, что написаны на Python, являются легковесными приложениями. Они большую часть времени находятся в режиме ожидания, потребляя минимальные ресурсы CPU и RAM. Активность бота проявляется только в момент обработки запросов от пользователей или выполнения периодических задач (например, проверка истекающих подписок). Эти операции обычно занимают доли секунды и не создают значительной нагрузки. Сам VPN-сервер (Xray) является гораздо более ресурсоёмким компонентом, потребляя CPU и сетевой трафик в зависимости от количества активных пользователей и их активности.

Основные причины низкого потребления ресурсов ботом:

  • Событийно-ориентированная архитектура: Бот активируется только при получении сообщения или по таймеру.
  • Минимальные дисковые операции: База данных бота (часто SQLite) небольшая и редко обновляется.
  • Низкая нагрузка на CPU: Обработка команд и запросов к API панелей не требует интенсивных вычислений.
  • Незначительное потребление RAM: Для большинства ботов достаточно 50-100 MB оперативной памяти.

Таблица: Рекомендации по VPS для VPN-сервера с ботом

Для 50 одновременных пользователей достаточно 4 vCPU, 8 GB RAM и NVMe-диска на 80 GB.

Пользователей VPN vCPU RAM Диск Порт Цена (прим.)
до 10 1-2 1-2 GB 20-40 GB NVMe/SSD 100 Mbps $5-10/мес
10-25 2 2-4 GB 40-60 GB NVMe/SSD 250 Mbps $10-20/мес
25-50 4 4-8 GB 60-80 GB NVMe/SSD 500 Mbps $20-40/мес
50-100 4-6 8-16 GB 80-160 GB NVMe/SSD 1 Gbps $40-80/мес
100+ 6-8+ 16-32+ GB 160+ GB NVMe 1-10 Gbps $80+/мес

Как видно из таблицы, даже для значительного количества пользователей VPN, требования к VPS остаются весьма умеренными. Бот, работающий на Python, займет лишь малую часть этих ресурсов, что делает его совместное размещение с VPN-сервером экономически выгодным решением. Важно выбирать VPS с быстрым диском (NVMe) и достаточным объемом оперативной памяти для комфортной работы VPN и панели управления.

rocket_launch Быстрый выбор

Ищете сервер, который просто работает?

Valebyte VPS — NVMe, поддержка 24/7, развёртывание за 60 секунд.

Смотреть тарифы VPS arrow_forward

Безопасность и хранение данных: бэкап базы бота

Безопасность данных и надежность работы телеграм бот для выдачи vpn ключей являются критически важными аспектами. Неправильное хранение конфиденциальной информации или отсутствие резервного копирования может привести к утечке данных пользователей, потере информации о подписках или полной неработоспособности сервиса.

Защита API-токенов и конфиденциальных данных

Наиболее чувствительными данными являются API-токен Telegram-бота и API-токен панели управления VPN (Marzban/3x-ui). Эти токены дают полный контроль над ботом и VPN-сервером соответственно. Следуйте этим рекомендациям:

  1. Не храните токены в открытом доступе: Никогда не коммитьте токены в публичные репозитории Git. Используйте переменные окружения или защищенные файлы конфигурации (например, .env файл, который игнорируется Git).
  2. Ограничьте доступ к файлам конфигурации: Убедитесь, что только пользователь, от имени которого запущен бот, имеет права на чтение файла конфигурации.
  3. Используйте HTTPS для API панели: Если панель управления VPN доступна по HTTP, настройте Nginx или другой реверс-прокси для работы по HTTPS, чтобы защитить передачу данных между ботом и панелью.
  4. Настройте брандмауэр: Ограничьте доступ к портам API панели управления VPN только с IP-адреса вашего VPS, где запущен бот.
  5. Регулярно обновляйте зависимости: Своевременное обновление Python, библиотек и самого кода бота поможет закрыть известные уязвимости.

Хранение состояния и бэкап базы бота

Бот хранит важную информацию о пользователях, их подписках, сроках действия и использованном трафике в своей базе данных. Потеря этой базы данных означает потерю всех данных о подписках и необходимость восстанавливать всё вручную. Поэтому регулярный бэкап базы данных бота обязателен.

Если бот использует SQLite (самый распространенный вариант для небольших проектов), база данных хранится в одном файле (например, bot_database.db). Для бэкапа достаточно скопировать этот файл в безопасное место.


# Пример скрипта для бэкапа SQLite базы данных
#!/bin/bash
DB_PATH="/home/your_user/vpn_bot/bot_database.db"
BACKUP_DIR="/home/your_user/backups/vpn_bot_db"
TIMESTAMP=$(date +"%Y%m%d_%H%M%S")
BACKUP_FILE="${BACKUP_DIR}/bot_database_${TIMESTAMP}.db"

mkdir -p $BACKUP_DIR
cp $DB_PATH $BACKUP_FILE

# Удаление старых бэкапов (оставить 7 последних)
find $BACKUP_DIR -name "bot_database_*.db" -mtime +7 -delete

echo "Backup created: $BACKUP_FILE"

Этот скрипт можно настроить для запуска по расписанию через cron (например, ежедневно в 3 часа ночи).


# Добавление задачи в crontab
crontab -e
# Добавить строку:
0 3 * * * /bin/bash /home/your_user/vpn_bot/backup_script.sh >> /var/log/vpn_bot_backup.log 2>&1

Для более надежного хранения рекомендуется использовать удаленные хранилища (S3-совместимые сервисы, Google Drive, Dropbox) или другие VPS для хранения резервных копий. Подробнее о бэкапах можно узнать в статье Автоматический бэкап конфигов VPN с VPS.

Часто задаваемые вопросы

Здесь мы собрали ответы на наиболее частые вопросы, касающиеся использования Telegram-бота для выдачи VLESS-ключей.

Можно ли использовать одного бота для нескольких VPN-серверов?

Да, вполне возможно. Если бот разработан с поддержкой мультисерверной архитектуры, он может управлять несколькими панелями Marzban или 3x-ui, расположенными на разных VPS. Это удобно для балансировки нагрузки или предоставления доступа к VPN-серверам в разных географических локациях. Обычно это требует дополнительных настроек в конфигурации бота, где указываются API-токены и адреса всех управляемых панелей. Некоторые проекты позволяют привязывать пользователя к конкретному серверу или автоматически выбирать менее загруженный.

Какие языки программирования используются для создания таких ботов?

Наиболее популярным языком для разработки Telegram-ботов является Python, благодаря его простоте, обширным библиотекам (таким как python-telegram-bot и requests) и большому сообществу. Однако боты могут быть написаны и на других языках, таких как Node.js (с библиотеками вроде node-telegram-bot-api), Go, PHP или Ruby. Выбор языка часто зависит от предпочтений разработчика и специфики используемых VPN-панелей, а также от наличия готовых SDK для их API.

Нужен ли выделенный IP-адрес для работы бота?

Для работы самого Telegram-бота выделенный IP-адрес не требуется. Бот взаимодействует с Telegram API через исходящие HTTPS-соединения, а с VPN-панелью — также через исходящие соединения или по внутреннему IP, если они находятся на одном VPS. Однако, для работы самого VPN-сервера (Marzban, 3x-ui, Xray) выделенный публичный IP-адрес на вашем VPS является обязательным условием для обеспечения доступности VPN-сервиса из интернета. Без публичного IP пользователи не смогут подключиться к вашему VPN.

Сколько стоит VPS для запуска VPN и бота?

Стоимость VPS для запуска VPN-сервера и бота может варьироваться от $5 до $80+ в месяц, в зависимости от количества пользователей и требуемых ресурсов. Для небольшого количества пользователей (до 10-15 человек) достаточно VPS с 1-2 vCPU, 1-2 GB RAM и 20-40 GB NVMe-диска, что обойдется примерно в $5-10/месяц. Для 50-100 пользователей потребуется более мощный сервер с 4-6 vCPU, 8-16 GB RAM и 80+ GB NVMe-диска, стоимость которого может достигать $40-80/месяц. Бот при этом практически не увеличивает общую стоимость, так как его требования минимальны.

Выводы

Использование Telegram-бота для выдачи VLESS-ключей на своём VPS — это не просто удобство, а эффективный инструмент для автоматизации и масштабирования управления VPN-доступом. Он значительно сокращает время на администрирование, упрощает процесс для конечных пользователей и обеспечивает централизованный контроль над подписками. Рекомендуем внедрить такое решение, особенно если вы управляете доступом для более чем 5-10 пользователей, чтобы оптимизировать ресурсы и повысить общую эффективность вашего VPN-сервиса.

Готовы выбрать сервер?

VPS и выделенные серверы в 72+ странах с мгновенной активацией и полным root-доступом.

Начать сейчас →

Поделиться записью:

support_agent
Valebyte Support
Usually replies within minutes
Hi there!
Send us a message and we'll reply as soon as possible.