feat: add offline installer script for ProxMenux

- Clones ProxMenux repository to temporary location and executes installation
- Includes automatic cleanup of temporary files and git dependency check
- Adds colored output and error handling for better user experience
This commit is contained in:
cod378
2025-11-04 22:47:52 +00:00
parent 58f9a7bc02
commit 3ddb1421c3

View File

@@ -0,0 +1,73 @@
#!/bin/bash
# ==========================================================
# ProxMenux Offline Installer
# ==========================================================
# This script clones the ProxMenux repository to a temporary
# location, runs the installer, and then cleans up.
# ==========================================================
set -e # Exit on error
# Configuration
REPO_URL="https://github.com/c78-contrib/ProxMenuxOffline.git"
TEMP_DIR="/tmp/proxmenux-install-$$"
INSTALLER_SCRIPT="install_proxmenux.sh"
# Colors for output
RED='\033[0;31m'
GREEN='\033[0;32m'
YELLOW='\033[1;33m'
NC='\033[0m' # No Color
# Cleanup function
cleanup() {
if [ -d "$TEMP_DIR" ]; then
echo -e "${YELLOW}Cleaning up temporary files...${NC}"
rm -rf "$TEMP_DIR"
echo -e "${GREEN}Cleanup completed.${NC}"
fi
}
# Set trap to ensure cleanup on exit
trap cleanup EXIT
# Check if running as root
if [ "$(id -u)" -ne 0 ]; then
echo -e "${RED}Error: This script must be run as root.${NC}"
exit 1
fi
# Check if git is installed
if ! command -v git &> /dev/null; then
echo -e "${YELLOW}Git is not installed. Installing git...${NC}"
apt-get update -qq
apt-get install -y git
fi
# Clone repository
echo -e "${GREEN}Cloning ProxMenux repository...${NC}"
if ! git clone --depth 1 "$REPO_URL" "$TEMP_DIR" 2>&1; then
echo -e "${RED}Error: Failed to clone repository from $REPO_URL${NC}"
exit 1
fi
# Change to temporary directory
cd "$TEMP_DIR"
# Check if installer exists
if [ ! -f "$INSTALLER_SCRIPT" ]; then
echo -e "${RED}Error: Installer script '$INSTALLER_SCRIPT' not found in repository.${NC}"
exit 1
fi
# Make installer executable
chmod +x "$INSTALLER_SCRIPT"
# Run the installer
echo -e "${GREEN}Running ProxMenux installer...${NC}"
echo "----------------------------------------"
bash "$INSTALLER_SCRIPT"
echo "----------------------------------------"
echo -e "${GREEN}Installation completed successfully!${NC}"