| Уникальное решение с поддержкой АнтиЗапрет и полного туннелирования с использованием протоколов VLESS (XTLS, Reality), OpenVPN (с патчем для обхода блокировок), WireGuard и AmneziaWG |
|---|
Этот проект представляет собой Telegram-бота для управления доступом к UtyaVPN-Server. Он позволяет пользователям запрашивать, продлевать и управлять своими конфигурациями VPN, а администраторам предоставляет инструменты для управления пользователями и сервисом.
- Гибкая система доступа:
- Ручное одобрение: Администраторы могут вручную одобрять заявки новых пользователей, предоставляя им доступ.
- Автоматическая активация: Пользователи могут самостоятельно оплачивать и продлевать подписку с помощью Telegram Stars, получая доступ автоматически.
- Промокоды: Администраторы могут создавать промокоды, которые пользователи могут активировать для получения дополнительных дней доступа.
- Управление конфигурациями VPN: Пользователи могут получать файлы конфигурации для различных протоколов VPN.
- Инструменты администратора: Широкий набор инструментов для управления сервисом, включая одобрение заявок, управление пользователями, рассылку сообщений и многое другое.
- Запланированные задачи: Автоматизированные задачи для отправки напоминаний об оплате, проверки истекших учетных записей и ежедневного резервного копирования базы данных.
- Информационные меню: Пользователи могут получить подробную информацию о доступных протоколах VPN и вариантах подключения.
Проект организован в следующие каталоги:
UtyaVPN/
├── assets/ # Статические ассеты: стикеры .tgs
├── config/ # Конфигурационные файлы: тексты сообщений, настройки, параметры VPN.
├── core/ # Ядро бота: инициализация, подключение к БД, middlewares.
├── modules/ # Логические модули бота, разделенные по функциональности:
│ ├── admin/ # Функционал администратора.
│ ├── common/ # Общий функционал для всех пользователей.
│ ├── user_onboarding/ # Процесс регистрации и приема новых пользователей.
│ └── vpn_management/ # Управление VPN конфигурациями и подписками.
├── services/ # Вспомогательные сервисы: операции с БД, управление VPN, планировщик.
├── main.py # Основная точка входа в приложение.
├── requirements.txt # Зависимости Python.
└── setup.sh # Скрипт для первоначальной настройки проекта.
Чтобы настроить и запустить бота, выполните следующие действия:
-
Клонируйте репозиторий:
git clone https://github.com/UtyaVPN/UtyaVPN.git cd UtyaVPN -
Запустите скрипт установки: Скрипт
setup.shавтоматизирует весь процесс установки. Он запросит у вас необходимую информацию, такую как токен вашего Telegram-бота и идентификатор администратора.chmod +x setup.sh ./setup.sh
Скрипт выполнит следующие действия:
- Создаст файл
.envс вашей конфигурацией. - Настроит виртуальное окружение Python.
- Установит необходимые зависимости из
requirements.txt. - Создаст и запустит службу
systemdдля работы бота в фоновом режиме.
- Создаст файл
-
Проверьте установку: После завершения работы скрипта вы можете проверить статус службы с помощью:
sudo systemctl status bot
/start- Начать взаимодействие с ботом.
/admin: Открывает панель администратора с возможностью:- Проверить запросы на доступ.
- Удалить пользователя.
- Отправить широковещательное сообщение.
- Получить список всех пользователей.
- Управление промокодами.
/renewall: Продлевает конфигурацию VPN для всех активных пользователей./renew <user_id> <+><days>: Продлевает подписку пользователя, добавляя указанное количество дней к текущей дате окончания доступа, если указан+, в противном случае, устанавливает новую дату окончания./update <user_id> <days>: Устанавливает срок действия подписки пользователя на указанное количество дней с текущей даты./refund <user_id> <payment_charge_id>: Возвращает платеж Telegram Stars.
Логи бота управляются systemd и могут быть просмотрены с помощью journalctl:
sudo journalctl -u bot -f