diff --git a/install.sh b/install.sh index 4e3e47ca..9e995095 100644 --- a/install.sh +++ b/install.sh @@ -25,9 +25,9 @@ echo "The OS release is: $release" arch3xui() { case "$(uname -m)" in - x86_64 | x64 | amd64 ) echo 'amd64' ;; - armv8 | arm64 | aarch64 ) echo 'arm64' ;; - * ) echo -e "${green}Unsupported CPU architecture! ${plain}" && rm -f install.sh && exit 1 ;; + x86_64 | x64 | amd64) echo 'amd64' ;; + armv8 | arm64 | aarch64) echo 'arm64' ;; + *) echo -e "${green}Unsupported CPU architecture! ${plain}" && rm -f install.sh && exit 1 ;; esac } echo "arch: $(arch3xui)" @@ -39,7 +39,7 @@ if [[ "${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 +elif [[ "${release}" == "ubuntu" ]]; then if [[ ${os_version} -lt 20 ]]; then echo -e "${red}please use Ubuntu 20 or higher version!${plain}\n" && exit 1 fi @@ -59,18 +59,17 @@ fi install_base() { case "${release}" in - centos|fedora) - yum install -y -q wget curl tar - ;; - *) - apt install -y -q wget curl tar - ;; + centos | fedora) + yum install -y -q wget curl tar + ;; + *) + apt install -y -q wget curl tar + ;; esac } #This function will be called when user installed x-ui out of sercurity config_after_install() { - /usr/local/x-ui/x-ui migrate echo -e "${yellow}Install/update finished! For security it's recommended to modify panel settings ${plain}" read -p "Do you want to continue with the modification [y/n]? ": config_confirm if [[ "${config_confirm}" == "y" || "${config_confirm}" == "Y" ]]; then @@ -101,6 +100,7 @@ config_after_install() { echo -e "${red} this is your upgrade,will keep old settings,if you forgot your login info,you can type x-ui and then type 7 to check${plain}" fi fi + /usr/local/x-ui/x-ui migrate } install_x-ui() { diff --git a/web/html/xui/form/protocol/vmess.html b/web/html/xui/form/protocol/vmess.html index 43e9182f..d46c16f9 100644 --- a/web/html/xui/form/protocol/vmess.html +++ b/web/html/xui/form/protocol/vmess.html @@ -9,7 +9,6 @@ - diff --git a/web/translation/translate.en_US.toml b/web/translation/translate.en_US.toml index 2366e31f..94d4e47d 100644 --- a/web/translation/translate.en_US.toml +++ b/web/translation/translate.en_US.toml @@ -170,7 +170,7 @@ "xtlsDesc" = "Xray core needs to be 1.7.5" "realityDesc" = "Xray core needs to be 1.8.0 or higher." "telegramDesc" = "use Telegram ID without @ or chat IDs ( you can get it here @userinfobot )" -"subscriptionDesc" = "you can find your sub link on Details, also ou can use the same name for several configurations" +"subscriptionDesc" = "you can find your sub link on Details, also you can use the same name for several configurations" [pages.client] "add" = "Add Client" diff --git a/x-ui.sh b/x-ui.sh index 7f304ea0..cf7fb98d 100644 --- a/x-ui.sh +++ b/x-ui.sh @@ -42,7 +42,7 @@ if [[ "${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 +elif [[ "${release}" == "ubuntu" ]]; then if [[ ${os_version} -lt 20 ]]; then echo -e "${red}please use Ubuntu 20 or higher version! ${plain}\n" && exit 1 fi @@ -432,8 +432,7 @@ show_xray_status() { } open_ports() { - if ! command -v ufw &> /dev/null - then + if ! command -v ufw &>/dev/null; then echo "ufw firewall is not installed. Installing now..." sudo apt-get update sudo apt-get install -y ufw @@ -460,22 +459,23 @@ open_ports() { # Check if the input is valid if ! [[ $ports =~ ^([0-9]+|[0-9]+-[0-9]+)(,([0-9]+|[0-9]+-[0-9]+))*$ ]]; then - echo "Error: Invalid input. Please enter a comma-separated list of ports or a range of ports (e.g. 80,443,2053 or 400-500)." >&2; exit 1 + echo "Error: Invalid input. Please enter a comma-separated list of ports or a range of ports (e.g. 80,443,2053 or 400-500)." >&2 + exit 1 fi # Open the specified ports using ufw - IFS=',' read -ra PORT_LIST <<< "$ports" + IFS=',' read -ra PORT_LIST <<<"$ports" for port in "${PORT_LIST[@]}"; do if [[ $port == *-* ]]; then - # Split the range into start and end ports - start_port=$(echo $port | cut -d'-' -f1) - end_port=$(echo $port | cut -d'-' -f2) - # Loop through the range and open each port - for ((i=start_port; i<=end_port; i++)); do - sudo ufw allow $i - done + # Split the range into start and end ports + start_port=$(echo $port | cut -d'-' -f1) + end_port=$(echo $port | cut -d'-' -f2) + # Loop through the range and open each port + for ((i = start_port; i <= end_port; i++)); do + sudo ufw allow $i + done else - sudo ufw allow "$port" + sudo ufw allow "$port" fi done @@ -529,7 +529,7 @@ ssl_cert_issue() { fi fi #install socat second - if [[ "${release}" == "centos" ]] || [[ "${release}" == "fedora" ]] ; then + if [[ "${release}" == "centos" ]] || [[ "${release}" == "fedora" ]]; then yum install socat -y else apt install socat -y @@ -555,16 +555,16 @@ ssl_cert_issue() { else LOGI "your domain is ready for issuing cert now..." fi - - #create a directory for install cert - certPath="/root/cert/${domain}" - if [ ! -d "$certPath" ]; then - mkdir -p "$certPath" - else - rm -rf "$certPath" - mkdir -p "$certPath" - fi - + + #create a directory for install cert + certPath="/root/cert/${domain}" + if [ ! -d "$certPath" ]; then + mkdir -p "$certPath" + else + rm -rf "$certPath" + mkdir -p "$certPath" + fi + #get needed port here local WebPort=80 read -p "please choose which port do you use,default will be 80 port:" WebPort @@ -595,22 +595,21 @@ ssl_cert_issue() { else LOGI "install certs succeed,enable auto renew..." fi - - ~/.acme.sh/acme.sh --upgrade --auto-upgrade - if [ $? -ne 0 ]; then - LOGE "auto renew failed, certs details:" - ls -lah cert/* - chmod 755 $certPath/* - exit 1 - else - LOGI "auto renew succeed, certs details:" - ls -lah cert/* - chmod 755 $certPath/* - fi + + ~/.acme.sh/acme.sh --upgrade --auto-upgrade + if [ $? -ne 0 ]; then + LOGE "auto renew failed, certs details:" + ls -lah cert/* + chmod 755 $certPath/* + exit 1 + else + LOGI "auto renew succeed, certs details:" + ls -lah cert/* + chmod 755 $certPath/* + fi } - warp_fixchatgpt() { curl -fsSL https://gist.githubusercontent.com/hamid-gh98/dc5dd9b0cc5b0412af927b1ccdb294c7/raw/install_warp_proxy.sh | bash echo "" @@ -619,21 +618,21 @@ 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 + 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 + 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 + 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 + 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 @@ -647,8 +646,6 @@ run_speedtest() { speedtest } - - show_usage() { echo "x-ui control menu usages: " echo "------------------------------------------" @@ -760,7 +757,7 @@ show_menu() { 19) warp_fixchatgpt ;; - 20) + 20) run_speedtest ;; *)