No description
  • Python 51.3%
  • HTML 37%
  • CSS 6.1%
  • JavaScript 4.6%
  • Shell 0.9%
Find a file
2026-06-24 09:42:55 +03:00
APP_IOS&ANDROID@c565dc2cdb fix: обновить статус подпроекта для корректного отслеживания изменений 2026-05-18 10:58:24 +03:00
war-server feat: Добавить блокировки для параллельных запросов пользователей 2026-06-24 09:42:55 +03:00
.gitignore feat: добавить test-server в .gitignore 2026-06-20 11:14:07 +03:00
idea.md Refactor partners list template for improved layout and functionality; add modal for partner details 2026-05-18 10:56:07 +03:00
idea_antiDDOS.md feat: добавить поддержку кнопок в email-уведомлениях и улучшить логику редиректа на страницу оплаты 2026-06-19 15:18:47 +03:00
idea_autopay.md feat: добавить возможность генерации magic link для личного кабинета пользователя 2026-05-18 11:42:24 +03:00
idea_platform.md feat: добавить поддержку кнопок в email-уведомлениях и улучшить логику редиректа на страницу оплаты 2026-06-19 15:18:47 +03:00
log.txt Initial commit: VPN bot with web admin panel, analytics service, migration tools 2026-05-10 11:16:10 +03:00
README.md feat: обновить раздел "Сервисы" в README.md с описанием сервисов и инструкциями по управлению 2026-05-14 14:32:56 +03:00
roadmap.md Initial commit: VPN bot with web admin panel, analytics service, migration tools 2026-05-10 11:16:10 +03:00
Worklog_routers.md Initial commit: VPN bot with web admin panel, analytics service, migration tools 2026-05-10 11:16:10 +03:00
WORKLOG_SUPPORT_CHAT.md Initial commit: VPN bot with web admin panel, analytics service, migration tools 2026-05-10 11:16:10 +03:00

🛡️ VPN Bot

Телеграм-бот для продажи и управления VPN-подписками с веб-панелью администратора.


Возможности

Для пользователей

  • Регистрация через Telegram или Email
  • Покупка и продление VPN-подписки
  • Несколько способов оплаты: YooKassa, Telegram Stars, CryptoBot, YooMoney, Platega (СБП)
  • Управление устройствами и лимитами
  • Реферальная (партнёрская) программа с выводом средств
  • Промокоды и скидки
  • Поддержка через встроенный чат

Для администратора

  • Веб-панель управления пользователями, тарифами, платежами
  • Настройка тарифов с привязкой к способу оплаты и тегу пользователя
  • Ручное продление, блокировка, редактирование пользователей
  • Рассылка новостей и уведомлений
  • Аналитика и отчёты
  • Управление промокодами
  • Запросы на вывод средств партнёров

🏗️ Архитектура

bot/
├── main.py                  # Точка входа, регистрация хендлеров
├── db_helpers.py            # Все запросы к SQLite
├── keyboards.py             # Клавиатуры Telegram
├── x_ui_manager.py          # Интеграция с 3X-UI
├── remnawave_manager.py     # Интеграция с Remnawave
├── src/
│   ├── renewal_handlers.py  # Обработчики оплаты и продления
│   ├── notifications.py     # Уведомления (Telegram + Email)
│   ├── migrations.py        # Авто-миграции БД
│   └── texts.py             # Тексты сообщений
├── web_admin/               # Веб-панель администратора (Quart + Hypercorn)
│   ├── routes/              # Маршруты: users, tariffs, payments...
│   └── templates/           # HTML-шаблоны
├── analytics/               # Сервис аналитики (FastAPI)
├── xuiweb/                  # API-прокси для 3X-UI / Remnawave (FastAPI)
├── website/                 # Публичный сайт с личным кабинетом
└── support_chat/            # Бот поддержки (отдельный Telegram-бот)

subpage/                     # Страница подписки с QR-кодом (FastAPI)

🖥️ Сервисы

Сервис Описание Порт systemd
vpn-bot Основной Telegram-бот vpn-bot.service
vpn-webadmin Веб-панель администратора 8181 vpn-webadmin.service
analytics Сбор и отображение аналитики (трафик, онлайн) analytics.service
xuiweb API-прокси для взаимодействия с 3X-UI / Remnawave 8282 xuiweb.service
subpage Страница подписки с QR-кодом для клиента 3004 subpage.service
support-chat Telegram-бот поддержки (связь клиент ↔ админ) support-chat.service
website Публичный сайт с личным кабинетом

Управление сервисами

# Запуск
sudo systemctl start vpn-bot.service
sudo systemctl start vpn-webadmin.service
sudo systemctl start analytics.service
sudo systemctl start xuiweb.service
sudo systemctl start subpage.service
sudo systemctl start support-chat.service

# Перезапуск после обновления
sudo systemctl restart vpn-bot.service       # изменения в bot/ и src/
sudo systemctl restart vpn-webadmin.service  # изменения в web_admin/
sudo systemctl restart analytics.service     # изменения в analytics/
sudo systemctl restart xuiweb.service        # изменения в xuiweb/
sudo systemctl restart subpage.service       # изменения в subpage/
sudo systemctl restart support-chat.service  # изменения в support_chat/

💳 Платёжные системы

Система Валюта
YooKassa RUB
YooMoney RUB
Platega (СБП) RUB
Telegram Stars
CryptoBot USDT, TON, BTC, ETH, USDC

🏷️ Теги пользователей

Теги позволяют сегментировать пользователей и показывать им специальные тарифы:

Тег Назначение
🙋 Друг Знакомые и друзья
👨‍👩‍👧 Семья Родственники
👤 Партнёр Партнёры программы
☎️ Роутер Пользователи с роутером
🧩 VLESS ссылки Ручные VLESS-конфиги
🪪 Ручное добавление Добавлены вручную
📈 Таргет Таргетированная реклама
🎁 Доп пробный Дополнительный пробный период
🕵️‍♂️ Подозрительный На проверке
🗑️ Мусор Неактивные / спам

Если у пользователя установлен тег — ему показываются только тарифы для этого тега.


📬 Уведомления

Бот отправляет уведомления пользователям:

  • За 3 дня до окончания подписки
  • За 1 день до окончания
  • В день окончания подписки

Для пользователей, зарегистрированных через Email, уведомления отправляются на почту как резервный канал.


🤝 Партнёрская программа

  • Реферальные ссылки (Telegram + сайт)
  • Начисление % с каждой оплаты реферала
  • Запрос на вывод средств прямо из бота
  • Подтверждение выплаты администратором через Telegram или веб-панель
  • История выплат

🗄️ База данных

SQLite с автоматическими миграциями при запуске. Основные таблицы:

Таблица Описание
users Пользователи и их подписки
tariffs Тарифы и цены
payments История платежей
promo_codes Промокоды
partner_withdrawals Запросы на вывод средств
notification_log Лог отправленных уведомлений
settings Настройки сервиса