Goat VPN — Автоматизированная платформа управления VPN

VPN Control Panel — это полнофункциональная система для автоматизации продажи и управления VPN-доступом через Telegram бот, построенная на современном технологическом стеке.
Backend:
Django 5.1 — основной веб-фреймворк
Aiogram 3.19 — асинхронная библиотека для Telegram Bot API
PostgreSQL — реляционная база данных
Redis — кэширование и брокер сообщений
Celery — обработка асинхронных задач и периодических операций
DevOps:
Docker & Docker Compose — контейнеризация приложения
Nginx — reverse proxy и обслуживание статических файлов
GitHub CI/CD — автоматизация развертывания
Для пользователей (через Telegram бот):
Выбор и подключение к VPN-серверам
Автоматическое создание конфигураций WireGuard и AmneziaWG
Управление конфигурациями: блокировка, разблокировка, удаление, повторная загрузка
Просмотр активных подписок и тарифов
Оплата подписок через YooKassa и Telegram Stars
Автоматические уведомления об истечении подписки
Система подписок:
Гибкая настройка тарифных планов (цена, количество конфигураций, длительность)
Автоматическое ограничение скорости для пользователей без подписки (максимум 3 конфигурации с ограничениями)
Автоматическое снятие ограничений при оплате подписки
Отмена подписки с немедленным возвратом к ограниченному доступу
Управление серверами:
Мониторинг статуса серверов (online/offline)
Поддержка нескольких VPN-протоколов на одном сервере
Централизованное управление через Django Admin
Автоматическая синхронизация конфигураций между базой данных и серверами
Автоматизация (Celery Tasks):
Периодическая проверка статуса серверов
Автоматическое ограничение конфигураций при истечении подписки
Автоматическое снятие ограничений при активации подписки
Отправка уведомлений об истечении подписки
Синхронизация состояния конфигураций с VPN-серверами
Проект реализован с использованием микросервисной архитектуры на базе Docker Compose:
vpn-control-panel-server — Django веб-сервер с админ-панелью
vpn-control-panel-bot — Telegram бот для пользователей
vpn-control-panel-celery-worker — обработчик асинхронных задач
vpn-control-panel-celery-beat — планировщик периодических задач
vpn-control-panel-db — PostgreSQL база данных
vpn-control-panel-redis — Redis для кэширования и очередей
vpn-control-panel-proxy — Nginx reverse proxy
Все сервисы связаны через Docker network и автоматически разворачиваются с помощью docker-compose.
Адаптеры для VPN-клиентов:
Система использует паттерн Factory для работы с различными VPN-протоколами, что позволяет легко добавлять поддержку новых протоколов без изменения основной логики.
Асинхронная обработка:
Все взаимодействие с Telegram API и VPN-серверами выполняется асинхронно для максимальной производительности.
Безопасность:
Аутентификация пользователей через Telegram
Безопасное хранение учетных данных серверов
Изоляция компонентов в Docker-контейнерах
Админ-панель:
Кастомизированная админ-панель на базе Django Jazzmin для управления:
Пользователями и их конфигурациями
VPN-серверами и их статусом
Тарифными планами и подписками
Настройками системы через django-constance