From c38e1e0cfe9fd95f1cd2ed5f6c6cb10bf820b9b6 Mon Sep 17 00:00:00 2001 From: MHSanaei Date: Tue, 23 May 2023 02:43:15 +0330 Subject: a lot of improvement --- x-ui.sh | 46 ++++++++++++++++++++++++++++------------------ 1 file changed, 28 insertions(+), 18 deletions(-) (limited to 'x-ui.sh') diff --git a/x-ui.sh b/x-ui.sh index d8d880c5..3592ca63 100644 --- a/x-ui.sh +++ b/x-ui.sh @@ -644,27 +644,37 @@ warp_fixchatgpt() { run_speedtest() { # Check if Speedtest is already installed - if ! command -v speedtest &>/dev/null; then + if ! command -v speedtest &> /dev/null; then # If not installed, install it - if command -v dnf &>/dev/null; then - sudo dnf install -y curl - curl -s https://packagecloud.io/install/repositories/ookla/speedtest-cli/script.rpm.sh | sudo bash - sudo dnf install -y speedtest - elif command -v yum &>/dev/null; then - sudo yum install -y curl - curl -s https://packagecloud.io/install/repositories/ookla/speedtest-cli/script.rpm.sh | sudo bash - sudo yum install -y speedtest - elif command -v apt-get &>/dev/null; then - sudo apt-get update && sudo apt-get install -y curl - curl -s https://packagecloud.io/install/repositories/ookla/speedtest-cli/script.deb.sh | sudo bash - sudo apt-get install -y speedtest - elif command -v apt &>/dev/null; then - sudo apt update && sudo apt install -y curl - curl -s https://packagecloud.io/install/repositories/ookla/speedtest-cli/script.deb.sh | sudo bash - sudo apt install -y speedtest - else + local pkg_manager="" + local curl_install_cmd="" + local speedtest_install_script="" + + if command -v dnf &> /dev/null; then + pkg_manager="dnf" + curl_install_cmd="sudo dnf install -y curl" + speedtest_install_script="https://packagecloud.io/install/repositories/ookla/speedtest-cli/script.rpm.sh" + elif command -v yum &> /dev/null; then + pkg_manager="yum" + curl_install_cmd="sudo yum install -y curl" + speedtest_install_script="https://packagecloud.io/install/repositories/ookla/speedtest-cli/script.rpm.sh" + elif command -v apt-get &> /dev/null; then + pkg_manager="apt-get" + curl_install_cmd="sudo apt-get update && sudo apt-get install -y curl" + speedtest_install_script="https://packagecloud.io/install/repositories/ookla/speedtest-cli/script.deb.sh" + elif command -v apt &> /dev/null; then + pkg_manager="apt" + curl_install_cmd="sudo apt update && sudo apt install -y curl" + speedtest_install_script="https://packagecloud.io/install/repositories/ookla/speedtest-cli/script.deb.sh" + fi + + if [[ -z $pkg_manager ]]; then echo "Error: Package manager not found. You may need to install Speedtest manually." return 1 + else + $curl_install_cmd + curl -s $speedtest_install_script | sudo bash + sudo $pkg_manager install -y speedtest fi fi -- cgit v1.2.3