Telegram VPN Bot - это полнофункциональное решение для автоматизации продажи подписок на VPN сервис с использованием протокола WireGuard. Бот позволяет пользователям покупать VPN-подписки прямо в Telegram, а администраторам - управлять серверами, клиентами и подписками.
- 🛒 Покупка VPN-подписок разной длительности
- 📊 Просмотр статуса своих активных подписок
- 📁 Автоматическое получение файла конфигурации VPN
- 💳 Удобная оплата через встроенные платежи Telegram
- 📆 Уведомления о статусе подписки и её окончании
- 🖥️ Управление VPN-серверами (добавление, редактирование, удаление)
- 👥 Управление пользователями (просмотр, блокировка, добавление привилегий)
- 📋 Управление планами подписок (создание, изменение, удаление)
- 📈 Просмотр статистики продаж и использования
- 📢 Массовая рассылка уведомлений пользователям
- 🔷 Go 1.21 или выше
- 📦 PostgreSQL 13 или выше
- 🔒 WireGuard (установленный на VPN-сервере)
- 🌐 SSH доступ к серверу для настройки VPN
- 🤖 Зарегистрированный Telegram бот (через @BotFather)
git clone https://github.com/ilokitv/botVPN.git
cd botVPNgo mod download- Создайте базу данных PostgreSQL:
CREATE DATABASE vpnbot;- Скопируйте пример конфигурационного файла и настройте его:
cp config.yaml.example config.yaml- Отредактируйте файл
config.yaml, указав свои параметры подключения к базе данных и Telegram-боту:
bot:
token: "ВАШ_ТОКЕН_БОТА" # Получите у @BotFather
admin_ids: [123456789] # ID администраторов (можно получить у @userinfobot)
database:
host: "localhost" # Адрес сервера базы данных
port: 5432 # Порт PostgreSQL
user: "postgres" # Имя пользователя
password: "password" # Пароль
dbname: "vpnbot" # Имя базы данных
sslmode: "disable" # Режим SSL
payments:
provider: "123456789:TEST:abcdefghijklmnopqrstuvwxyz" # Токен для платежей Telegramgo build -o vpnbot cmd/bot/main.go- Установите WireGuard на ваш сервер:
# Для Debian/Ubuntu
sudo apt update
sudo apt install wireguard
# Для CentOS/RHEL
sudo yum install wireguard- Настройте переадресацию IP и параметры сети на сервере:
# Включение IP-форвардинга
echo "net.ipv4.ip_forward = 1" | sudo tee -a /etc/sysctl.conf
sudo sysctl -p
# Настройка правил файрвола (если используется iptables)
sudo iptables -A FORWARD -i wg0 -j ACCEPT
sudo iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE./vpnbotИли с указанием пути к конфигурационному файлу:
./vpnbot -config path/to/config.yamlnohup ./vpnbot > vpnbot.log 2>&1 &
echo $! > vpnbot.pidkill $(cat vpnbot.pid)/start- начать работу с ботом и открыть главное меню/help- показать справку по командам/buy- выбрать и купить подписку на VPN/my- просмотреть активные подписки и их статус/config- получить файл конфигурации для активной подписки
/admin- открыть меню администратора- Управление серверами
- Управление пользователями
- Управление тарифами
- Статистика и отчеты
botVPN/
├── cmd/ # Исполняемые файлы
│ └── bot/ # Основное приложение бота
│ └── main.go # Точка входа
├── internal/ # Внутренние пакеты
│ ├── config/ # Работа с конфигурацией
│ ├── database/ # Взаимодействие с базой данных
│ ├── handlers/ # Обработчики команд и сообщений
│ ├── models/ # Модели данных
│ ├── scheduler/ # Планировщик задач
│ ├── services/ # Бизнес-логика
│ └── vpn/ # Управление VPN и конфигурациями
├── scripts/ # Вспомогательные скрипты
│ ├── install.sh # Скрипт установки
│ └── backup.sh # Резервное копирование
├── vpn_configs/ # Директория для файлов конфигурации VPN
├── temp/ # Временные файлы
├── bin/ # Скомпилированные бинарные файлы
├── config.yaml # Файл конфигурации
├── config.yaml.example # Пример конфигурационного файла
├── go.mod # Зависимости Go
├── go.sum # Контрольные суммы зависимостей
└── README.md # Документация проекта
- Все данные пользователей и конфигурации хранятся в защищенном виде
- Для каждого клиента создается отдельная конфигурация
- Администраторский доступ защищен верификацией Telegram ID
- Используется современный и безопасный протокол WireGuard
- Полностью асинхронная обработка запросов
- Автоматическая генерация конфигураций WireGuard
- Планировщик для проверки и обновления статуса подписок
- Система уведомлений об истечении срока подписки
© 2024 ilokitv