Files
DynastyRevolution-Scripts/install.sh
Asainte Bueno-Villanueva 931555af5c
All checks were successful
Update Dispatches / refresh-news (push) Successful in 2s
add new features
create & integrate Proxmox Commander
2026-02-08 01:29:35 -05:00

130 lines
4.9 KiB
Bash

#!/bin/bash
# -----------------------------------------------------------------------
# Dynasty Revolution Universal Installer v2.3.7-pre (Expanded Edition)
# -----------------------------------------------------------------------
# --- 1. OS DETECTION ---
if [[ "$OSTYPE" == "darwin"* ]]; then
OS_TYPE="macOS"
DYNR_PATH="$HOME/.dynr"
else
OS_TYPE="Linux"
DYNR_PATH="/opt/dynr"
fi
# --- 2. SOURCE & STYLING ---
VERSION="2.3.7-pre"
REPO_RAW="https://git.dynastyrevolution.com/DYNR/DynastyRevolution-Scripts/raw/branch/v2.3.7-pre"
BLUE='\033[38;5;45m'; PURPLE='\033[38;5;127m'; GOLD='\033[38;5;178m'; RED='\033[38;5;196m'; NC='\033[0m'
# --- 3. FIRST STRIKE (INSTALLATION) ---
if [ ! -f "/usr/local/bin/dynr" ]; then
clear
echo -e "${BLUE}🐉 Dynasty Revolution Systems Initializing...${NC}"
read -p "📥 Manifest Framework on this system? (y/n): " INSTALL_CONFIRM < /dev/tty
if [[ "$INSTALL_CONFIRM" =~ ^[Yy]$ ]]; then
if [[ "$OS_TYPE" == "macOS" ]]; then
mkdir -p "$DYNR_PATH/modules"
else
sudo mkdir -p "$DYNR_PATH/modules"
fi
sudo curl -sSL "$REPO_RAW/install.sh" -o /usr/local/bin/dynr
sudo chmod +x /usr/local/bin/dynr
echo -e "${GOLD}✅ System Manifested! Type 'dynr' to begin.${NC}"
fi
exit 0
fi
# --- 4. PERSISTENT MAIN LOOP ---
while true; do
clear
echo -e "${BLUE}🐉 Dynasty Revolution Systems Initializing...${NC}"
echo -e "${PURPLE}📡 Dynasty Pulse Check:${NC}"
echo -e " [${GOLD}OK${NC}] OS: $OS_TYPE ($(uname -m))"
# Network Ping (Cloudflare)
if ping -c 1 1.1.1.1 &>/dev/null; then
echo -e " [${GOLD}OK${NC}] Network: Cloudflare Reachable"
else
echo -e " [${RED}!!${NC}] Network: Offline"
fi
echo -e "${PURPLE}-------------------------------------------------${NC}"
echo -e "${GOLD}📜 LATEST ARCHIVE DISPATCHES:${NC}"
curl -sL --connect-timeout 1 "$REPO_RAW/dispatches.txt" | sed "s/^/ /"
echo -e "${PURPLE}-------------------------------------------------${NC}"
# --- MAIN MENU ---
echo -e "1) ${BLUE}Quick Strike${NC} (Modules)"
echo -e "2) ${GOLD}Proxmox Commander${NC} (Fleet Ops)"
echo -e "3) ${PURPLE}Remove Modules${NC}"
echo -e "4) ${BLUE}Update Framework${NC}"
echo -e "5) ${RED}Uninstall Framework${NC}"
echo "6) Exit"
echo ""
read -p "Selection [1-6]: " OPT < /dev/tty
case $OPT in
1)
# QUICK STRIKE LOGIC
echo -e "\n${PURPLE}📜 Local Scrolls:${NC}"
ls "$DYNR_PATH/modules" 2>/dev/null | sed 's/^/ ↓ /'
read -p "dynr > " CMD_INPUT < /dev/tty
if [[ -n "$CMD_INPUT" && "$CMD_INPUT" != "exit" ]]; then
if [ ! -f "$DYNR_PATH/modules/$CMD_INPUT" ]; then
curl -s -o "$DYNR_PATH/modules/$CMD_INPUT" "$REPO_RAW/modules/$CMD_INPUT"
chmod +x "$DYNR_PATH/modules/$CMD_INPUT"
fi
"$DYNR_PATH/modules/$CMD_INPUT" </dev/tty
read -p "Press Enter to return..." < /dev/tty
fi
;;
2)
# PROXMOX COMMANDER
if [ ! -f "$DYNR_PATH/modules/proxmox-commander" ]; then
echo -e "${GOLD}🔎 Fetching Proxmox Commander...${NC}"
curl -s -o "$DYNR_PATH/modules/proxmox-commander" "$REPO_RAW/modules/proxmox-commander"
chmod +x "$DYNR_PATH/modules/proxmox-commander"
fi
"$DYNR_PATH/modules/proxmox-commander" </dev/tty
read -p "Press Enter to return to Fleet Ops..." < /dev/tty
;;
3)
# REMOVE
ls "$DYNR_PATH/modules" 2>/dev/null | sed 's/^/ ❌ /'
read -p "Module to delete: " RM_INPUT < /dev/tty
if [[ -n "$RM_INPUT" && "$RM_INPUT" != "cancel" ]]; then
rm -f "$DYNR_PATH/modules/$RM_INPUT"
echo -e "${GOLD}✅ Removed.${NC}"
sleep 1
fi
;;
4)
# UPDATE
sudo curl -sSL "$REPO_RAW/install.sh" -o /usr/local/bin/dynr
sudo chmod +x /usr/local/bin/dynr
echo -e "${GOLD}✅ System Updated.${NC}"
read -p "Press Enter..." < /dev/tty
exec /usr/local/bin/dynr
;;
5)
# UNINSTALL
read -p "⚠️ Uninstall? (y/n): " UN_CONFIRM < /dev/tty
if [[ "$UN_CONFIRM" == "y" ]]; then
sudo rm -f /usr/local/bin/dynr
rm -rf "$DYNR_PATH"
exit 0
fi
;;
6)
# DYNR EXIT ART
echo -e "${GOLD}\n ____ __ __ _ _ ____ \n | _ \ \ \ / /| \ | || _ \ \n | | | | \ V / | \| || |_) |\n | |_| | | | | |\ || _ < \n |____/ |_| |_| \_||_| \_\\\\"
echo -e "${BLUE}\n 🐉 DEPARTING THE DYNASTY...${NC}\n"
exit 0
;;
*)
echo "Invalid selection."
sleep 1
;;
esac
done