98adbefefe17a7e6894b6f30874edd3243322f6b
Proxmox SPICE Client
Electron-basierter Desktop-Client für Proxmox VE — als Alternative zu RDP/noVNC.
Nutzt das SPICE-Protokoll über virt-viewer für USB-Redirect, Vollbild und Multi-Monitor-Support.
Features
- Auto-Connect — hat ein Benutzer nur eine SPICE-fähige VM, wird direkt verbunden (kein Menü)
- VM-Liste — bei mehreren VMs erscheint ein Auswahl-Menü (nur laufende VMs mit SPICE)
- Credential-Speicher — Zugangsdaten optional lokal speichern
- USB-Redirect — nativ über
remote-viewer(kein Plugin nötig) - Vollbild / Multi-Monitor —
Shift+F11im SPICE-Viewer - Proxmox-Benutzer-Konten — jeder User sieht nur seine zugewiesenen VMs
Voraussetzungen
Client-Maschinen
Linux:
sudo apt install virt-viewer
Windows:
Download: https://virt-manager.org/download/
Node.js / npm
node >= 18
npm >= 9
Installation & Start
git clone https://git.hacker-net.de/aria.hacker/proxmox-spice-client.git
cd proxmox-spice-client
npm install
npm start
Build (AppImage / deb / Windows Installer)
npm run build:linux # → dist/*.AppImage + *.deb
npm run build:win # → dist/*Setup*.exe
Siehe BUILD.md für detaillierte Build-Anleitung inkl. Icon-Konvertierung.
Docker (X11-Forwarding)
cp .env.example .env
# DISPLAY und PULSE_UID anpassen
xhost +local:docker
docker compose up --build
Persistente Daten (Zugangsdaten) landen im Verzeichnis ./daten/.
Konfiguration
| Einstellung | Ort |
|---|---|
| Proxmox-URL | Login-Maske in der App |
| Zugangsdaten | Optional lokal gespeichert (electron-store) |
| Realm | Login-Maske (Standard: pam) |
Architektur
src/
├── main.js # Electron-Hauptprozess, IPC, SPICE-Ticket, remote-viewer-Start
├── preload.js # Context-Bridge (sicherer API-Kanal ins Renderer)
├── proxmox.js # Proxmox REST API Client (self-signed SSL OK)
└── renderer/
├── login.html/js # Login mit optionalem Credential-Speicher
├── vms.html/js # VM-Liste, Auto-Connect-Logik
└── styles.css # Dark-UI
Ablauf:
- Login mit Proxmox-Credentials (Benutzer + Realm)
GET /cluster/resources?type=vm— nur zugewiesene VMs- Filter: laufend + SPICE-fähig (
qxl*odervirtio-vga-gl) - Eine VM → direkt verbinden; mehrere → Liste
- SPICE-Ticket via
/spiceproxy→.vv-Datei →remote-viewer
Lizenz
MIT
Description
Electron-basierter Proxmox SPICE-Client — USB-Redirect, Vollbild, Multi-Monitor, Auto-Connect
94 KiB