🤖 Proxmox VE Telegram Bot
Самый продвинутый и безопасный Telegram-бот для управления Proxmox VE в 2025 году Всё, что нужно системному администратору: мониторинг, алерты, управление VM/LXC и безопасный шелл — прямо в чате.
Это мой первый публичный репозиторий, поэтому не ругайте строго ✨
| Категория | Функционал | Описание |
|---|---|---|
| 📊 Мониторинг | Статус хоста (/status) |
Аптайм, нагрузка CPU, RAM, диски, температуры |
Списки VM/LXC (/vm, /lxc) |
Кнопочное управление, метрики реального времени | |
| ⚡ Управление | Управление VM/LXC | Start / Stop / Reboot с подтверждением |
| Поддержка кластера | Автоматический поиск ноды по VMID | |
| 🔧 Утилиты | Безопасная консоль (/console) |
Таймаут 30с, чёрный список команд, обрезка вывода |
| Автоматические алерты | Мониторинг перегрева, нагрузки CPU/RAM | |
| 🔐 Безопасность | Whitelist-доступ | Только указанные Telegram ID |
| Уведомления о попытках доступа | Админы получают оповещения о неавторизованных действиях |
cd /opt
git clone https://github.com/sliva/proxmox-telegram-bot.git
cd proxmox-telegram-bot
python3 -m venv venv
source venv/bin/activate
pip install -r requirements.txtКонфигурация
Создайте файл .env:
# Telegram
BOT_TOKEN=your_bot_token_from_BotFather
WHITELIST=your_telegram_id
# Proxmox (рекомендуется API Token!)
HOST=your_proxmox_ip
PROXMOX_TOKEN_NAME=telegram-bot@pve!
PROXMOX_TOKEN_VALUE=your_token_value
PROXMOX_PORT=8006
# Настройки алертов
CPU_TEMP_THRESHOLD=80
CPU_USAGE_THRESHOLD=70
RAM_USAGE_THRESHOLD=70
CHECK_INTERVAL=30💡 Как создать токен в Proxmox: >
Datacenter → Permissions → API Tokens → AddПрава:/
Запуск
python main.py| Команда | Описание |
|---|---|
/start |
Приветствие и список команд |
/status |
Полная сводка по хосту |
/vm |
Список всех виртуальных машин |
/lxc |
Список всех LXC-контейнеров |
/console <cmd> |
Выполнить команду (ls, mkdir, etc) |
Создайте файл /etc/systemd/system/proxmox-bot.service:
[Unit]
Description=Proxmox VE Telegram Bot
After=network.target
[Service]
Type=simple
User=root
WorkingDirectory=/opt/proxmox-telegram-bot
ExecStart=/opt/proxmox-telegram-bot/venv/bin/python /opt/proxmox-telegram-bot/main.py
Restart=always
RestartSec=10
StandardOutput=journal
StandardError=journal
[Install]
WantedBy=multi-user.targetАктивируйте сервис:
systemctl daemon-reload
systemctl enable --now proxmox-bot.service- ✅ Whitelist-авторизация — только разрешённые Telegram ID
- ✅ Уведомления о попытках взлома — мгновенные оповещения админам
- ✅ Защищённая консоль — жёсткий чёрный список команд:
rm -rf /,mkfs,fdisk,dd of=/dev/,wipefsshutdown,reboot,halt,poweroff- Форк-бомбы и опасные конструкции
- ✅ Таймауты выполнения — максимум 30 секунд на команду
- ✅ Обрезка вывода — ограничение 4000 символов
proxmox-telegram-bot/
├── main.py # Запуск бота
├── config.py # Загрузка конфигурации из .env
├── requirements.txt # Зависимости проекта
├── .env # Конфигурация (не в репозитории)
├── README.md # Документация проекта
│
├── core/ # Ядро бота
│ ├── __init__.py
│ ├── auth.py # Whitelist + уведомления безопасности
│ └── logger.py # Настройки логирования
│
├── handlers/ # Обработчики команд бота
│ ├── __init__.py
│ ├── common.py # Общие команды (/start, /help, /status)
│ ├── console.py # Консоль сервера
│ ├── resources.py # Единый обработчик ресурсов
│ └── routers.py # Маршрутизация команд
│
├── proxmox/ # Взаимодействие с Proxmox API
│ ├── __init__.py
│ ├── client.py # API клиент
│ ├── vms.py # Работа с виртуальными машинами
│ ├── lxcs.py # Работа с контейнерами LXC
│ └── utils.py # Утилиты для работы с Proxmox
│
├── services/ # Дополнительные сервисы
│ ├── __init__.py
│ └── alerts.py # Система мониторинга и алертов
│
└── system/ # Системные утилиты
├── __init__.py
├── checks.py # Проверки системы (диск, память, нагрузка)
└── sensors.py # Мониторинг температуры и датчиков
MIT License — полная свобода использования с ответственностью.
MIT License © 2025-2026 Sliva


