Всем привет! Прошло совсем немного времени с момента выпуска версии 1.10.9 моего Telegram-бота для мониторинга VPS, о котором я рассказывал ранее. Но проект не стоит на месте – за пару недель бот значительно прокачался. В этой статье я расскажу, что нового появилось с версии 1.10.9 до текущей 1.10.14, какие изменения произошли в коде, и чего ждать дальше.

1. Модульность и умная установка – фундамент для роста
Главное внутреннее изменение – бот пережил масштабный рефакторинг. Вместо одного монолитного скрипта теперь чёткое разделение на ядро (core/) и набор независимых модулей (modules/). Каждая фича вынесена в свой модуль, что повышает читаемость кода и упрощает добавление нового функционала. Прошлая структура скрипта больше не поддерживается – пришлось внести breaking changes, потребовавшие переустановки, но оно того стоило.
Одновременно я полностью переработал скрипт установки deploy.sh. Теперь он стал умнее: перед запуском меню он проверяет целостность установки – наличие всех нужных папок, виртуального окружения, конфигов, systemd-сервисов и т.д. В зависимости от результата бот направит вас либо к установке, либо к восстановлению недостающих файлов, либо предложит переустановку. Это защитит от случаев, когда после кривого обновления чего-то не хватает.
Скрипт также создаёт .gitignore, чтобы при обновлении не затирать ваши локальные файлы. Можно выбирать ветку: main или develop. В меню теперь показывается текущая и последняя версия бота.
2. Бот заговорил по-английски: полноценная i18n
Теперь бот полностью двуязычный, поддерживает русский и английский языки во всех сообщениях, кнопках, меню и уведомлениях. Реализовано это через модуль core/i18n.py. Язык пользователя запоминается, а переключить его можно в главном меню через кнопку "Язык / Language".
Переведены также README и скрипт установки. А для разработчиков все тексты централизованы и подключаются через get_text() — никаких хардкодов.


Теперь бот можно запускать в Docker. При установке вы выбираете: классический systemd или контейнер. Бот определяет тип установки по переменной DEPLOY_MODE, а watchdog теперь следит как за сервисом, так и за контейнером через Docker API.
Для работы с хостом внутри контейнера реализована утилита get_host_path(). К примеру, reboot теперь делается через chroot /host /sbin/reboot. Всё работает и в Secure, и в Root режиме.
Добавлены зависимости, настройка docker-compose, исправлены баги с cgroups. Всё разворачивается в один клик.
4. Новые возможности: оптимизация и улучшения мониторинга
Добавлена кнопка "⚡️ Оптимизация" — выполняет набор команд по очистке системы. Работает только в Root-режиме. Speedtest теперь на базе iperf3 с умным подбором ближайших серверов и понятной визуализацией. Также поддерживаются локальные iperf-сервера по стране.
Добавлены:
антифлуд на кнопки (5 секунд кулдаун);
отдельная кнопка "⏹ Остановить" для мониторинга трафика;
экранирование HTML в логах;
улучшения UX (имя пользователя в логах, исправление гонки в async);
ежедневная ротация логов и раздельные папки логов для watchdog и бота.
5. Надёжность и безопасность
Бот стал стабильнее. watchdog различает статусы: активен, активен с ошибками, не запущен. После старта проверяются логи на наличие критических ошибок. Используется logging.exception — теперь всё в логах с traceback.
Исправлены XSS в логах и баг с проверкой прав у админов. Ошибка чтения логов AssertionError: feed_data after feed_eof устранена.
6. Roadmap: Web UI, CLI и агент-ноды
Что дальше:
Агент-нода архитектура: бот будет контроллером, а на каждой VPS будет нода-агент. Управление из Telegram одного бота для десятков серверов.
Web UI: легковесная панель для мониторинга всех серверов. Не заменит бота, а дополнит.
CLI: управление ботом и нодами из терминала. Удобно для автоматизации.
Также будут расширяться модули: мониторинг Docker, бэкапы, интеграции.
Проект open-source, лицензия GPL-3.0. Присоединяйтесь, предлагайте идеи, ставьте звёздочки на GitHub. Сделаем администрирование серверов проще вместе!
NoteDevil
Очень интересный проект!
Но на сколько он конкурентно способен будет с админ панелями этот тот еще вопрос. Если проект будет интегрирован с админ панелью VPS/VDS, то он не будет уступать гигантам хостинговых компаний. А если будут реализованы такие функции в TG как управление DNS, почтовыми ящиками, базами данных, FTP, SSL-сертификатами, резервным копированием с версионностью и т.д. то он может быть конкурентно способным.