Skip to content

Yury-MonZon/ProxPad

Repository files navigation

๐Ÿ“ฑ ProxPad - Proxmox Control Center & Macro Pad

License: GPL v3 Python 3.6+ Flask GitHub stars GitHub forks

Turn your old iPad/Android tablet/phone into a dedicated Proxmox Control Center and macro pad! ๐Ÿ“ฑโšก

ProxPad is a web-based Stream Deck that puts your entire Proxmox infrastructure at your fingertips. Designed with mobile-first usability, it delivers seamless VM management, macro automation, and media control - all from a touch-optimized interface that works anywhere!


โœจ Why ProxPad? Practical Benefits

๐Ÿ“ฑ Device Reuse: Turn your old iPad/Android tablet/phone into a dedicated Proxmox Control Center and macro pad

โšก Real-Time Updates: Live VM status with instant auto-refresh. Always know what's running

๐ŸŽฏ Smart Resource Management: Hides VMs that share the same resources. Prevents running 2 VMs with the same GPU/SSD/etc

๐ŸŽฎ Macro Automation: Execute macros, launch apps, control media - all with one tap

๐Ÿ“ณ Haptic Feedback: Vibration feedback on button press (configurable)

๐ŸŽจ GIF Support: Animated buttons for a dynamic interface


๐Ÿ“ธ See It In Action!

Mobile Experience - Clean Interface! VM Page Your entire Proxmox fleet, beautifully organized


Macro Page One-tap macro execution - convenient control


Media Page Media control features, integrated with the interface


๐Ÿ› ๏ธ Architecture - Elegantly Simple

๐Ÿ–ฅ๏ธ Server Component (proxpad.py)

  • Runs on your Proxmox server or LXC container
  • Serves the stunning web interface
  • Handles all VM management via Proxmox API
  • Centralized configuration in config.py

๐Ÿ“ฑ Client Component (macro_handler.py)

  • Ultra-lightweight Python script
  • Cross-platform: Windows & Linux support
  • Minimal dependencies: pynput + optional uinput
  • Listens for UDP commands and executes locally

๐Ÿš€ Feature Showcase - What ProxPad Offers

Feature What It Does Practical Benefit
๐Ÿ“ฑ Mobile-Optimized Touch-first responsive design Use it anywhere, anytime
๐Ÿ”„ Live Updates Real-time VM status monitoring Always know what's running
โšก Quick Actions One-tap Start/Stop/Reboot/Shutdown Control VMs instantly
๐ŸŽฏ Smart Resources Auto-hide conflicting VMs No more hardware conflicts
๐ŸŽฎ Macro Pages Customizable macro buttons Automate tasks efficiently
๐ŸŽจ GIF Icons Animated button support Dynamic visual interface
๐ŸŽต Media Control Integrated media player controls Complete media hub
๐Ÿ“ณ Haptic Feedback Vibration feedback on button press Configurable user feedback
๐Ÿ”’ Secure API Proxmox token authentication Secure access
๐Ÿ› ๏ธ Easy Setup Automated install scripts Running in minutes

๐ŸŽฏ Quick Start - Get Running in 5 Minutes!

1๏ธโƒฃ Clone & Install

git clone https://github.com/Yury-MonZon/ProxPad.git
cd ProxPad

# Server dependencies (Proxmox/LXC)
./install_deps_debian.sh  # or install_debs_cachyos.sh

# Client dependencies (VMs)
pip install pynput

2๏ธโƒฃ Configure Proxmox API

  • Log into Proxmox โ†’ Datacenter โ†’ Permissions โ†’ API Tokens
  • Create token: root@pam!ProxPad
  • CRITICAL: Disable "Privilege Separation"

3๏ธโƒฃ Setup Config

# config.py
PROXMOX_HOST = "your-proxmox-ip"
PROXMOX_TOKEN_ID = "root@pam!ProxPad"
PROXMOX_TOKEN_SECRET = "your-secret-token"
VM_IDS = [101, 102, 103, 104]
SAME_RESOURCES = [[101, 102], [103, 104]]  # Conflict groups

4๏ธโƒฃ Launch & Go!

python proxpad.py
# Visit: http://your-ip:5000

๐ŸŽฎ Macro Commands - Available Actions

Create powerful macros with these commands:

Command Example What It Does
Key Press key:win+l Lock screen
Execute exe:calc Open calculator
Type Text type:Hello World Type text
Delay delay:0.5 Wait 0.5 seconds
Open URL url:https://google.com Open browser
Chain Commands key:win; delay:0.1; type:calc; key:enter Complex sequences

๐Ÿง Linux Support - The uinput Advantage!

Why uinput is useful:

  • โœ… Reliable: All key combos work perfectly (including Super/Win!)
  • โœ… No Popups: No annoying permission dialogs (Wayland)
  • โœ… Secure: Proper kernel-level input handling
  • โœ… Flexible: Non-root usage with correct permissions

Setup in 30 seconds:

# Inside your Linux VM
./install_uinput.sh
reboot

That's it! Full keyboard emulation without any limitations!


๐Ÿ“ฑ Usage Scenarios - How People Love ProxPad!

๐ŸŽฎ Gamers & Streamers

  • Launch gaming VMs with one tap
  • Control media without alt-tabbing
  • Macro automation for streaming

๐Ÿ  Home Lab Enthusiasts

  • Manage homelab from couch
  • Automate daily tasks
  • Show off to friends! ๐Ÿ˜Ž

๐Ÿข IT Professionals

  • Manage server farms from anywhere
  • Quick VM restarts during emergencies
  • Monitor infrastructure on-the-go

๐Ÿ”ง Advanced Configuration

Resource Management

SAME_RESOURCES = [
    [101, 102],  # GPU sharing VMs
    [103, 104],  # USB device VMs
]

Custom Macros

MACROS = {
    "gaming": "key:win; delay:0.2; type:steam; key:enter",
    "work": "url:https://company-portal.com",
}

Security Options

VERIFY_SSL = False  # For self-signed certs
SHY_MODE = True    # Confirmation dialogs

๐Ÿšจ Troubleshooting - Quick Fixes!

Problem Solution
Connection Failed Check API token permissions (VM.Audit + VM.PowerMgmt)
VMs Not Showing Verify VM_IDS in config and token permissions
Page Not Updating Clear browser cache, ensure server running
Macros Not Working Run macro_handler.py in target VM
Linux Keys Not Working Install uinput and reboot

๐ŸŒŸ Community & Support

Need Help? We've Got You Covered!

  • ๐Ÿ“‹ Issues: Report bugs on GitHub
  • ๐Ÿ’ฌ Discord: DM author monzon4765
  • ๐Ÿ’ฐ Premium Support: One-on-one setup paid assistance available

Contributing Welcome!

  • ๐ŸŽจ UI/UX improvements
  • ๐Ÿ”ง New features
  • ๐Ÿ› Bug fixes
  • ๐Ÿ“š Documentation

๐Ÿ“œ License - Open Source!

ProxPad - Proxmox Control Deck & Macro Pad
Copyright (C) 2024 Yury Monzon

This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.

๐ŸŽ‰ Support the Project - Help Us Improve

Love ProxPad? Show your support and help us keep developing!

Donate

Every donation helps us:

  • ๐Ÿš€ Add new features
  • ๐Ÿ› Fix bugs faster
  • ๐Ÿ“š Improve documentation
  • ๐ŸŒŸ Grow the community

Your support helps ProxPad development! โค๏ธ


๐Ÿš€ Ready to Enhance Your Proxmox Experience?

What are you waiting for?

  1. โญ Star the repo - Show your love!
  2. ๐Ÿš€ Install now - Get running in minutes!
  3. ๐Ÿ“ฑ Transform your phone - Become a Proxmox power user!
  4. ๐ŸŽ‰ Join the community - Share your experience!

#Homelab #Proxmox #ReuseOldTablet #HardwareMacroPad #VFIO

About

ProxPad is a web-based macropad interface for managing Proxmox virtual machines with a focus on mobile-friendly design and resource conflict prevention.

Topics

Resources

License

Stars

Watchers

Forks

Sponsor this project

Contributors