Управление подписками и доступами к серверам (Python)

Функциональные требования

Subscription URL

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

Middle Layer (отказоустойчивость)

Разработать модуль-агрегатор, который опрашивает API нескольких панелей управления серверами (нодами). Если одна панель недоступна, она автоматически исключается из выдачи активной подписки.

HTTPS/SSL

Настроить взаимодействие с API панелей по защищённому протоколу. В конфигурации предусмотреть флаг verify_ssl: false для работы во внутренних сетях.

Telegram Web App (TWA)

Создать интерфейс личного кабинета с возможностью визуализации статистики использования ресурсов, отображения срока действия подписки и кнопкой копирования персональной ссылки.

Миграция данных

  • Перенос существующей базы (200+ пользователей) в новую структуру БД
  • Сохранение ID, текущих лимитов и сроков действия доступов
  • Автоматическая генерация новых параметров доступа при первом входе пользователя в обновлённого бота

Технические требования

  • Стек: Python (aiogram 3), PostgreSQL, Docker
  • Полная асинхронность с использованием библиотеки aiohttp
  • Глубокое логирование API-запросов и системных событий
  • Чистый код и architecture, позволяющая добавлять новые узлы через конфиг

Ожидаемый результат

Стабильная система с централизованным управлением доступами и корректно перенесённой базой данных.