Безопасный VPN-сервис с доступом через Telegram-бота.
- Быстрая, разовая установка и настройка
- Управление VPN-доступом через Telegram-бота
- Самостоятельное управление подпиской пользователями
- Базовая автоматическая харденизация сервера:
- отключение root-доступа
- доступ по SSH-ключам
- кастомный SSH-порт
- Контейнеризация сервисов (Docker)
- Сервер с Ubuntu 24.04 LTS
- Telegram Bot Token (получить у @BotFather)
На сервере должны быть:
- Установлены docker и git
- Создан отдельный пользователь (не root)
- Пользователь добавлен в группу docker
Для автоматической и безопасной настройки сервера используйте скрипт, который запускается на локальной машине.
Windows:
TODOLinux:
curl -fsSL https://raw.githubusercontent.com/Teru3301/Telegram-VPN/main/scripts/linux.sh -o linux.sh
chmod +x linux.sh
./linux.sh- Обновляет систему
- Создаёт нового пользователя и настраивает sudo
- Настраивает SSH:
- Вход только по ключу
- Доступ по SSH для root отключается
- Вход по паролю запрещён
- Используется кастомный SSH-порт
- Устанавливает базовые утилиты
- Устанавливает Docker и добавляет пользователя в группу docker
Warning
Важно: После выполнения скрипта вход по SSH под root будет недоступен
После выполнения вы получите SSH-команду для подключения к серверу по ключу:
ssh -p <PORT> <USER>@<SERVER_IP>
Выполните следующие команды на удалённом сервере
curl -fsSL https://raw.githubusercontent.com/Teru3301/Telegram-VPN/main/scripts/install.sh -o install.sh
chmod +x install.sh
./install.shTZ - часовой пояс сервера (по умолчанию Europe/Moscow)
TG_BOT_TOKEN - токен вашего Telegram-бота
MONGO_USERNAME - имя пользователя для подключения к MongoDB (по умолчанию vpnbot)
MONGO_PASSWORD - пароль пользователя MongoDB (по умолчанию botpass)
MONGO_DB - название базы данных для бота (по умолчанию tg-vpn-db)
MONGO_URI - строка подключения к MongoDB (формируется автоматически)
IP - IP-адрес вашего сервера (по умолчанию 127.0.0.1)
XUI_URL - адрес веб-панели 3X-UI (по умолчанию 172.17.0.1:2053)
XUI_LOGIN - логин для входа в панель 3X-UI (по умолчанию admin)
XUI_PASSWORD - пароль для входа в панель 3X-UI (по умолчанию admin)
Для добавления администратора Telegram-бота:
- Отредактируйте файл
vpn-bot/bot/config.json - Укажите правило определиения является ли пользователь администратором:
or- у пользователя совпадает username или id с указанными в config.json (полезно если неизвестен один из параметров)and- у пользователя совпадают все параметры
- Укажите имя пользователя и/или его id.
- Перезапустите контейнер для применения изменений:
docker compose restart vpn-botНа данный момент администратор может только создавать новые промокоды.
Если этот проект полезен для вас, вы можете поставить ему ⭐
Если вы нашли баг или у вас есть предложение по улучшению проекта, создавайте Issue на GitHub.
- Реализация Telegram-бота
- Интеграция с 3x-ui API
- Создание docker образа
- Интеграция с платёжной системой
- Система промокодов
- Мануалы по использованию бота на разных платформах
- Вспомогательный скрипт (Linux)
- Вспомогательный скрипт (Windows)
- Отдельны скрипт для установики контейнетов
Warning
Проект в активной разработке. API и функционал могут изменяться.