Proxmox VM 控制工具

一个用于控制 Proxmox 虚拟机的工具集,包含 Python 任务控制器和 Rust GUI 应用程序。

项目结构

  • Python 任务控制器 - proxmox_task_controller.py / proxmox_task_runner.py

    • 待机监听:持续监控命令目录,平时保持低功耗状态
    • 自动启停:按需启动/关闭 Proxmox 虚拟机
    • 任务执行:通过 SSH 在 VM 内执行命令
  • Rust GUI 应用 - src/ (基于 egui)

    • 图形界面:简单易用的 VM 控制面板
    • API 调用:通过 Proxmox REST API 控制虚拟机
    • 中文界面:支持中文字体显示

快速开始

Rust GUI 应用

环境要求

  • Rust 1.70+
  • MSYS2 + MinGW (x86_64-pc-windows-gnu)

编译

# Debug
cargo build --target x86_64-pc-windows-gnu

# Release
cargo build --release --target x86_64-pc-windows-gnu

配置

编辑 .env 文件:

PROXMOX_HOST=your-proxmox-host
PROXMOX_USER=root@pam
PROXMOX_TOKEN=your-api-token
VM_ID=100
NODE=proxmox

运行

./target/x86_64-pc-windows-gnu/release/proxmox-vm-gui.exe

Python 任务控制器

环境要求

  • Python 3.8+
  • Proxmox VE 6.x+

安装

pip install -r proxmox_task/requirements.txt

配置

export PROXMOX_HOST="your-proxmox-host"
export PROXMOX_USER="root@pam"
export PROXMOX_TOKEN="your-api-token"
export VM_ID="100"

运行

python3 proxmox_task_controller.py

配置选项

变量名 说明 默认值
PROXMOX_HOST Proxmox 主机地址 localhost
PROXMOX_USER API 用户 root@pam
PROXMOX_TOKEN API Token (必需)
VM_ID 虚拟机 ID 100
NODE 节点名称 proxmox

许可证

MIT License

Description
启动远程虚拟机,执行任务
Readme 207 KiB
Languages
Rust 60.9%
Python 38%
PowerShell 1.1%