github jatixs/tgbotvpscp 1.25.0

7 hours ago

English Version | Русская Версия

[1.25.0] - 2026-08-20

🚀 Новые функции:

  • WebUI:
    • Конструктор дашборда: Добавлена новая функциональность кастомной сборки интерфейса! Теперь вы можете перетаскивать виджеты (Drag-and-Drop) на главной странице и менять их местами. Блоки автоматически подгоняют свой размер и ширину, чтобы красиво заполнять свободное пространство без образования пустот. Весь созданный макет автоматически сохраняется для вашего устройства.
    • Мини-графики: В блоке быстрой статистики добавлены мини-графики нагрузки CPU/RAM/Диска (по аналогии с графиком трафика), а также наглядная визуализация Uptime/Downtime в виде разделенной шкалы «онлайн/простой».

🔒 Безопасность и API:

  • Безопасность пакетов: Жесткая фиксация версии setuptools (>=83.0.0) в скриптах развертывания для устранения уязвимостей CVE-2025-47273 (Path Traversal) и CVE-2026-59890 (MANIFEST.in bypass).
  • Изоляция Sudo: Права пользователя бота ограничены. Убран NOPASSWD: ALL (и доступ к apt) для предотвращения эскалации привилегий, добавлена поддержка безопасных bash-скриптов.

✨ Улучшено:

  • WebUI:
    • Анимации: Добавлена плавная анимация "дешифровки" данных (IP-адрес, Ping) при загрузке дашборда до получения SSE-ответов. Это позволило избавиться от визуальных скачков и "вспышек" текста при обновлении интерфейса.
    • Навигация: Оптимизировано расположение кнопок в навигационной панели по логическим группам (настройки, администрирование, персонализация, профиль). Кнопка "Редактировать интерфейс" скрывает текст на мобильных устройствах для экономии места.
    • Загрузка: Лимит на загрузку файлов снижен с 50 МБ до 5 МБ для защиты от исчерпания памяти (DoS-вектор).
  • Архитектура: Устранена потенциальная утечка памяти (Memory Leak) при управлении фоновыми задачами в оркестраторе модулей.
  • Сетевая логика: Полностью переработана механика замера внутреннего пинга. Теперь бот не инициирует самостоятельные запросы к нодам (что могло блокироваться файрволами), а берет точные данные о задержке из контрольных пакетов (heartbeats) самой быстрой доступной ноды.

🐛 Исправлено:

  • Система (Systemd): Исправлено аварийное завершение процесса бота по таймауту (stop-sigterm timed out. Killing.) при перезагрузке через systemctl. Проблема была вызвана race condition в фоновом мониторинге логов (tail, journalctl), которые мгновенно пересоздавались при выключении.
  • WebUI:
    • Вёрстка: Блок системных логов больше не схлопывается и не меняет свой размер во время первоначальной загрузки страницы.
    • Адаптивная сетка дашборда: Блоки в одной строке теперь всегда выравниваются по высоте, а их внутреннее содержимое (список служб, карточки нод, окно системных логов) корректно адаптируется под выделенное пространство и под ручное изменение размера блока, вместо образования пустых «растянутых» областей.
    • Карточки нод: Переработано отображение статистики (ЦП/ОЗУ/Диск/трафик) в карточках нод — компактная сетка вместо инлайн-стилей, корректно выглядит при любом размере блока «Управление Нодами».
    • Добавление ноды: Устранён конфликт двух реализаций шифрования запросов (encryptData) в common.js и dashboard.js — старая XOR-функция в dashboard.js перекрывала корректную AES-функцию, из-за чего сервер не мог расшифровать запрос и возвращал ошибку «Name required» при попытке добавить ноду.

Full Changelog: 1.24.4...1.25.0

Don't miss a new tgbotvpscp release

NewReleases is sending notifications on new releases.