Files
DynastyRevolution-Scripts/install.sh

82 lines
3.4 KiB
Bash

#!/bin/bash
# -----------------------------------------------------------------------
# Dynasty Revolution Universal Installer v2.3.4
# -----------------------------------------------------------------------
BLUE='\033[38;5;45m'; PURPLE='\033[38;5;127m'; GOLD='\033[38;5;178m'; RED='\033[38;5;196m'; NC='\033[0m'
REPO_URL="https://git.dynastyrevolution.com/DYNR/DynastyRevolution-Scripts"
API_URL="https://git.dynastyrevolution.com/api/v1/repos/DYNR/DynastyRevolution-Scripts/commits?limit=3"
REPO_RAW="$REPO_URL/raw/branch/main"
CURRENT_DATE=$(date +"%m-%d-%Y")
clear
echo -e "${BLUE}🐉 Dynasty Revolution Systems Initializing...${NC}"
echo -e "${GOLD}Current Era: ${NC}$CURRENT_DATE"
echo -e "${PURPLE}-------------------------------------------------${NC}"
# --- Dynasty News Display [MM-DD-YYYY] ---
echo -e "${GOLD}📜 LATEST ARCHIVE DISPATCHES:${NC}"
curl -s "$API_URL" | grep -Po '\{"commit":\{"author":\{"name":"[^"]+","date":"[^"]+"\},"message":"[^"]+"\}' | \
sed -E 's/.*name":"([^"]+)","date":"([0-9]{4})-([0-9]{2})-([0-9]{2})T.*message":"([^"]+)".*/ Published: \3-\4-\2 | \5 (\1)/' | \
sed "s/^/$(echo -e ${BLUE})/;s/$/$(echo -e ${NC})/" || echo -e " ${RED}Unable to reach the Archives.${NC}"
echo -e "${PURPLE}-------------------------------------------------${NC}"
# Check current local version and offer Quick Strike
if [ -f "/usr/local/bin/dynr" ]; then
CURRENT_VER=$(grep "VERSION=" /usr/local/bin/dynr | cut -d '"' -f 2)
echo -e "${GOLD}⚠️ Dynasty Framework detected (v$CURRENT_VER)${NC}"
echo -e "Select your path:"
echo -e "1) ${BLUE}Quick Strike${NC} (Run a Command)"
echo -e "2) ${BLUE}Reinstall / Update${NC} (Overwrite)"
echo -e "3) ${RED}Uninstall${NC} (Remove)"
echo "4) Cancel"
read -p "Selection [1-4]: " ALREADY_OPT < /dev/tty
case $ALREADY_OPT in
1)
echo -e "\n${PURPLE}📜 Locally Manifested Scrolls:${NC}"
MODULES_LOCAL=$(ls /opt/dynr/modules 2>/dev/null)
if [ -z "$MODULES_LOCAL" ]; then
echo -e " ${RED}(No modules installed yet)${NC}"
echo -e " ${GOLD}Tip: Type 'help' to see available modules!${NC}"
else
echo "$MODULES_LOCAL" | sed 's/^/ 🐉 /'
fi
echo -e "\n${BLUE}Enter command to execute (or 'exit'):${NC}"
read -p "dynr > " CMD_INPUT < /dev/tty
# Exit/Quit Check
if [[ "$CMD_INPUT" == "exit" ]] || [[ "$CMD_INPUT" == "quit" ]]; then
echo -e "${GOLD}🐉 The Dynasty awaits your return. Farewell.${NC}"
exit 0
fi
[[ ! -z "$CMD_INPUT" ]] && dynr $CMD_INPUT
exit 0
;;
2) echo -e "${BLUE}Proceeding with Reinstallation...${NC}" ;;
3)
echo -e "${RED}🔥 Incinerating the Dynasty...${NC}"
sudo rm -rf /opt/dynr /usr/local/bin/dynr
exit 0 ;;
*) exit 0 ;;
esac
fi
# --- Standard Installation Logic ---
sudo mkdir -p /opt/dynr/modules
sudo chown -R $USER:$USER /opt/dynr
for dep in rclone fzf curl procps; do
if ! command -v $dep &> /dev/null; then
echo -e "${GOLD}Installing $dep...${NC}"
sudo apt-get update -qq && sudo apt-get install -y -qq $dep
fi
done
sudo curl -sSL "$REPO_RAW/core/dynr" -o /usr/local/bin/dynr
sudo chmod +x /usr/local/bin/dynr
echo -e "${BLUE}✨ Dynasty Core v2.3.4 installed.${NC}"