Important
Отказ от ответственности: Данный проект создан исключительно в образовательных целях для демонстрации навыков разработки на Python, интеграции платежных систем и автоматизации серверной инфраструктуры. Автор не несет ответственности за любое использование данного ПО в целях, нарушающих законодательство.
SubNode — это комплексное решение для автоматизации продажи и управления VLESS-конфигурациями через Telegram-бота. Проект включает в себя панель управления (API), бота для пользователей и скрипты автоматического развертывания.
- Telegram Bot: Полный цикл покупки подписки, проверка статуса, получение ключей и уведомления о продлении.
- Интеграция с RollyPay: Прием платежей через СБП, криптовалюты (CryptoBot, xRocket) и карты.
- Управление узлами: Автоматическое добавление пользователей на VLESS-сервер.
- Безопасность: Генерация уникальных путей для администрирования и подписок, защита через переменные окружения.
- Автоматизация: Скрипты для быстрой настройки VPS, установки Nginx, SSL и настройки обхода блокировок (Zapret).
- Умные бэкапы: Автоматическое резервное копирование базы данных и конфигураций.
- Backend: Python 3.10+, FastAPI, Pydantic (Settings).
- Bot: Aiogram 3.x (асинхронный фреймворк).
- Database: SQLite (SQLAlchemy ORM).
- Web Server: Nginx + Gunicorn/Uvicorn.
- Infrastructure: Shell-скрипты для Linux (Ubuntu/Debian) и PowerShell для локальной настройки.
Рекомендуется использовать чистую Ubuntu 22.04/24.04.
git clone https://github.com/<YOUR_GITHUB_USERNAME>/SubNode.git
cd SubNodeСкопируйте пример конфига и заполните его своими данными:
cp .env.example .env
nano .envНеобходимые параметры:
BOT_TOKEN: Токен вашего бота от @BotFather.ROLLYPAY_API_KEY: Ключ из личного кабинета RollyPay.ADMIN_USERNAME/ADMIN_PASSWORD: Данные для доступа к API.
Запустите основной скрипт установки, который настроит зависимости, создаст базу данных и сконфигурирует системные сервисы:
chmod +x install.sh
./install.shПроект разработан с учетом требований безопасности:
- Все секретные данные (ключи, пароли, токены) вынесены в файл
.env, который игнорируется системой контроля версий. - Использование SSH-ключей для управления сервером (через
VpsKeySetup.ps1). - Автоматическая санация логов и защита от переполнения диска бэкапами.
Подробные инструкции по отдельным модулям находятся в папке documentation/:
install.sh: Инструкция по развертыванию.VpsKeySetup.ps1: Настройка безопасного доступа к VPS.zapret: Инструкции по настройке средств обхода DPI.
Этот проект распространяется под лицензией MIT. Использование кода разрешено в образовательных и коммерческих целях.
Developed with ❤️ for the community.