🔧 Версия 2.9.1
Этот выпуск добавляет систему черного списка с проверкой через GitHub, массовую блокировку пользователей, мониторинг аномального трафика и автоматическое шифрование happ-ссылок!
🚫 Система черного списка by @Gy9vin
🔐 Блокировка нежелательных пользователей
Новая система проверки пользователей по черному списку из GitHub!
Что добавлено:
- ✅ Загрузка из GitHub — автоматическое обновление списка по raw URL
- ✅ Проверка по telegram_id и username — гибкая идентификация
- ✅ Интеграция во все потоки — регистрация, покупка, пополнение, промокоды
- ✅ Админ-панель — просмотр, обновление, включение/выключение, установка URL
Новые настройки:
BLACKLIST_CHECK_ENABLED=false
BLACKLIST_GITHUB_URL=https://raw.githubusercontent.com/.../blacklist.txt
BLACKLIST_UPDATE_INTERVAL_HOURS=1
BLACKLIST_IGNORE_ADMINS=true🛑 Массовая блокировка by @Gy9vin
👥 Bulk Ban для администраторов
Быстрая блокировка множества пользователей одним действием!
Возможности:
- ✅ Парсинг списка ID — различные форматы ввода
- ✅ Уведомление пользователей — информирование о блокировке
- ✅ Отчёт для админов — результаты операции в админ-чат
- ✅ Интеграция в админку — новая кнопка «🛑 Массовый бан»
📊 Мониторинг трафика by @Gy9vin
🔍 Обнаружение аномальной активности
Автоматический контроль потребления трафика пользователями!
Функционал:
- ✅ Пороговые значения — настраиваемый лимит ГБ/день
- ✅ Детализация по нодам — информация откуда идёт трафик
- ✅ Уведомления админам — алерты о подозрительной активности
- ✅ Scheduler — периодические автоматические проверки
Новые настройки:
TRAFFIC_MONITORING_ENABLED=false
TRAFFIC_THRESHOLD_GB_PER_DAY=50
TRAFFIC_MONITORING_INTERVAL_HOURS=6
SUSPICIOUS_NOTIFICATIONS_TOPIC_ID=0🔗 Шифрование happ-ссылок
🔒 Автоматическое обогащение ссылок
Интеграция с эндпоинтом шифрования Remnawave!
Изменения:
- ✅ encrypt_happ_crypto_link — новый метод шифрования через API
- ✅ Автообогащение пользователей — happ_crypto_link заполняется автоматически
- ✅ Поддержка в подписках — get_subscription_info генерирует зашифрованные ссылки
- ✅ Опциональный флаг —
enrich_happ_linksдля массовых операций
Особенности:
- 🔄 Graceful fallback при ошибках шифрования
- 🔄 Логирование предупреждений при недоступности API
- 🔄 Минимальное влияние на производительность (опционально)
♻️ Фильтр «Готовы к продлению» by @Gy9vin
💰 Поиск пользователей для продления
Новый фильтр в админке для работы с потенциальными продлениями!
Возможности:
- ✅ Фильтрация по балансу — подписка истекла + баланс >= порог
- ✅ Пагинация списка — удобная навигация
- ✅ Настраиваемый порог —
SUBSCRIPTION_RENEWAL_BALANCE_THRESHOLD_KOPEKS
SUBSCRIPTION_RENEWAL_BALANCE_THRESHOLD_KOPEKS=20000 # 200 руб.🔧 Исправления и улучшения
✅ Логика продления подписки
- Исправлено: продление теперь идёт от
end_dateактивной подписки, а не от текущего времени - Исправлено: корректная обработка пустого списка стран в сохранённой корзине
✅ API Remnawave
- Новый метод
get_user_stats_usageдля получения статистики трафика за период - Новая функция
get_user_by_remnawave_uuidв CRUD
✅ Устойчивость
- Добавлены try/except при отправке сообщений
- Защитные проверки во всех критических местах
- Улучшенное логирование ошибок
📋 Миграция
Новые настройки окружения:
# Черный список
BLACKLIST_CHECK_ENABLED=false
BLACKLIST_GITHUB_URL=https://raw.githubusercontent.com/.../blacklist.txt
BLACKLIST_UPDATE_INTERVAL_HOURS=1
BLACKLIST_IGNORE_ADMINS=true
# Мониторинг трафика
TRAFFIC_MONITORING_ENABLED=false
TRAFFIC_THRESHOLD_GB_PER_DAY=50
TRAFFIC_MONITORING_INTERVAL_HOURS=6
SUSPICIOUS_NOTIFICATIONS_TOPIC_ID=0
# Фильтр продления
SUBSCRIPTION_RENEWAL_BALANCE_THRESHOLD_KOPEKS=20000Обновление:
git pull origin main
# Перезапустите контейнеры
make reload
# Или с логами для отслеживания процесса
make reload-followВажно:
SUSPICIOUS_NOTIFICATIONS_TOPIC_ID— для топиков/тредов, иначе оставить 0
Полный журнал изменений: v2.9.0...v2.9.1