From 6c4553587516361d5dff96aa97baa395d7cfa002 Mon Sep 17 00:00:00 2001 From: MacRimi Date: Wed, 16 Apr 2025 21:49:03 +0200 Subject: [PATCH] update footer --- scripts/help_info_menu.sh | 724 ++++++++++++++++++----------- web/components/footer.tsx | 14 +- web/components/footer2.tsx | 14 +- web/public/help/help-info-menu.png | Bin 0 -> 105673 bytes 4 files changed, 469 insertions(+), 283 deletions(-) create mode 100644 web/public/help/help-info-menu.png diff --git a/scripts/help_info_menu.sh b/scripts/help_info_menu.sh index 764e27b..98d35f4 100644 --- a/scripts/help_info_menu.sh +++ b/scripts/help_info_menu.sh @@ -47,85 +47,155 @@ fi # 01 Useful System Commands # =============================================================== show_system_commands() { - clear - echo -e "${YELLOW}$(translate 'Useful System Commands')${NC}" - echo "----------------------------------------" - echo -e " 1) ${GREEN}pveversion${NC} - $(translate 'Show Proxmox version')" - echo -e " 2) ${GREEN}pveversion -v${NC} - $(translate 'Detailed Proxmox version info')" - echo -e " 3) ${GREEN}systemctl status pveproxy${NC} - $(translate 'Check Proxmox Web UI status')" - echo -e " 4) ${GREEN}systemctl restart pveproxy${NC} - $(translate 'Restart Web UI proxy')" - echo -e " 5) ${GREEN}journalctl -xe${NC} - $(translate 'System errors and logs')" - echo -e " 6) ${GREEN}uptime${NC} - $(translate 'System uptime')" - echo -e " 0) $(translate 'Back to previous menu')" - echo - echo -en "${TAB}${BOLD}${YW}${HOLD}$(translate 'Enter number or paste a command: ') ${CL}" - read -r user_input + while true; do + clear + echo -e "${YELLOW}$(translate 'Useful System Commands')${NC}" + echo "----------------------------------------" + echo -e " 1) ${GREEN}pveversion${NC} - $(translate 'Show Proxmox version')" + echo -e " 2) ${GREEN}pveversion -v${NC} - $(translate 'Detailed Proxmox version info')" + echo -e " 3) ${GREEN}systemctl status pveproxy${NC} - $(translate 'Check Proxmox Web UI status')" + echo -e " 4) ${GREEN}systemctl restart pveproxy${NC} - $(translate 'Restart Web UI proxy')" + echo -e " 5) ${GREEN}journalctl -xe${NC} - $(translate 'System errors and logs')" + echo -e " 6) ${GREEN}uptime${NC} - $(translate 'System uptime')" + echo -e " 7) ${GREEN}hostnamectl${NC} - $(translate 'System hostname and kernel info')" + echo -e " 8) ${GREEN}free -h${NC} - $(translate 'RAM and swap usage')" + echo -e " 9) ${GREEN}uptime -p${NC} - $(translate 'Pretty uptime format')" + echo -e "10) ${GREEN}who -b${NC} - $(translate 'Last system boot time')" + echo -e "11) ${GREEN}last -x | grep shutdown${NC} - $(translate 'Previous shutdowns')" + echo -e "12) ${GREEN}dmesg -T | tail -n 50${NC} - $(translate 'Last 50 kernel log lines')" + echo -e "13) ${GREEN}cat /etc/os-release${NC} - $(translate 'OS release details')" + echo -e "14) ${GREEN}uname -a${NC} - $(translate 'Kernel and architecture info')" + echo -e "15) ${GREEN}uptime && w${NC} - $(translate 'Uptime and who is logged in')" + echo -e "16) ${GREEN}whoami${NC} - $(translate 'Current user')" + echo -e "17) ${GREEN}id${NC} - $(translate 'Current user UID, GID and groups')" + echo -e "18) ${GREEN}who${NC} - $(translate 'Logged-in users')" + echo -e "19) ${GREEN}w${NC} - $(translate 'User activity and uptime')" + echo -e "20) ${GREEN}cut -d: -f1,3,4 /etc/passwd${NC} - $(translate 'All users with UID and GID')" + echo -e "21) ${GREEN}getent passwd | column -t -s :${NC} - $(translate 'Readable user table (UID, shell, etc.)')" + echo -e " ${DEF}0)$(translate ' Back to previous menu')${CL}" + echo + echo -en "${TAB}${BOLD}${YW}${HOLD}$(translate 'Enter a number, or write or paste a command.: ') ${CL}" + read -r user_input - case "$user_input" in - 1) cmd="pveversion" ;; - 2) cmd="pveversion -v" ;; - 3) cmd="systemctl status pveproxy" ;; - 4) cmd="systemctl restart pveproxy" ;; - 5) cmd="journalctl -xe" ;; - 6) cmd="uptime" ;; - 7) cmd="htop" ;; - 0) return ;; - *) cmd="$user_input" ;; - esac + case "$user_input" in + 1) cmd="pveversion" ;; + 2) cmd="pveversion -v" ;; + 3) cmd="systemctl status pveproxy" ;; + 4) cmd="systemctl restart pveproxy" ;; + 5) cmd="journalctl -xe" ;; + 6) cmd="uptime" ;; + 7) cmd="hostnamectl" ;; + 8) cmd="free -h" ;; + 9) cmd="uptime -p" ;; + 10) cmd="who -b" ;; + 11) cmd="last -x | grep shutdown" ;; + 12) cmd="dmesg -T | tail -n 50" ;; + 13) cmd="cat /etc/os-release" ;; + 14) cmd="uname -a" ;; + 15) cmd="uptime && w" ;; + 16) cmd="whoami" ;; + 17) cmd="id" ;; + 18) cmd="who" ;; + 19) cmd="w" ;; + 20) cmd="cut -d: -f1,3,4 /etc/passwd" ;; + 21) cmd="getent passwd | column -t -s :" ;; + 0) break ;; + *) cmd="$user_input" ;; + esac - echo -e " -${GREEN}> $cmd${NC} -" - bash -c "$cmd" - echo - msg_success "$(translate 'Press ENTER to return to the menu...')" - read -r tmp + echo -e "\n${GREEN}> $cmd${NC}\n" + bash -c "$cmd" + echo + msg_success "$(translate 'Press ENTER to continue...')" + read -r tmp + done } + # =============================================================== # 02 VM and CT Management Commands # =============================================================== show_vm_ct_commands() { - clear - echo -e "${YELLOW}$(translate 'VM and CT Management Commands')${NC}" - echo "---------------------------------------------------" - echo -e " 1) ${GREEN}qm list${NC} - $(translate 'List all virtual machines')" - echo -e " 2) ${GREEN}pct list${NC} - $(translate 'List all LXC containers')" - echo -e " 3) ${GREEN}qm start ${NC} - $(translate 'Start a virtual machine. Replace with the correct ID')" - echo -e " 4) ${GREEN}pct start ${NC} - $(translate 'Start a container. Replace with the correct ID')" - echo -e " 5) ${GREEN}qm stop ${NC} - $(translate 'Force stop a virtual machine. Replace with the correct ID')" - echo -e " 6) ${GREEN}pct stop ${NC} - $(translate 'Force stop a container. Replace with the correct ID')" - echo -e " 7) ${GREEN}qm config ${NC} - $(translate 'Show VM configuration. Replace with the correct ID')" - echo -e " 8) ${GREEN}pct config ${NC} - $(translate 'Show container configuration. Replace with the correct ID')" - echo -e " 9) ${GREEN}qm destroy ${NC} - $(translate 'Delete a VM (irreversible). Replace with the correct ID')" - echo -e " 10) ${GREEN}pct destroy ${NC} - $(translate 'Delete a CT (irreversible). Replace with the correct ID')" - echo -e " 0) $(translate 'Back to previous menu')" - echo - echo -en "${TAB}${BOLD}${YW}${HOLD}$(translate 'Enter number or paste a command: ') ${CL}" - read -r user_input + while true; do + clear + echo -e "${YELLOW}$(translate 'VM and CT Management Commands')${NC}" + echo "---------------------------------------------------" + echo -e " 1) ${GREEN}qm list${NC} - $(translate 'List all virtual machines')" + echo -e " 2) ${GREEN}pct list${NC} - $(translate 'List all LXC containers')" + echo -e " 3) ${GREEN}qm start ${NC} - $(translate 'Start a virtual machine. Use the correct ')" + echo -e " 4) ${GREEN}pct start ${NC} - $(translate 'Start a container. Use the correct ')" + echo -e " 5) ${GREEN}qm stop ${NC} - $(translate 'Force stop a virtual machine. Use the correct ')" + echo -e " 6) ${GREEN}pct stop ${NC} - $(translate 'Force stop a container. Use the correct ')" + echo -e " 7) ${GREEN}qm config ${NC} - $(translate 'Show VM configuration. Use the correct ')" + echo -e " 8) ${GREEN}pct config ${NC} - $(translate 'Show container configuration. Use the correct ')" + echo -e " 9) ${GREEN}qm destroy ${NC} - $(translate 'Delete a VM (irreversible). Use the correct ')" + echo -e "10) ${GREEN}pct destroy ${NC} - $(translate 'Delete a CT (irreversible). Use the correct ')" + echo -e "11) ${GN}[Only with menu] Show CT users for permission mapping${NC} - $(translate 'root and real users only')" + echo -e "12) ${GREEN}pct exec -- getent passwd | column -t -s :${NC} - $(translate 'Show CT users in table format')" + echo -e "13) ${GREEN}pct exec -- ps aux --sort=-%mem | head${NC} - $(translate 'Top memory processes in CT')" + echo -e " ${DEF}0)$(translate ' Back to previous menu')${CL}" + echo + echo -en "${TAB}${BOLD}${YW}${HOLD}$(translate 'Enter a number, or write or paste a command.: ') ${CL}" + read -r user_input - case "$user_input" in - 1) cmd="qm list" ;; - 2) cmd="pct list" ;; - 3) cmd="qm start " ;; - 4) cmd="pct start " ;; - 5) cmd="qm stop " ;; - 6) cmd="pct stop " ;; - 7) cmd="qm config " ;; - 8) cmd="pct config " ;; - 9) cmd="qm destroy " ;; - 10) cmd="pct destroy " ;; - 0) return ;; - *) cmd="$user_input" ;; - esac + case "$user_input" in + 1) cmd="qm list" ;; + 2) cmd="pct list" ;; + 3) echo -en "${TAB}${BOLD}${YW}${HOLD}$(translate 'Enter VM ID: ')${CL}"; read -r id; cmd="qm start $id" ;; + 4) echo -en "${TAB}${BOLD}${YW}${HOLD}$(translate 'Enter CT ID: ')${CL}"; read -r id; cmd="pct start $id" ;; + 5) echo -en "${TAB}${BOLD}${YW}${HOLD}$(translate 'Enter VM ID: ')${CL}"; read -r id; cmd="qm stop $id" ;; + 6) echo -en "${TAB}${BOLD}${YW}${HOLD}$(translate 'Enter CT ID: ')${CL}"; read -r id; cmd="pct stop $id" ;; + 7) echo -en "${TAB}${BOLD}${YW}${HOLD}$(translate 'Enter VM ID: ')${CL}"; read -r id; cmd="qm config $id" ;; + 8) echo -en "${TAB}${BOLD}${YW}${HOLD}$(translate 'Enter CT ID: ')${CL}"; read -r id; cmd="pct config $id" ;; + 9) echo -en "${TAB}${BOLD}${YW}${HOLD}$(translate 'Enter VM ID: ')${CL}"; read -r id; cmd="qm destroy $id" ;; + 10) echo -en "${TAB}${BOLD}${YW}${HOLD}$(translate 'Enter CT ID: ')${CL}"; read -r id; cmd="pct destroy $id" ;; + 11) + echo -en "${TAB}${BOLD}${YW}${HOLD}$(translate 'Enter CT ID: ')${CL}" + read -r id - echo -e " -${GREEN}> $cmd${NC} -" - bash -c "$cmd" - echo - msg_success "$(translate 'Press ENTER to return to the menu...')" - read -r tmp + echo -e "\n${YELLOW}$(translate 'Listing relevant CT users and their mapped UID/GID on host...')${NC}\n" + + # Obtener el shift de UID del CT (por defecto 100000 si no está configurado) + UID_SHIFT=$(grep "^lxc.idmap" /etc/pve/lxc/"$id".conf | grep 'u 0' | awk '{print $5}') + UID_SHIFT=${UID_SHIFT:-100000} + + # Obtener todos los usuarios y filtrar solo root o UID >= 1000 + pct exec "$id" -- getent passwd | while IFS=: read -r username _ uid gid _ home _; do + if [ "$uid" -eq 0 ] || [ "$uid" -ge 1000 ]; then + real_uid=$((UID_SHIFT + uid)) + real_gid=$((UID_SHIFT + gid)) + echo -e "${GREEN}$(translate 'User')${NC}: $username" + echo -e " $(translate 'UID in CT'): $uid" + echo -e " $(translate 'GID in CT'): $gid" + echo -e " $(translate 'Mapped UID on host'): $real_uid" + echo -e " $(translate 'Mapped GID on host'): $real_gid" + echo + fi + done + ;; + + 12) + echo -en "${TAB}${BOLD}${YW}${HOLD}$(translate 'Enter CT ID: ')${CL}" + read -r id + cmd="pct exec $id -- getent passwd | column -t -s :" + ;; + + 13) + + echo -en "${TAB}${BOLD}${YW}${HOLD}$(translate 'Enter CT ID: ')${CL}" + read -r id + cmd="pct exec $id -- ps aux --sort=-%mem | head" + ;; + 0) break ;; + *) cmd="$user_input" ;; + esac + + echo -e "\n${GREEN}> $cmd${NC}\n" + bash -c "$cmd" + echo + msg_success "$(translate 'Press ENTER to continue...')" + read -r tmp + done } @@ -133,40 +203,40 @@ ${GREEN}> $cmd${NC} # 03 Storage and Disks Commands # =============================================================== show_storage_commands() { - clear - echo -e "${YELLOW}$(translate 'Storage and Disks Commands')${NC}" - echo "--------------------------------------------------" - echo -e " 1) ${GREEN}lsblk${NC} - $(translate 'List block devices and partitions')" - echo -e " 2) ${GREEN}fdisk -l${NC} - $(translate 'List disks with detailed info')" - echo -e " 3) ${GREEN}df -h${NC} - $(translate 'Show disk usage by mount point')" - echo -e " 4) ${GREEN}pvdisplay${NC} - $(translate 'Display physical volumes (LVM)')" - echo -e " 5) ${GREEN}vgdisplay${NC} - $(translate 'Display volume groups (LVM)')" - echo -e " 6) ${GREEN}lvdisplay${NC} - $(translate 'Display logical volumes (LVM)')" - echo -e " 7) ${GREEN}cat /etc/pve/storage.cfg${NC} - $(translate 'Show Proxmox storage configuration')" - echo -e " 0) $(translate 'Back to previous menu')" - echo - echo -en "${TAB}${BOLD}${YW}${HOLD}$(translate 'Enter number or paste a command: ') ${CL}" - read -r user_input + while true; do + clear + echo -e "${YELLOW}$(translate 'Storage and Disks Commands')${NC}" + echo "--------------------------------------------------" + echo -e " 1) ${GREEN}lsblk${NC} - $(translate 'List block devices and partitions')" + echo -e " 2) ${GREEN}fdisk -l${NC} - $(translate 'List disks with detailed info')" + echo -e " 3) ${GREEN}df -h${NC} - $(translate 'Show disk usage by mount point')" + echo -e " 4) ${GREEN}pvdisplay${NC} - $(translate 'Display physical volumes (LVM)')" + echo -e " 5) ${GREEN}vgdisplay${NC} - $(translate 'Display volume groups (LVM)')" + echo -e " 6) ${GREEN}lvdisplay${NC} - $(translate 'Display logical volumes (LVM)')" + echo -e " 7) ${GREEN}cat /etc/pve/storage.cfg${NC} - $(translate 'Show Proxmox storage configuration')" + echo -e " ${DEF}0)$(translate ' Back to previous menu')${CL}" + echo + echo -en "${TAB}${BOLD}${YW}${HOLD}$(translate 'Enter a number, or write or paste a command.: ') ${CL}" + read -r user_input - case "$user_input" in - 1) cmd="lsblk" ;; - 2) cmd="fdisk -l" ;; - 3) cmd="df -h" ;; - 4) cmd="pvdisplay" ;; - 5) cmd="vgdisplay" ;; - 6) cmd="lvdisplay" ;; - 7) cmd="cat /etc/pve/storage.cfg" ;; - 0) return ;; - *) cmd="$user_input" ;; - esac + case "$user_input" in + 1) cmd="lsblk" ;; + 2) cmd="fdisk -l" ;; + 3) cmd="df -h" ;; + 4) cmd="pvdisplay" ;; + 5) cmd="vgdisplay" ;; + 6) cmd="lvdisplay" ;; + 7) cmd="cat /etc/pve/storage.cfg" ;; + 0) break ;; + *) cmd="$user_input" ;; + esac - echo -e " -${GREEN}> $cmd${NC} -" - bash -c "$cmd" - echo - msg_success "$(translate 'Press ENTER to return to the menu...')" - read -r tmp + echo -e "\n${GREEN}> $cmd${NC}\n" + bash -c "$cmd" + echo + msg_success "$(translate 'Press ENTER to continue...')" + read -r tmp + done } @@ -174,75 +244,80 @@ ${GREEN}> $cmd${NC} # 04 Network Commands # =============================================================== show_network_commands() { - clear - echo -e "${YELLOW}$(translate 'Network Commands')${NC}" - echo "------------------------------------------" - echo -e " 1) ${GREEN}ip a${NC} - $(translate 'Show network interfaces and IPs')" - echo -e " 2) ${GREEN}ip r${NC} - $(translate 'Show routing table')" - echo -e " 3) ${GREEN}ping ${NC} - $(translate 'Check connectivity with another host')" - echo -e " 4) ${GREEN}brctl show${NC} - $(translate 'Show configured network bridges')" - echo -e " 5) ${GREEN}ifreload -a${NC} - $(translate 'Reload network configuration (ifupdown2)')" - echo -e " 6) ${GREEN}cat /etc/network/interfaces${NC} - $(translate 'Show raw network configuration')" - echo -e " 0) $(translate 'Back to previous menu')" - echo - echo -en "${TAB}${BOLD}${YW}${HOLD}$(translate 'Enter number or paste a command: ') ${CL}" - read -r user_input + while true; do + clear + echo -e "${YELLOW}$(translate 'Network Commands')${NC}" + echo "------------------------------------------" + echo -e " 1) ${GREEN}ip a${NC} - $(translate 'Show network interfaces and IPs')" + echo -e " 2) ${GREEN}ip r${NC} - $(translate 'Show routing table')" + echo -e " 3) ${GREEN}ping ${NC} - $(translate 'Check connectivity with another host')" + echo -e " 4) ${GREEN}brctl show${NC} - $(translate 'Show configured network bridges')" + echo -e " 5) ${GREEN}ifreload -a${NC} - $(translate 'Reload network configuration (ifupdown2)')" + echo -e " 6) ${GREEN}cat /etc/network/interfaces${NC} - $(translate 'Show raw network configuration')" + echo -e " ${DEF}0)$(translate ' Back to previous menu')${CL}" + echo + echo -en "${TAB}${BOLD}${YW}${HOLD}$(translate 'Enter a number, or write or paste a command.: ') ${CL}" + read -r user_input - case "$user_input" in - 1) cmd="ip a" ;; - 2) cmd="ip r" ;; - 3) cmd="ping " ;; - 4) cmd="brctl show" ;; - 5) cmd="ifreload -a" ;; - 6) cmd="cat /etc/network/interfaces" ;; - 0) return ;; - *) cmd="$user_input" ;; - esac + case "$user_input" in + 1) cmd="ip a" ;; + 2) cmd="ip r" ;; + 3) + echo -en "${TAB}${BOLD}${YW}${HOLD}$(translate 'Enter host or IP: ')${CL}" + read -r host + cmd="ping $host" + ;; + 4) cmd="brctl show" ;; + 5) cmd="ifreload -a" ;; + 6) cmd="cat /etc/network/interfaces" ;; + 0) break ;; + *) cmd="$user_input" ;; + esac - echo -e " -${GREEN}> $cmd${NC} -" - bash -c "$cmd" - echo - msg_success "$(translate 'Press ENTER to return to the menu...')" - read -r tmp + echo -e "\n${GREEN}> $cmd${NC}\n" + bash -c "$cmd" + echo + msg_success "$(translate 'Press ENTER to continue...')" + read -r tmp + done } + # =============================================================== # 05 Updates and Packages Commands # =============================================================== show_update_commands() { - clear - echo -e "${YELLOW}$(translate 'Updates and Packages Commands')${NC}" - echo "----------------------------------------------------" - echo -e " 1) ${GREEN}apt update && apt upgrade -y${NC} - $(translate 'Update and upgrade all system packages')" - echo -e " 2) ${GREEN}apt dist-upgrade -y${NC} - $(translate 'Full system upgrade, including dependencies')" - echo -e " 3) ${GREEN}pveupdate${NC} - $(translate 'Update Proxmox package lists')" - echo -e " 4) ${GREEN}pveupgrade${NC} - $(translate 'Show available Proxmox upgrades')" - echo -e " 5) ${GREEN}apt autoremove --purge${NC} - $(translate 'Remove unused packages and their config')" - echo -e " 0) $(translate 'Back to previous menu')" - echo - echo -en "${TAB}${BOLD}${YW}${HOLD}$(translate 'Enter number or paste a command: ') ${CL}" - read -r user_input + while true; do + clear + echo -e "${YELLOW}$(translate 'Updates and Packages Commands')${NC}" + echo "----------------------------------------------------" + echo -e " 1) ${GREEN}apt update && apt upgrade -y${NC} - $(translate 'Update and upgrade all system packages')" + echo -e " 2) ${GREEN}apt dist-upgrade -y${NC} - $(translate 'Full system upgrade, including dependencies')" + echo -e " 3) ${GREEN}pveupdate${NC} - $(translate 'Update Proxmox package lists')" + echo -e " 4) ${GREEN}pveupgrade${NC} - $(translate 'Show available Proxmox upgrades')" + echo -e " 5) ${GREEN}apt autoremove --purge${NC} - $(translate 'Remove unused packages and their config')" + echo -e " ${DEF}0)$(translate ' Back to previous menu')${CL}" + echo + echo -en "${TAB}${BOLD}${YW}${HOLD}$(translate 'Enter a number, or write or paste a command.: ') ${CL}" + read -r user_input - case "$user_input" in - 1) cmd="apt update && apt upgrade -y" ;; - 2) cmd="apt dist-upgrade -y" ;; - 3) cmd="pveupdate" ;; - 4) cmd="pveupgrade" ;; - 5) cmd="apt autoremove --purge" ;; - 0) return ;; - *) cmd="$user_input" ;; - esac + case "$user_input" in + 1) cmd="apt update && apt upgrade -y" ;; + 2) cmd="apt dist-upgrade -y" ;; + 3) cmd="pveupdate" ;; + 4) cmd="pveupgrade" ;; + 5) cmd="apt autoremove --purge" ;; + 0) break ;; + *) cmd="$user_input" ;; + esac - echo -e " -${GREEN}> $cmd${NC} -" - bash -c "$cmd" - echo - msg_success "$(translate 'Press ENTER to return to the menu...')" - read -r tmp + echo -e "\n${GREEN}> $cmd${NC}\n" + bash -c "$cmd" + echo + msg_success "$(translate 'Press ENTER to continue...')" + read -r tmp + done } @@ -250,156 +325,247 @@ ${GREEN}> $cmd${NC} # 06 GPU Passthrough Commands # =============================================================== show_gpu_commands() { - clear - echo -e "${YELLOW}$(translate 'GPU Passthrough Commands')${NC}" - echo "------------------------------------------------" - echo -e " 1) ${GREEN}lspci -nn | grep -i nvidia${NC} - $(translate 'List NVIDIA PCI devices')" - echo -e " 2) ${GREEN}lspci -nn | grep -i vga${NC} - $(translate 'List all VGA compatible devices')" - echo -e " 3) ${GREEN}dmesg | grep -i vfio${NC} - $(translate 'Check VFIO module messages')" - echo -e " 4) ${GREEN}cat /etc/modprobe.d/vfio.conf${NC} - $(translate 'Review VFIO passthrough configuration')" - echo -e " 5) ${GREEN}update-initramfs -u${NC} - $(translate 'Apply initramfs changes (VFIO)')" - echo -e " 6) ${GREEN}cat /etc/default/grub${NC} - $(translate 'Review GRUB options for IOMMU')" - echo -e " 7) ${GREEN}update-grub${NC} - $(translate 'Apply GRUB changes')" - echo -e " 0) $(translate 'Back to previous menu')" - echo - echo -en "${TAB}${BOLD}${YW}${HOLD}$(translate 'Enter number or paste a command: ') ${CL}" - read -r user_input + while true; do + clear + echo -e "${YELLOW}$(translate 'GPU Passthrough Commands')${NC}" + echo "------------------------------------------------" + echo -e " 1) ${GREEN}lspci -nn | grep -i nvidia${NC} - $(translate 'List NVIDIA PCI devices')" + echo -e " 2) ${GREEN}lspci -nn | grep -i vga${NC} - $(translate 'List all VGA compatible devices')" + echo -e " 3) ${GREEN}dmesg | grep -i vfio${NC} - $(translate 'Check VFIO module messages')" + echo -e " 4) ${GREEN}cat /etc/modprobe.d/vfio.conf${NC} - $(translate 'Review VFIO passthrough configuration')" + echo -e " 5) ${GREEN}update-initramfs -u${NC} - $(translate 'Apply initramfs changes (VFIO)')" + echo -e " 6) ${GREEN}cat /etc/default/grub${NC} - $(translate 'Review GRUB options for IOMMU')" + echo -e " 7) ${GREEN}update-grub${NC} - $(translate 'Apply GRUB changes')" + echo -e " ${DEF}0)$(translate ' Back to previous menu')${CL}" + echo + echo -en "${TAB}${BOLD}${YW}${HOLD}$(translate 'Enter a number, or write or paste a command.: ') ${CL}" + read -r user_input - case "$user_input" in - 1) cmd="lspci -nn | grep -i nvidia" ;; - 2) cmd="lspci -nn | grep -i vga" ;; - 3) cmd="dmesg | grep -i vfio" ;; - 4) cmd="cat /etc/modprobe.d/vfio.conf" ;; - 5) cmd="update-initramfs -u" ;; - 6) cmd="cat /etc/default/grub" ;; - 7) cmd="update-grub" ;; - 0) return ;; - *) cmd="$user_input" ;; - esac + case "$user_input" in + 1) cmd="lspci -nn | grep -i nvidia" ;; + 2) cmd="lspci -nn | grep -i vga" ;; + 3) cmd="dmesg | grep -i vfio" ;; + 4) cmd="cat /etc/modprobe.d/vfio.conf" ;; + 5) cmd="update-initramfs -u" ;; + 6) cmd="cat /etc/default/grub" ;; + 7) cmd="update-grub" ;; + 0) break ;; + *) cmd="$user_input" ;; + esac - echo -e " -${GREEN}> $cmd${NC} -" - bash -c "$cmd" - echo - msg_success "$(translate 'Press ENTER to return to the menu...')" - read -r tmp + echo -e "\n${GREEN}> $cmd${NC}\n" + bash -c "$cmd" + echo + msg_success "$(translate 'Press ENTER to continue...')" + read -r tmp + done } + # =============================================================== # 07 ZFS Management Commands # =============================================================== show_zfs_commands() { - clear - echo -e "${YELLOW}$(translate 'ZFS Management Commands')${NC}" - echo "------------------------------------------------" - echo -e " 1) ${GREEN}zpool status${NC} - $(translate 'Show ZFS pool status')" - echo -e " 2) ${GREEN}zpool list${NC} - $(translate 'List all ZFS pools')" - echo -e " 3) ${GREEN}zfs list${NC} - $(translate 'List ZFS datasets and snapshots')" - echo -e " 4) ${GREEN}zpool scrub ${NC} - $(translate 'Start scrub for a ZFS pool')" - echo -e " 5) ${GREEN}zfs create /dataset${NC} - $(translate 'Create a new dataset in a ZFS pool')" - echo -e " 6) ${GREEN}zfs destroy /dataset${NC} - $(translate 'Destroy a ZFS dataset (irreversible)')" - echo -e " 0) $(translate 'Back to previous menu')" - echo - echo -en "${TAB}${BOLD}${YW}${HOLD}$(translate 'Enter number or paste a command: ') ${CL}" - read -r user_input + while true; do + clear + echo -e "${YELLOW}$(translate 'ZFS Management Commands')${NC}" + echo "------------------------------------------------" + echo -e " 1) ${GREEN}zpool status${NC} - $(translate 'Show ZFS pool status')" + echo -e " 2) ${GREEN}zpool list${NC} - $(translate 'List all ZFS pools')" + echo -e " 3) ${GREEN}zfs list${NC} - $(translate 'List ZFS datasets and snapshots')" + echo -e " 4) ${GREEN}zpool scrub ${NC} - $(translate 'Start scrub for a ZFS pool')" + echo -e " 5) ${GREEN}zfs create /dataset${NC} - $(translate 'Create a new dataset in a ZFS pool')" + echo -e " 6) ${GREEN}zfs destroy /dataset${NC} - $(translate 'Destroy a ZFS dataset (irreversible)')" + echo -e " ${DEF}0)$(translate ' Back to previous menu')${CL}" + echo + echo -en "${TAB}${BOLD}${YW}${HOLD}$(translate 'Enter a number, or write or paste a command.: ') ${CL}" + read -r user_input - case "$user_input" in - 1) cmd="zpool status" ;; - 2) cmd="zpool list" ;; - 3) cmd="zfs list" ;; - 4) cmd="zpool scrub " ;; - 5) cmd="zfs create /dataset" ;; - 6) cmd="zfs destroy /dataset" ;; - 0) return ;; - *) cmd="$user_input" ;; - esac + case "$user_input" in + 1) cmd="zpool status" ;; + 2) cmd="zpool list" ;; + 3) cmd="zfs list" ;; + 4) + echo -en "${TAB}${BOLD}${YW}${HOLD}$(translate 'Enter pool name: ')${CL}" + read -r pool + cmd="zpool scrub $pool" + ;; + 5) + echo -en "${TAB}${BOLD}${YW}${HOLD}$(translate 'Enter pool/dataset name: ')${CL}" + read -r dataset + cmd="zfs create $dataset" + ;; + 6) + echo -en "${TAB}${BOLD}${YW}${HOLD}$(translate 'Enter pool/dataset to destroy: ')${CL}" + read -r dataset + cmd="zfs destroy $dataset" + ;; + 0) break ;; + *) cmd="$user_input" ;; + esac - echo -e "\n${GREEN}> $cmd${NC}\n" - bash -c "$cmd" - echo - msg_success "$(translate 'Press ENTER to return to the menu...')" - read -r tmp + echo -e "\n${GREEN}> $cmd${NC}\n" + bash -c "$cmd" + echo + msg_success "$(translate 'Press ENTER to continue...')" + read -r tmp + done } + # =============================================================== # 08 Backup and Restore Commands # =============================================================== show_backup_commands() { - clear - echo -e "${YELLOW}$(translate 'Backup and Restore Commands')${NC}" - echo "------------------------------------------------------" - echo -e " 1) ${GREEN}vzdump ${NC} - $(translate 'Manual backup of a VM or CT')" - echo -e " 2) ${GREEN}vzdump --dumpdir /path${NC} - $(translate 'Backup to a specific directory')" - echo -e " 3) ${GREEN}vzdump --all${NC} - $(translate 'Backup all VMs and CTs')" - echo -e " 4) ${GREEN}qmrestore /path/backup.vma.zst ${NC} - $(translate 'Restore a VM from backup')" - echo -e " 5) ${GREEN}pct restore /path/backup.tar.zst${NC} - $(translate 'Restore a CT from backup')" - echo -e " 0) $(translate 'Back to previous menu')" - echo - echo -en "${TAB}${BOLD}${YW}${HOLD}$(translate 'Enter number or paste a command: ') ${CL}" - read -r user_input + while true; do + clear + echo -e "${YELLOW}$(translate 'Backup and Restore Commands')${NC}" + echo "------------------------------------------------------" + echo -e " 1) ${GREEN}vzdump ${NC} - $(translate 'Manual backup of a VM or CT')" + echo -e " 2) ${GREEN}vzdump --dumpdir /path${NC} - $(translate 'Backup to a specific directory')" + echo -e " 3) ${GREEN}vzdump --all${NC} - $(translate 'Backup all VMs and CTs')" + echo -e " 4) ${GREEN}qmrestore /path/backup.vma.zst ${NC} - $(translate 'Restore a VM from backup')" + echo -e " 5) ${GREEN}pct restore /path/backup.tar.zst${NC} - $(translate 'Restore a CT from backup')" + echo -e " ${DEF}0)$(translate ' Back to previous menu')${CL}" + echo + echo -en "${TAB}${BOLD}${YW}${HOLD}$(translate 'Enter a number, or write or paste a command.: ') ${CL}" + read -r user_input - case "$user_input" in - 1) cmd="vzdump " ;; - 2) cmd="vzdump --dumpdir /path" ;; - 3) cmd="vzdump --all" ;; - 4) cmd="qmrestore /path/backup.vma.zst " ;; - 5) cmd="pct restore /path/backup.tar.zst" ;; - 0) return ;; - *) cmd="$user_input" ;; - esac + case "$user_input" in + 1) + echo -en "${TAB}${BOLD}${YW}${HOLD}$(translate 'Enter VM/CT ID: ')${CL}" + read -r id + cmd="vzdump $id" + ;; + 2) + echo -en "${TAB}${BOLD}${YW}${HOLD}$(translate 'Enter VM/CT ID: ')${CL}" + read -r id + echo -en "${TAB}${BOLD}${YW}${HOLD}$(translate 'Enter destination path: ')${CL}" + read -r path + cmd="vzdump $id --dumpdir $path" + ;; + 3) cmd="vzdump --all" ;; + 4) + echo -en "${TAB}${BOLD}${YW}${HOLD}$(translate 'Enter backup path (.vma.zst): ')${CL}" + read -r backup + echo -en "${TAB}${BOLD}${YW}${HOLD}$(translate 'Enter VM ID: ')${CL}" + read -r id + cmd="qmrestore $backup $id" + ;; + 5) + echo -en "${TAB}${BOLD}${YW}${HOLD}$(translate 'Enter backup path (.tar.zst): ')${CL}" + read -r backup + echo -en "${TAB}${BOLD}${YW}${HOLD}$(translate 'Enter CT ID: ')${CL}" + read -r id + cmd="pct restore $id $backup" + ;; + 0) break ;; + *) cmd="$user_input" ;; + esac - echo -e " -${GREEN}> $cmd${NC} -" - bash -c "$cmd" - echo - msg_success "$(translate 'Press ENTER to return to the menu...')" - read -r tmp + echo -e "\n${GREEN}> $cmd${NC}\n" + bash -c "$cmd" + echo + msg_success "$(translate 'Press ENTER to continue...')" + read -r tmp + done } + # =============================================================== -# 09 Essential Tools Installation Commands +# 09 System CLI Tools Commands # =============================================================== show_tools_commands() { - clear - echo -e "${YELLOW}$(translate 'Essential CLI Tools')${NC}" - echo "--------------------------------------------" - echo -e " 1) ${GREEN}htop${NC} - $(translate 'Interactive process viewer')" - echo -e " 2) ${GREEN}btop${NC} - $(translate 'Modern resource monitor')" - echo -e " 3) ${GREEN}iftop${NC} - $(translate 'Real-time bandwidth usage')" - echo -e " 4) ${GREEN}iotop${NC} - $(translate 'Monitor disk I/O usage')" - echo -e " 5) ${GREEN}tmux${NC} - $(translate 'Terminal multiplexer')" - echo -e " 6) ${GREEN}iperf3${NC} - $(translate 'Network throughput test')" - echo -e " 0) $(translate 'Back to previous menu')" - echo - echo -en "${TAB}${BOLD}${YW}${HOLD}$(translate 'Enter number or paste a command: ') ${CL}" - read -r user_input + while true; do + clear + echo -e "${YELLOW}$(translate 'System CLI Tools')${NC}" + echo "--------------------------------------------" + echo -e " 1) ${GREEN}htop${NC} - $(translate 'Interactive process viewer (press q to exit)')" + echo -e " 2) ${GREEN}btop${NC} - $(translate 'Modern resource monitor (press q to exit)')" + echo -e " 3) ${GREEN}iftop${NC} - $(translate 'Real-time bandwidth usage (press q to exit)')" + echo -e " 4) ${GREEN}iotop${NC} - $(translate 'Monitor disk I/O usage (press q to exit)')" + echo -e " 5) ${GREEN}tmux${NC} - $(translate 'Terminal multiplexer (Ctrl+b then d to detach, or type exit)')" + echo -e " 6) ${GREEN}iperf3${NC} - $(translate 'Network throughput test (client/server)')" + echo -e " 7) ${GREEN}iptraf-ng${NC} - $(translate 'Real-time network monitoring (press q to exit)')" + echo -e " 8) ${GREEN}msr-tools${NC} - $(translate 'Read/write CPU model-specific registers')" + echo -e " 9) ${GREEN}net-tools${NC} - $(translate 'Legacy network tools (e.g., ifconfig)')" + echo -e "10) ${GREEN}whois${NC} - $(translate 'Lookup domain registration info')" + echo -e "11) ${GREEN}libguestfs-tools${NC} - $(translate 'Manage and inspect VM disk images')" + echo -e " ${DEF}0)$(translate ' Back to previous menu')${CL}" + echo + echo -en "${TAB}${BOLD}${YW}${HOLD}$(translate 'Enter a number, or write or paste a command.: ') ${CL}" + read -r user_input - case "$user_input" in - 1) cmd="htop" ;; - 2) cmd="btop" ;; - 3) cmd="iftop" ;; - 4) cmd="iotop" ;; - 5) cmd="tmux" ;; - 6) cmd="iperf3" ;; - 0) return ;; - *) cmd="$user_input" ;; - esac + case "$user_input" in + 1) cmd="htop" ;; + 2) cmd="btop" ;; + 3) cmd="iftop" ;; + 4) cmd="iotop" ;; + 5) cmd="tmux" ;; + 6) + echo -en "${TAB}${BOLD}${YW}${HOLD}$(translate 'Run as server or client? [s/c]: ')${CL}" + read -r mode + if [[ "$mode" == "s" ]]; then + cmd="iperf3 -s" + elif [[ "$mode" == "c" ]]; then + echo -en "${TAB}${BOLD}${YW}${HOLD}$(translate 'Enter server IP: ')${CL}" + read -r server_ip + cmd="iperf3 -c $server_ip" + else + msg_info2 "$(translate 'Invalid option. Skipping.')" + read -r + continue + fi + ;; + 7) cmd="iptraf-ng" ;; + 8) + echo -en "${TAB}${BOLD}${YW}${HOLD}$(translate 'Enter MSR register (e.g. 0x10): ')${CL}" + read -r reg + cmd="rdmsr $reg" + ;; + 9) cmd="ifconfig -a" ;; + 10) + echo -en "${TAB}${BOLD}${YW}${HOLD}$(translate 'Enter domain: ')${CL}" + read -r domain + cmd="whois $domain" + ;; + 11) + echo -en "${TAB}${BOLD}${YW}${HOLD}$(translate 'Enter disk image path: ')${CL}" + read -r path + cmd="virt-inspector $path" + ;; + 0) break ;; + *) cmd="$user_input" ;; + esac - echo -e " -${GREEN}> $cmd${NC} -" - bash -c "$cmd" - echo - msg_success "$(translate 'Press ENTER to return to the menu...')" - read -r tmp + if ! command -v $(echo "$cmd" | awk '{print $1}') &>/dev/null; then + if whiptail --yesno "$(translate "$cmd is not installed. Do you want to install it now?")" 10 60; then + msg_info "$(translate "Installing") $cmd..." + apt update -qq >/dev/null 2>&1 + apt install -y $(echo "$cmd" | awk '{print $1}') >/dev/null 2>&1 + msg_ok "$(translate "$cmd installed successfully")" + sleep 2 + else + msg_info2 "$(translate 'Skipping installation.')" + read -r + continue + fi + fi + + echo -e "\n${GREEN}> $cmd${NC}\n" + bash -c "$cmd" + echo + msg_success "$(translate 'Press ENTER to continue...')" + read -r tmp + done } + + # =============================================================== # Main Menu # =============================================================== @@ -415,7 +581,7 @@ OPTION=$(dialog --stdout \ 6 "$(translate 'GPU Passthrough Commands')" \ 7 "$(translate 'ZFS Management Commands')" \ 8 "$(translate 'Backup and Restore Commands')" \ - 9 "$(translate 'Essential CLI Tools')" \ + 9 "$(translate 'System CLI Tools')" \ 0 "$(translate 'Exit')") case $OPTION in 1) diff --git a/web/components/footer.tsx b/web/components/footer.tsx index 32488f2..461ca1d 100644 --- a/web/components/footer.tsx +++ b/web/components/footer.tsx @@ -52,8 +52,18 @@ export default function Footer() { {/* Copyright - Center */}
-

ProxMenux, an open-source and collaborative project by MacRimi.

-
+

+ ProxMenux, an open-source and collaborative project by{' '} + + MacRimi + . +

+ ) diff --git a/web/components/footer2.tsx b/web/components/footer2.tsx index 60c516c..a1a5f74 100644 --- a/web/components/footer2.tsx +++ b/web/components/footer2.tsx @@ -49,8 +49,18 @@ export default function Footer() { {/* Copyright - Center */}
-

ProxMenux, an open-source and collaborative project by MacRimi.

-
+

+ ProxMenux, an open-source and collaborative project by{' '} + + MacRimi + . +

+ ) diff --git a/web/public/help/help-info-menu.png b/web/public/help/help-info-menu.png new file mode 100644 index 0000000000000000000000000000000000000000..3b4d7b3dcfe2a6bdcf2db61b140b0f938c233b95 GIT binary patch literal 105673 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