77 lines
2.9 KiB
Bash
Raw Normal View History

2025-04-09 10:12:04 +02:00
#!/bin/bash
# ==========================================================
# ProxMenu - A menu-driven script for Proxmox VE management
# ==========================================================
# Author : MacRimi
# Copyright : (c) 2024 MacRimi
# License : MIT (https://raw.githubusercontent.com/MacRimi/ProxMenux/main/LICENSE)
# Version : 1.0
# Last Updated: 28/01/2025
# ==========================================================
# Configuration ============================================
REPO_URL="https://raw.githubusercontent.com/MacRimi/ProxMenux/main"
BASE_DIR="/usr/local/share/proxmenux"
UTILS_FILE="$BASE_DIR/utils.sh"
VENV_PATH="/opt/googletrans-env"
if [[ -f "$UTILS_FILE" ]]; then
source "$UTILS_FILE"
fi
load_language
initialize_cache
# ==========================================================
while true; do
OPTION=$(whiptail --title "$(translate "Disk and Storage Manager Menu")" --menu "$(translate "Select an option:")" 20 70 10 \
"1" "$(translate "Add Disk Passthrough to a VM")" \
2025-04-09 11:53:11 +02:00
"2" "$(translate "Add Disk") Passthrough $(translate "to a CT")" \
2025-04-09 10:12:04 +02:00
"3" "$(translate "Import Disk Image to a VM")" \
"4" "$(translate "Mount point to CT")" \
"5" "$(translate "Mount disk on HOST")" \
"6" "$(translate "Unmount disk from HOST")" \
"7" "$(translate "Format disk")" \
"8" "$(translate "Return to Main Menu")" 3>&1 1>&2 2>&3)
case $OPTION in
1)
msg_info2 "$(translate "Running script: Add Disk Passthrough to a VM")..."
2025-04-09 11:47:01 +02:00
bash <(curl -s "$REPO_URL/scripts/storage/disk-passthrough.sh")
2025-04-09 10:12:04 +02:00
;;
2)
msg_info2 "$(translate "Running script: Add Disk Passthrough to a CT")..."
2025-04-09 11:47:01 +02:00
bash <(curl -s "$REPO_URL/scripts/storage/disk-passthrough_ct.sh")
2025-04-09 10:12:04 +02:00
;;
3)
msg_info2 "$(translate "Running script: Import Disk Image to a VM")..."
bash <(curl -s "$REPO_URL/scripts/storage/import-disk-image.sh")
;;
4)
msg_info2 "$(translate "Running script: Mount point to CT")..."
bash <(curl -s "$REPO_URL/scripts/storage/mount-point-to-ct.sh")
;;
5)
msg_info2 "$(translate "Running script: Mount disk on HOST")..."
bash <(curl -s "$REPO_URL/scripts/storage/mount-disk-on-host.sh")
;;
6)
msg_info2 "$(translate "Running script: Unmount disk from HOST")..."
bash <(curl -s "$REPO_URL/scripts/storage/unmount-disk-from-host.sh")
;;
7)
msg_info2 "$(translate "Running script: Format disk")..."
bash <(curl -s "$REPO_URL/scripts/storage/format-disk.sh")
;;
8)
exec bash <(curl -s "$REPO_URL/scripts/menus/main_menu.sh")
;;
*)
exec bash <(curl -s "$REPO_URL/scripts/menus/main_menu.sh")
;;
esac
done