installer
This commit is contained in:
69
install.sh
Normal file
69
install.sh
Normal file
@@ -0,0 +1,69 @@
|
||||
#!/bin/bash
|
||||
|
||||
# --- Configuration ---
|
||||
# Define script packages. The key is the name that will appear in the menu.
|
||||
# The value is a space-separated string of all the URLs to download for that package.
|
||||
declare -A SCRIPT_PACKAGES
|
||||
|
||||
SCRIPT_PACKAGES["Aurora Suite"]="https://git.technopunk.space/tomi/Scripts/raw/branch/main/aurora/aurora.sh https://git.technopunk.space/tomi/Scripts/raw/branch/main/aurora/aurora.conf"
|
||||
# Example: To add another single script later, just add a new line:
|
||||
# SCRIPT_PACKAGES["My Other Script"]="https://path/to/my-other-script.sh"
|
||||
|
||||
|
||||
# --- Main Script ---
|
||||
|
||||
# Welcome message
|
||||
echo "-------------------------------------"
|
||||
echo " Script Downloader "
|
||||
echo "-------------------------------------"
|
||||
|
||||
# Create an array of options from the package names (the keys of our map)
|
||||
options=("${!SCRIPT_PACKAGES[@]}")
|
||||
options+=("Quit") # Add a Quit option
|
||||
|
||||
# Set the prompt for the select menu
|
||||
PS3="Please enter the number of the script/package you want to download: "
|
||||
|
||||
# Display the menu and handle user input
|
||||
select choice in "${options[@]}"; do
|
||||
case "${choice}" in
|
||||
"Quit")
|
||||
echo "👋 Exiting."
|
||||
break
|
||||
;;
|
||||
*)
|
||||
# Check if the user's choice is a valid package name
|
||||
if [[ -n "${SCRIPT_PACKAGES[$choice]}" ]]; then
|
||||
echo
|
||||
echo "⬇️ Downloading package: '${choice}'..."
|
||||
|
||||
# Get the space-separated list of URLs for the chosen package
|
||||
urls_to_download="${SCRIPT_PACKAGES[$choice]}"
|
||||
|
||||
# Loop through each URL in the list and download the file
|
||||
for url in $urls_to_download; do
|
||||
filename=$(basename "${url}")
|
||||
echo " -> Downloading '${filename}'..."
|
||||
|
||||
# Use curl to download the file
|
||||
if curl -fsSL -o "${filename}" "${url}"; then
|
||||
echo " ✅ Successfully downloaded '${filename}'."
|
||||
# If the downloaded file is a shell script, make it executable
|
||||
if [[ "${filename}" == *.sh ]]; then
|
||||
chmod +x "${filename}"
|
||||
echo " Made '${filename}' executable."
|
||||
fi
|
||||
else
|
||||
echo " ❌ Error: Failed to download '${filename}'."
|
||||
fi
|
||||
done
|
||||
echo
|
||||
echo "📦 Package download complete."
|
||||
break
|
||||
else
|
||||
# The user entered an invalid number
|
||||
echo "Invalid selection. Please try again."
|
||||
fi
|
||||
;;
|
||||
esac
|
||||
done
|
||||
Reference in New Issue
Block a user