Full Changelog: v2.1.4...v2.1.5
🍪 Добавлена поддержка куки-аутентификации для защищенных панелей Remnawave
Описание изменений
Реализована интеграция с системой защиты панели Remnawave через куки-аутентификацию, которая используется в [remnawave-reverse-proxy] для скрытия панели от несанкционированного доступа.
Что добавлено
1. Поддержка куки-аутентификации в API клиенте
- Файл:
app/external/remnawave_api.py - Добавлен опциональный параметр
secret_keyв конструкторRemnawaveAPI - Куки автоматически передаются с каждым HTTP запросом к панели
- Поддержка формата
ключ:значениедля случаев, когда имя и значение куки отличаются
2. Обновлена конфигурация
- Файл:
app/config.py - Добавлен параметр
REMNAWAVE_SECRET_KEY: Optional[str] = None - Куки-аутентификация полностью опциональна - если ключ не указан, бот работает в обычном режиме
3. Обновлен сервис Remnawave
- Файл:
app/services/remnawave_service.py - Передача секретного ключа в API клиент
- Сохранена обратная совместимость с незащищенными панелями
Настройка
Переменные окружения
# Обязательные параметры (как было)
REMNAWAVE_API_URL=https://panel.example.com
REMNAWAVE_API_KEY=your_jwt_token_here
# НОВЫЙ параметр для защищенных панелей (опционально)
REMNAWAVE_SECRET_KEY=secret_key_name:secret_key_value
# или для случаев, когда ключ и значение одинаковые:
REMNAWAVE_SECRET_KEY=secret_key_nameПример конфигурации для remnawave-reverse-proxy
Если ваша панель защищена URL вида:
https://panel.example.com/auth/login?mySecretKey=mySecretValue
То в .env указываете:
REMNAWAVE_SECRET_KEY=mySecretKey:mySecretValueПринцип работы
- При создании HTTP сессии, если указан
REMNAWAVE_SECRET_KEY, куки автоматически добавляются к каждому запросу - Поддерживаются оба формата:
key:value- когда имя и значение куки отличаютсяkey- когда имя и значение куки одинаковые (как в стандартной реализации)
- Все заголовки для корректной работы через прокси добавлены автоматически
Обратная совместимость
- Боты с незащищенными панелями продолжают работать без изменений
- Если
REMNAWAVE_SECRET_KEYне указан, куки-аутентификация не используется