From f0f39090b6fc36587893d717a20d49e07d397658 Mon Sep 17 00:00:00 2001 From: mhsanaei Date: Tue, 8 Oct 2024 15:15:43 +0200 Subject: [PATCH] more os support --- README.md | 6 ++++-- install.sh | 36 +++++++++++++++++++++++++----------- x-ui.sh | 29 +++++++++++++++++++---------- 3 files changed, 48 insertions(+), 23 deletions(-) diff --git a/README.md b/README.md index dc98ef89..86d9e8d9 100644 --- a/README.md +++ b/README.md @@ -191,15 +191,17 @@ docker build -t x-ui . - Ubuntu 20.04+ - Debian 11+ - CentOS 8+ +- OpenEuler 22.03+ - Fedora 36+ - Arch Linux - Parch Linux - Manjaro - Armbian -- AlmaLinux 9+ -- Rocky Linux 9+ +- AlmaLinux 8.0+ +- Rocky Linux 8+ - Oracle Linux 8+ - OpenSUSE Tubleweed +- Amazon Linux 2023 ## Preview diff --git a/install.sh b/install.sh index 29272c8d..6c094c78 100755 --- a/install.sh +++ b/install.sh @@ -39,41 +39,49 @@ arch() { echo "arch: $(arch)" os_version="" -os_version=$(grep -i version_id /etc/os-release | cut -d \" -f2 | cut -d . -f1) +os_version=$(grep "^VERSION_ID" /etc/os-release | cut -d '=' -f2 | tr -d '"' | tr -d '.') if [[ "${release}" == "arch" ]]; then echo "Your OS is Arch Linux" elif [[ "${release}" == "parch" ]]; then - echo "Your OS is Parch linux" + echo "Your OS is Parch Linux" elif [[ "${release}" == "manjaro" ]]; then echo "Your OS is Manjaro" elif [[ "${release}" == "armbian" ]]; then echo "Your OS is Armbian" elif [[ "${release}" == "opensuse-tumbleweed" ]]; then echo "Your OS is OpenSUSE Tumbleweed" +elif [[ "${release}" == "openEuler" ]]; then + if [[ ${os_version} -lt 2203 ]]; then + echo -e "${red} Please use OpenEuler 22.03 or higher ${plain}\n" && exit 1 + fi elif [[ "${release}" == "centos" ]]; then if [[ ${os_version} -lt 8 ]]; then echo -e "${red} Please use CentOS 8 or higher ${plain}\n" && exit 1 fi elif [[ "${release}" == "ubuntu" ]]; then - if [[ ${os_version} -lt 20 ]]; then + if [[ ${os_version} -lt 2004 ]]; then echo -e "${red} Please use Ubuntu 20 or higher version!${plain}\n" && exit 1 fi elif [[ "${release}" == "fedora" ]]; then if [[ ${os_version} -lt 36 ]]; then echo -e "${red} Please use Fedora 36 or higher version!${plain}\n" && exit 1 fi +elif [[ "${release}" == "amzn" ]]; then + if [[ ${os_version} != "2023" ]]; then + echo -e "${red} Please use Amazon Linux 2023!${plain}\n" && exit 1 + fi elif [[ "${release}" == "debian" ]]; then if [[ ${os_version} -lt 11 ]]; then echo -e "${red} Please use Debian 11 or higher ${plain}\n" && exit 1 fi elif [[ "${release}" == "almalinux" ]]; then - if [[ ${os_version} -lt 9 ]]; then - echo -e "${red} Please use AlmaLinux 9 or higher ${plain}\n" && exit 1 + if [[ ${os_version} -lt 80 ]]; then + echo -e "${red} Please use AlmaLinux 8.0 or higher ${plain}\n" && exit 1 fi elif [[ "${release}" == "rocky" ]]; then - if [[ ${os_version} -lt 9 ]]; then - echo -e "${red} Please use Rocky Linux 9 or higher ${plain}\n" && exit 1 + if [[ ${os_version} -lt 8 ]]; then + echo -e "${red} Please use Rocky Linux 8 or higher ${plain}\n" && exit 1 fi elif [[ "${release}" == "oracle" ]]; then if [[ ${os_version} -lt 8 ]]; then @@ -85,24 +93,29 @@ else echo "- Ubuntu 20.04+" echo "- Debian 11+" echo "- CentOS 8+" + echo "- OpenEuler 22.03+" echo "- Fedora 36+" echo "- Arch Linux" echo "- Parch Linux" echo "- Manjaro" echo "- Armbian" - echo "- AlmaLinux 9+" - echo "- Rocky Linux 9+" + echo "- AlmaLinux 8.0+" + echo "- Rocky Linux 8+" echo "- Oracle Linux 8+" echo "- OpenSUSE Tumbleweed" + echo "- Amazon Linux 2023" exit 1 fi install_dependencies() { case "${release}" in + ubuntu | debian | armbian) + apt-get update && apt-get install -y -q wget curl tar tzdata + ;; centos | almalinux | rocky | oracle) yum -y update && yum install -y -q wget curl tar tzdata ;; - fedora) + fedora | amzn) dnf -y update && dnf install -y -q wget curl tar tzdata ;; arch | manjaro | parch) @@ -112,7 +125,7 @@ install_dependencies() { zypper refresh && zypper -q install -y wget curl tar timezone ;; *) - apt-get update && apt-get install -y -q wget curl tar tzdata + apt-get update && apt install -y -q wget curl tar tzdata ;; esac } @@ -273,6 +286,7 @@ install_x-ui() { echo "x-ui stop - Stop" echo "x-ui restart - Restart" echo "x-ui status - Current Status" + echo "x-ui settings - Current Settings" echo "x-ui enable - Enable Autostart on OS Startup" echo "x-ui disable - Disable Autostart on OS Startup" echo "x-ui log - Check Logs" diff --git a/x-ui.sh b/x-ui.sh index f245befb..bf5363b9 100644 --- a/x-ui.sh +++ b/x-ui.sh @@ -35,41 +35,49 @@ fi echo "The OS release is: $release" os_version="" -os_version=$(grep -i version_id /etc/os-release | cut -d \" -f2 | cut -d . -f1) +os_version=$(grep "^VERSION_ID" /etc/os-release | cut -d '=' -f2 | tr -d '"' | tr -d '.') if [[ "${release}" == "arch" ]]; then echo "Your OS is Arch Linux" elif [[ "${release}" == "parch" ]]; then - echo "Your OS is Parch linux" + echo "Your OS is Parch Linux" elif [[ "${release}" == "manjaro" ]]; then echo "Your OS is Manjaro" elif [[ "${release}" == "armbian" ]]; then echo "Your OS is Armbian" elif [[ "${release}" == "opensuse-tumbleweed" ]]; then echo "Your OS is OpenSUSE Tumbleweed" +elif [[ "${release}" == "openEuler" ]]; then + if [[ ${os_version} -lt 2203 ]]; then + echo -e "${red} Please use OpenEuler 22.03 or higher ${plain}\n" && exit 1 + fi elif [[ "${release}" == "centos" ]]; then if [[ ${os_version} -lt 8 ]]; then echo -e "${red} Please use CentOS 8 or higher ${plain}\n" && exit 1 fi elif [[ "${release}" == "ubuntu" ]]; then - if [[ ${os_version} -lt 20 ]]; then + if [[ ${os_version} -lt 2004 ]]; then echo -e "${red} Please use Ubuntu 20 or higher version!${plain}\n" && exit 1 fi elif [[ "${release}" == "fedora" ]]; then if [[ ${os_version} -lt 36 ]]; then echo -e "${red} Please use Fedora 36 or higher version!${plain}\n" && exit 1 fi +elif [[ "${release}" == "amzn" ]]; then + if [[ ${os_version} != "2023" ]]; then + echo -e "${red} Please use Amazon Linux 2023!${plain}\n" && exit 1 + fi elif [[ "${release}" == "debian" ]]; then if [[ ${os_version} -lt 11 ]]; then echo -e "${red} Please use Debian 11 or higher ${plain}\n" && exit 1 fi elif [[ "${release}" == "almalinux" ]]; then - if [[ ${os_version} -lt 9 ]]; then - echo -e "${red} Please use AlmaLinux 9 or higher ${plain}\n" && exit 1 + if [[ ${os_version} -lt 80 ]]; then + echo -e "${red} Please use AlmaLinux 8.0 or higher ${plain}\n" && exit 1 fi elif [[ "${release}" == "rocky" ]]; then - if [[ ${os_version} -lt 9 ]]; then - echo -e "${red} Please use Rocky Linux 9 or higher ${plain}\n" && exit 1 + if [[ ${os_version} -lt 8 ]]; then + echo -e "${red} Please use Rocky Linux 8 or higher ${plain}\n" && exit 1 fi elif [[ "${release}" == "oracle" ]]; then if [[ ${os_version} -lt 8 ]]; then @@ -81,17 +89,18 @@ else echo "- Ubuntu 20.04+" echo "- Debian 11+" echo "- CentOS 8+" + echo "- OpenEuler 22.03+" echo "- Fedora 36+" echo "- Arch Linux" echo "- Parch Linux" echo "- Manjaro" echo "- Armbian" - echo "- AlmaLinux 9+" - echo "- Rocky Linux 9+" + echo "- AlmaLinux 8.0+" + echo "- Rocky Linux 8+" echo "- Oracle Linux 8+" echo "- OpenSUSE Tumbleweed" + echo "- Amazon Linux 2023" exit 1 - fi confirm() {