# 🤖 VDS Server Management Bot
Telegram-бот для управления и мониторинга VDS-сервера на Ubuntu. Позволяет удаленно отслеживать состояние системы, управлять сервисами, процессами и создавать бэкапы.
## 🚀 Основные функции
- **🔐 Аутентификация и безопасность**
- Система белого списка пользователей (SQLite)
- Команда `/auth` для добавления новых пользователей (только для админов)
- Логирование всех действий
- **📊 Мониторинг сервера**
- `/status` - Информация о CPU, RAM, диске, аптайме и IP
- `/logs [N]` - Просмотр последних N строк логов
- `/ports` - Список открытых портов
- `/connections` - Активные сетевые подключения
- **⚙️ Управление сервисами**
- `/services` - Список активных сервисов
- `/restart [service]`, `/start [service]`, `/stop [service]` - Управление сервисами
- **🧰 Управление процессами**
- `/processes` - Топ 10 процессов по CPU
- `/kill [PID]` - Завершение процесса
- **💾 Бэкапы**
- `/backup` - Создание бэкапа директории `/home/mrk/`
- Автоматическая отправка в Telegram (если ≤ 20 МБ) или на Яндекс.Диск (если > 20 МБ)
- Список существующих бэкапов
- **👥 Управление пользователями (только для админов)**
- `/adduser <username> [password]` - Создать пользователя на сервере
- `/deluser <username>` - Удалить пользователя с сервера
- **🖥️ Выполнение команд (только для админов)**
- `/exec [command]` - Выполнить shell-команду на сервере
- **🔔 Уведомления**
- Авто-уведомления о высокой нагрузке (CPU, RAM, Disk)
## 🛠️ Технические детали
- Python 3.8+
- Aiogram 3.x
- SQLite3 для хранения пользователей и логов
- Async/await архитектура
- Безопасное хранение конфиденциальных данных (токен бота в `.env`)
## 🚀 Установка и запуск
1. Клонируйте репозиторий:
```bash
git clone https://github.com/ваш_логин/vds_bot.git
cd vds_bot
-
Создайте виртуальное окружение и установите зависимости:
python3 -m venv venv source venv/bin/activate # На Windows: venv\Scripts\activate pip install -r requirements.txt
-
Создайте файл
.env
и заполните его (см..env.example
). -
Настройте
sudoers
для командsystemctl
(см. Wiki). -
Запустите бота:
python main.py
- Добавить шифрование архива бэкапа
По всем вопросам обращайтесь в личные сообщения Telegram-канала: t.me/mrkcoder