Документация swager: http://185.46.11.15:8000/docs#/
Схема работы в миро: https://miro.com/welcomeonboard/Rk16djBDSnNmWGFLcGdsZkJ4TnQzM01mS2Y4U3FTMTVndFNJTUdyd21ZNHZNcmNHdUE0MGRRMnd5bjlMNG5DSXwzMDc0NDU3MzYwOTMwMTc4MDAzfDI
https://docs.marzban.dev/
Цель проекта:
Разработать API интеграцию для взаимодействия с сервисом Marzban для нашего VPN-сервиса через Telegram бота.
Описание задачи:
Сейчас сервис работает на Outline, поэтому нужно добавить возможность переключения с одного клиента (Outline) на другой (Marzban). Для этого в коде есть адаптер, но нет переключателя. В БД понадобится создать дополнительную таблицу vpn_clients, чтобы такое переключение работало.
Функционал:
- Генерация ключа:
- Эндпоинт API должен предоставлять возможность генерации уникального ключа для пользователя.
- В ответ на запрос должен возвращаться сгенерированный ключ в формате JSON.
- Удаление ключа:
- Эндпоинт API должен позволять пользователю удалять свой существующий ключ.
- После успешного удаления ключа, он больше не должен быть действителен для доступа к сервису.
- В ответ на запрос должно возвращаться подтверждение успешного удаления ключа.
- Создание быстрой ссылки для настройки Streisand клиента:
- Эндпоинт API должен генерировать ссылку для настройки Streisand клиента.
- Ссылка должна содержать необходимую информацию для автоматической настройки клиента на стороне пользователя.
- Пример: artydev_wg_payment_bot
- Добавление нод
- Реализовать возможность добавления новых серверов с marzban в кластер.
Требования:
- Все запросы и ответы должны быть в формате JSON.
- Должна быть предусмотрена обработка ошибок с соответствующими HTTP статусами.
- Необходимо обеспечить документацию к API.
Сроки и бюджет:
- Срок выполнения проекта: 1 неделя.
- Бюджет: 10 000 рублей.