Browse Source

improve base packages required

because the error for fedora
MHSanaei 1 year ago
parent
commit
2dd203e174
1 changed files with 23 additions and 4 deletions
  1. 23 4
      install.sh

+ 23 - 4
install.sh

@@ -66,14 +66,33 @@ else
     echo -e "${red}Failed to check the OS version, please contact the author!${plain}" && exit 1
 fi
 
-
+# This function installs the base packages required for most scripts
 install_base() {
-    if [[ "${release}" == "centos" ]]; then
-        yum install wget curl tar -y
+    # Store the package names in a variable for easy modification
+    local packages="wget curl tar"
+
+    # Check for the package managers and install the packages if they are not already installed
+    if ! command -v wget >/dev/null 2>&1 || ! command -v curl >/dev/null 2>&1 || ! command -v tar >/dev/null 2>&1; then
+        if command -v apt >/dev/null 2>&1; then
+            apt-get update && apt-get install -y $packages
+        elif command -v dnf >/dev/null 2>&1; then
+            dnf install -y $packages
+        elif command -v yum >/dev/null 2>&1; then
+            yum install -y $packages
+        else
+            echo "ERROR: No package managers found. Please install wget, curl, and tar manually."
+            return 1
+        fi
+
+        # Print a confirmation message after the installation is complete
+        echo "The following packages have been successfully installed: $packages"
     else
-        apt install wget curl tar -y
+        # Print a message confirming that the packages are already installed
+        echo "The following packages are already installed: $packages"
     fi
 }
+
+
 #This function will be called when user installed x-ui out of sercurity
 config_after_install() {
     echo -e "${yellow}Install/update finished! For security it's recommended to modify panel settings ${plain}"