Skip to content

Conversation

@greenlogles
Copy link
Owner

Features:

  • WebSocket proxy to relay VNC traffic between browser and Proxmox
  • VNC ticket API endpoint (/api/vm///vnc-ticket)
  • Console page with embedded noVNC client at /vm///console
  • Console button on VM details page (QEMU VMs only)
  • Console icon in VMs list view for running VMs
  • Clipboard integration (paste to VM, copy from VM)
  • Fullscreen toggle and Ctrl+Alt+Del button
  • Auto-reconnect on disconnect (up to 3 attempts)
  • Support for both API token and password authentication

Dependencies:

  • flask-sock for WebSocket support
  • simple-websocket as WebSocket backend
  • websocket-client for Proxmox connection

This enables browser-based VNC console access when Proxmox servers are not directly accessible from the client.

Features:
- WebSocket proxy to relay VNC traffic between browser and Proxmox
- VNC ticket API endpoint (/api/vm/<node>/<vmid>/vnc-ticket)
- Console page with embedded noVNC client at /vm/<node>/<vmid>/console
- Console button on VM details page (QEMU VMs only)
- Console icon in VMs list view for running VMs
- Clipboard integration (paste to VM, copy from VM)
- Fullscreen toggle and Ctrl+Alt+Del button
- Auto-reconnect on disconnect (up to 3 attempts)
- Support for both API token and password authentication

Dependencies:
- flask-sock for WebSocket support
- simple-websocket as WebSocket backend
- websocket-client for Proxmox connection

This enables browser-based VNC console access when Proxmox servers
are not directly accessible from the client.
@greenlogles greenlogles deleted the vnc-console-proxy branch January 21, 2026 04:32
@greenlogles greenlogles restored the vnc-console-proxy branch January 21, 2026 04:33
@greenlogles greenlogles deleted the vnc-console-proxy branch January 21, 2026 05:15
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants