129 lines
5.5 KiB
Markdown
129 lines
5.5 KiB
Markdown
# 🚀 SoloBot
|
|
|
|
**SoloBot**!
|
|
Бот для API 3x-UI VPN на протоколе vless
|
|
Бот для vless
|
|
|
|
## 📋 Оглавление
|
|
1. [Описание](#Описание)
|
|
2. [Стек технологий](#Стек)
|
|
3. [Установка](#установка)
|
|
4. [Конфигурация](#конфигурация)
|
|
5. [Запуск](#запуск)
|
|
6. [Автор](#SoloBot)
|
|
|
|
---
|
|
|
|
## 📖 Описание
|
|
|
|
Бот реализует такие функции:
|
|
|
|
- выдача ключей на пробный период
|
|
- выдача ключей на период 1мес/3мес/полгода/год
|
|
- продление ключей на эти периоды
|
|
- клиент может полностью руководить своим ключом:
|
|
* удаление
|
|
* продление
|
|
* просмотр информации (сервер, сколько осталось, сам ключ)
|
|
- смена локации (ключ перемещается с одного сервера на другой)
|
|
- клиент может иметь несколько ключей (несколько устройств)
|
|
- реферальная программа по пригласительной ссылке
|
|
- инструкции
|
|
- пополнение баланса через сервис Юкасса
|
|
- периодические бэкапы базы данных клиентов
|
|
- функции уведомлений:
|
|
* произвольные: можно через админку отправить любое информационное сообщение
|
|
* о не использованном пробнике
|
|
* о истекающих ключах (за сутки/6 часов/момент истечения)
|
|
- чат поддержки/канал/
|
|
- автоматическое продление ключа, если у клиента есть баланс на нужную сумму
|
|
|
|
---
|
|
|
|
## 💻 Стек
|
|
|
|
Проект использует следущие компоненты
|
|
|
|
- **Python** версии 3.8 или выше
|
|
- **Git** для клонирования репозитория
|
|
- **Virtualenv** для создания виртуального окружения (рекомендуется)
|
|
- **postgresql** база данных
|
|
- **nginx** для работы с нужными вебхуками
|
|
- **aiogram** используется новейшая версия 3.13
|
|
- **youkassa** для работы с кассой
|
|
- **aiohttp** для api запросов к панелям
|
|
|
|
Проект полностью асинхронный, что обеспечивает высокую скорость работы
|
|
|
|
---
|
|
|
|
## ⚙️ Установка
|
|
|
|
### 1️⃣ Шаг 1: Клонирование репозитория
|
|
|
|
Клонируйте репозиторий и перейдите в его директорию:
|
|
|
|
```bash
|
|
git clone https://github.com/Vladless/Solo_bot.git
|
|
cd solo_bot
|
|
```
|
|
|
|
### 2️⃣ Шаг 2: Создание и активация виртуального окружения
|
|
|
|
```
|
|
python3 -m venv venv
|
|
source venv/bin/activate
|
|
```
|
|
|
|
### 3️⃣ Шаг 3: Установка зависимостей
|
|
|
|
```
|
|
pip install -r requirements.txt
|
|
```
|
|
|
|
### 🛠️ Конфигурация
|
|
|
|
Для правильной работы вам нужно:
|
|
|
|
* установить и запустить postgresql, создать пользователя для работы с базой данных и выдать ему права
|
|
* Настроить ваш сервер на работу с ботом, выпустить SSL сертификат для домена
|
|
* Настроить вебхуки и пути до них в NGINX
|
|
|
|
* Создать файл config.py в корневой папке проекта с вашими данными:
|
|
|
|
```
|
|
|
|
API_TOKEN = токен вашего бота телеграм
|
|
|
|
ADMIN_USERNAME = логин от вашей панели x-ray
|
|
ADMIN_PASSWORD = пароль от вашей панели x-ray
|
|
ADD_CLIENT_URL = f"{API_URL}/panel/api/inbounds/addClient"
|
|
GET_INBOUNDS_URL = f"{API_URL}/panel/api/inbounds/list/"
|
|
AUTH_URL = f"{API_URL}/login/"
|
|
DATABASE_URL = путь к вашей базе данных, имеет вид "postgresql://{user}:{password}@{Ip-adress}:{port}/{имя базы данных}"
|
|
ADMIN_ID = ID телеграм профиля администратора
|
|
CHANNEL_URL = ссылка на ваш телеграм канал
|
|
YOOKASSA_SECRET_KEY = ваш ключ юкассы
|
|
YOOKASSA_SHOP_ID = ваш шопайди
|
|
WEBHOOK_HOST = адрес вашего сервера для вебхуков
|
|
WEBHOOK_PATH = '/webhook/'
|
|
WEBHOOK_URL = f"{WEBHOOK_HOST}{WEBHOOK_PATH}"
|
|
SUPPORT_CHAT_URL = ваша ссылка на поддержку
|
|
|
|
полная версия конфигурации доступна через поддержку нашего бота
|
|
```
|
|
|
|
### 🚀 Запуск
|
|
|
|
введите команду из виртуального окружения
|
|
|
|
```
|
|
python main.py
|
|
```
|
|
### 🔗 SoloBot в Telegram и Полная версия
|
|
|
|
Попробуйте SoloBot прямо сейчас в Telegram [по этой ссылке](https://t.me/SoloNetVPN_bot).
|
|
|
|
Вы также можете поддержать автора или купить полную версию бота с сопровождением по установке в поддержке бота!
|
|
Полная пошаговая инстуркция по запуску бота предоставляется в поддержке бота
|