Browse Source

Remove wget dependency from everywhere (#3598)

* Remove wget dependency

* Merge branch 'curl_only' of https://github.com/nebulosa2007/3x-ui into nebulosa2007-curl_only

---------

Co-authored-by: Sanaei <[email protected]>
Nebulosa 6 days ago
parent
commit
719ae0e014
5 changed files with 41 additions and 48 deletions
  1. 7 7
      DockerInit.sh
  2. 0 1
      Dockerfile
  3. 12 12
      install.sh
  4. 14 20
      update.sh
  5. 8 8
      x-ui.sh

+ 7 - 7
DockerInit.sh

@@ -27,14 +27,14 @@ case $1 in
 esac
 esac
 mkdir -p build/bin
 mkdir -p build/bin
 cd build/bin
 cd build/bin
-wget -q "https://github.com/XTLS/Xray-core/releases/download/v25.12.8/Xray-linux-${ARCH}.zip"
+curl -sfLRO "https://github.com/XTLS/Xray-core/releases/download/v25.12.8/Xray-linux-${ARCH}.zip"
 unzip "Xray-linux-${ARCH}.zip"
 unzip "Xray-linux-${ARCH}.zip"
 rm -f "Xray-linux-${ARCH}.zip" geoip.dat geosite.dat
 rm -f "Xray-linux-${ARCH}.zip" geoip.dat geosite.dat
 mv xray "xray-linux-${FNAME}"
 mv xray "xray-linux-${FNAME}"
-wget -q https://github.com/Loyalsoldier/v2ray-rules-dat/releases/latest/download/geoip.dat
-wget -q https://github.com/Loyalsoldier/v2ray-rules-dat/releases/latest/download/geosite.dat
-wget -q -O geoip_IR.dat https://github.com/chocolate4u/Iran-v2ray-rules/releases/latest/download/geoip.dat
-wget -q -O geosite_IR.dat https://github.com/chocolate4u/Iran-v2ray-rules/releases/latest/download/geosite.dat
-wget -q -O geoip_RU.dat https://github.com/runetfreedom/russia-v2ray-rules-dat/releases/latest/download/geoip.dat
-wget -q -O geosite_RU.dat https://github.com/runetfreedom/russia-v2ray-rules-dat/releases/latest/download/geosite.dat
+curl -sfLRO https://github.com/Loyalsoldier/v2ray-rules-dat/releases/latest/download/geoip.dat
+curl -sfLRO https://github.com/Loyalsoldier/v2ray-rules-dat/releases/latest/download/geosite.dat
+curl -sfLRo geoip_IR.dat https://github.com/chocolate4u/Iran-v2ray-rules/releases/latest/download/geoip.dat
+curl -sfLRo geosite_IR.dat https://github.com/chocolate4u/Iran-v2ray-rules/releases/latest/download/geosite.dat
+curl -sfLRo geoip_RU.dat https://github.com/runetfreedom/russia-v2ray-rules-dat/releases/latest/download/geoip.dat
+curl -sfLRo geosite_RU.dat https://github.com/runetfreedom/russia-v2ray-rules-dat/releases/latest/download/geosite.dat
 cd ../../
 cd ../../

+ 0 - 1
Dockerfile

@@ -8,7 +8,6 @@ ARG TARGETARCH
 RUN apk --no-cache --update add \
 RUN apk --no-cache --update add \
   build-base \
   build-base \
   gcc \
   gcc \
-  wget \
   unzip
   unzip
 
 
 COPY . .
 COPY . .

+ 12 - 12
install.sh

@@ -59,29 +59,29 @@ is_domain() {
 install_base() {
 install_base() {
     case "${release}" in
     case "${release}" in
         ubuntu | debian | armbian)
         ubuntu | debian | armbian)
-            apt-get update && apt-get install -y -q wget curl tar tzdata openssl socat
+            apt-get update && apt-get install -y -q curl tar tzdata openssl socat
         ;;
         ;;
         fedora | amzn | virtuozzo | rhel | almalinux | rocky | ol)
         fedora | amzn | virtuozzo | rhel | almalinux | rocky | ol)
-            dnf -y update && dnf install -y -q wget curl tar tzdata openssl socat
+            dnf -y update && dnf install -y -q curl tar tzdata openssl socat
         ;;
         ;;
         centos)
         centos)
             if [[ "${VERSION_ID}" =~ ^7 ]]; then
             if [[ "${VERSION_ID}" =~ ^7 ]]; then
-                yum -y update && yum install -y wget curl tar tzdata openssl socat
+                yum -y update && yum install -y curl tar tzdata openssl socat
             else
             else
-                dnf -y update && dnf install -y -q wget curl tar tzdata openssl socat
+                dnf -y update && dnf install -y -q curl tar tzdata openssl socat
             fi
             fi
         ;;
         ;;
         arch | manjaro | parch)
         arch | manjaro | parch)
-            pacman -Syu && pacman -Syu --noconfirm wget curl tar tzdata openssl socat
+            pacman -Syu && pacman -Syu --noconfirm curl tar tzdata openssl socat
         ;;
         ;;
         opensuse-tumbleweed | opensuse-leap)
         opensuse-tumbleweed | opensuse-leap)
-            zypper refresh && zypper -q install -y wget curl tar timezone openssl socat
+            zypper refresh && zypper -q install -y curl tar timezone openssl socat
         ;;
         ;;
         alpine)
         alpine)
-            apk update && apk add wget curl tar tzdata openssl socat
+            apk update && apk add curl tar tzdata openssl socat
         ;;
         ;;
         *)
         *)
-            apt-get update && apt-get install -y -q wget curl tar tzdata openssl socat
+            apt-get update && apt-get install -y -q curl tar tzdata openssl socat
         ;;
         ;;
     esac
     esac
 }
 }
@@ -587,7 +587,7 @@ install_x-ui() {
             fi
             fi
         fi
         fi
         echo -e "Got x-ui latest version: ${tag_version}, beginning the installation..."
         echo -e "Got x-ui latest version: ${tag_version}, beginning the installation..."
-        wget --inet4-only -N -O ${xui_folder}-linux-$(arch).tar.gz https://github.com/MHSanaei/3x-ui/releases/download/${tag_version}/x-ui-linux-$(arch).tar.gz
+        curl -4fLRo ${xui_folder}-linux-$(arch).tar.gz -z ${xui_folder}-linux-$(arch).tar.gz https://github.com/MHSanaei/3x-ui/releases/download/${tag_version}/x-ui-linux-$(arch).tar.gz
         if [[ $? -ne 0 ]]; then
         if [[ $? -ne 0 ]]; then
             echo -e "${red}Downloading x-ui failed, please be sure that your server can access GitHub ${plain}"
             echo -e "${red}Downloading x-ui failed, please be sure that your server can access GitHub ${plain}"
             exit 1
             exit 1
@@ -604,13 +604,13 @@ install_x-ui() {
         
         
         url="https://github.com/MHSanaei/3x-ui/releases/download/${tag_version}/x-ui-linux-$(arch).tar.gz"
         url="https://github.com/MHSanaei/3x-ui/releases/download/${tag_version}/x-ui-linux-$(arch).tar.gz"
         echo -e "Beginning to install x-ui $1"
         echo -e "Beginning to install x-ui $1"
-        wget --inet4-only -N -O ${xui_folder}-linux-$(arch).tar.gz ${url}
+        curl -4fLRo ${xui_folder}-linux-$(arch).tar.gz -z ${xui_folder}-linux-$(arch).tar.gz ${url}
         if [[ $? -ne 0 ]]; then
         if [[ $? -ne 0 ]]; then
             echo -e "${red}Download x-ui $1 failed, please check if the version exists ${plain}"
             echo -e "${red}Download x-ui $1 failed, please check if the version exists ${plain}"
             exit 1
             exit 1
         fi
         fi
     fi
     fi
-    wget --inet4-only -O /usr/bin/x-ui-temp https://raw.githubusercontent.com/MHSanaei/3x-ui/main/x-ui.sh
+    curl -4fLRo /usr/bin/x-ui-temp https://raw.githubusercontent.com/MHSanaei/3x-ui/main/x-ui.sh
     if [[ $? -ne 0 ]]; then
     if [[ $? -ne 0 ]]; then
         echo -e "${red}Failed to download x-ui.sh${plain}"
         echo -e "${red}Failed to download x-ui.sh${plain}"
         exit 1
         exit 1
@@ -662,7 +662,7 @@ install_x-ui() {
     fi
     fi
     
     
     if [[ $release == "alpine" ]]; then
     if [[ $release == "alpine" ]]; then
-        wget --inet4-only -O /etc/init.d/x-ui https://raw.githubusercontent.com/MHSanaei/3x-ui/main/x-ui.rc
+        curl -4fLRo /etc/init.d/x-ui https://raw.githubusercontent.com/MHSanaei/3x-ui/main/x-ui.rc
         if [[ $? -ne 0 ]]; then
         if [[ $? -ne 0 ]]; then
             echo -e "${red}Failed to download x-ui.rc${plain}"
             echo -e "${red}Failed to download x-ui.rc${plain}"
             exit 1
             exit 1

+ 14 - 20
update.sh

@@ -34,12 +34,6 @@ _fail() {
 # check root
 # check root
 [[ $EUID -ne 0 ]] && _fail "FATAL ERROR: Please run this script with root privilege."
 [[ $EUID -ne 0 ]] && _fail "FATAL ERROR: Please run this script with root privilege."
 
 
-if _command_exists wget; then
-    wget_bin=$(which wget)
-else
-    _fail "ERROR: Command 'wget' not found."
-fi
-
 if _command_exists curl; then
 if _command_exists curl; then
     curl_bin=$(which curl)
     curl_bin=$(which curl)
 else
 else
@@ -97,29 +91,29 @@ install_base() {
     echo -e "${green}Updating and install dependency packages...${plain}"
     echo -e "${green}Updating and install dependency packages...${plain}"
     case "${release}" in
     case "${release}" in
         ubuntu | debian | armbian)
         ubuntu | debian | armbian)
-            apt-get update >/dev/null 2>&1 && apt-get install -y -q wget curl tar tzdata openssl socat >/dev/null 2>&1
+            apt-get update >/dev/null 2>&1 && apt-get install -y -q curl tar tzdata openssl socat >/dev/null 2>&1
         ;;
         ;;
         fedora | amzn | virtuozzo | rhel | almalinux | rocky | ol)
         fedora | amzn | virtuozzo | rhel | almalinux | rocky | ol)
-            dnf -y update >/dev/null 2>&1 && dnf install -y -q wget curl tar tzdata openssl socat >/dev/null 2>&1
+            dnf -y update >/dev/null 2>&1 && dnf install -y -q curl tar tzdata openssl socat >/dev/null 2>&1
         ;;
         ;;
         centos)
         centos)
             if [[ "${VERSION_ID}" =~ ^7 ]]; then
             if [[ "${VERSION_ID}" =~ ^7 ]]; then
-                yum -y update >/dev/null 2>&1 && yum install -y -q wget curl tar tzdata openssl socat >/dev/null 2>&1
+                yum -y update >/dev/null 2>&1 && yum install -y -q curl tar tzdata openssl socat >/dev/null 2>&1
             else
             else
-                dnf -y update >/dev/null 2>&1 && dnf install -y -q wget curl tar tzdata openssl socat >/dev/null 2>&1
+                dnf -y update >/dev/null 2>&1 && dnf install -y -q curl tar tzdata openssl socat >/dev/null 2>&1
             fi
             fi
         ;;
         ;;
         arch | manjaro | parch)
         arch | manjaro | parch)
-            pacman -Syu >/dev/null 2>&1 && pacman -Syu --noconfirm wget curl tar tzdata openssl socat >/dev/null 2>&1
+            pacman -Syu >/dev/null 2>&1 && pacman -Syu --noconfirm curl tar tzdata openssl socat >/dev/null 2>&1
         ;;
         ;;
         opensuse-tumbleweed | opensuse-leap)
         opensuse-tumbleweed | opensuse-leap)
-            zypper refresh >/dev/null 2>&1 && zypper -q install -y wget curl tar timezone openssl socat >/dev/null 2>&1
+            zypper refresh >/dev/null 2>&1 && zypper -q install -y curl tar timezone openssl socat >/dev/null 2>&1
         ;;
         ;;
         alpine)
         alpine)
-            apk update >/dev/null 2>&1 && apk add wget curl tar tzdata openssl socat >/dev/null 2>&1
+            apk update >/dev/null 2>&1 && apk add curl tar tzdata openssl socat >/dev/null 2>&1
         ;;
         ;;
         *)
         *)
-            apt-get update >/dev/null 2>&1 && apt install -y -q wget curl tar tzdata openssl socat >/dev/null 2>&1
+            apt-get update >/dev/null 2>&1 && apt install -y -q curl tar tzdata openssl socat >/dev/null 2>&1
         ;;
         ;;
     esac
     esac
 }
 }
@@ -582,10 +576,10 @@ update_x-ui() {
         fi
         fi
     fi
     fi
     echo -e "Got x-ui latest version: ${tag_version}, beginning the installation..."
     echo -e "Got x-ui latest version: ${tag_version}, beginning the installation..."
-    ${wget_bin} -N -O ${xui_folder}-linux-$(arch).tar.gz https://github.com/MHSanaei/3x-ui/releases/download/${tag_version}/x-ui-linux-$(arch).tar.gz 2>/dev/null
+    ${curl_bin} -fLRo ${xui_folder}-linux-$(arch).tar.gz -z ${xui_folder}-linux-$(arch).tar.gz https://github.com/MHSanaei/3x-ui/releases/download/${tag_version}/x-ui-linux-$(arch).tar.gz 2>/dev/null
     if [[ $? -ne 0 ]]; then
     if [[ $? -ne 0 ]]; then
         echo -e "${yellow}Trying to fetch version with IPv4...${plain}"
         echo -e "${yellow}Trying to fetch version with IPv4...${plain}"
-        ${wget_bin} --inet4-only -N -O ${xui_folder}-linux-$(arch).tar.gz https://github.com/MHSanaei/3x-ui/releases/download/${tag_version}/x-ui-linux-$(arch).tar.gz 2>/dev/null
+        ${curl_bin} -4fLRo ${xui_folder}-linux-$(arch).tar.gz -z ${xui_folder}-linux-$(arch).tar.gz https://github.com/MHSanaei/3x-ui/releases/download/${tag_version}/x-ui-linux-$(arch).tar.gz 2>/dev/null
         if [[ $? -ne 0 ]]; then
         if [[ $? -ne 0 ]]; then
             _fail "ERROR: Failed to download x-ui, please be sure that your server can access GitHub"
             _fail "ERROR: Failed to download x-ui, please be sure that your server can access GitHub"
         fi
         fi
@@ -647,10 +641,10 @@ update_x-ui() {
     chmod +x x-ui bin/xray-linux-$(arch) >/dev/null 2>&1
     chmod +x x-ui bin/xray-linux-$(arch) >/dev/null 2>&1
     
     
     echo -e "${green}Downloading and installing x-ui.sh script...${plain}"
     echo -e "${green}Downloading and installing x-ui.sh script...${plain}"
-    ${wget_bin} -O /usr/bin/x-ui https://raw.githubusercontent.com/MHSanaei/3x-ui/main/x-ui.sh >/dev/null 2>&1
+    ${curl_bin} -fLRo /usr/bin/x-ui https://raw.githubusercontent.com/MHSanaei/3x-ui/main/x-ui.sh >/dev/null 2>&1
     if [[ $? -ne 0 ]]; then
     if [[ $? -ne 0 ]]; then
         echo -e "${yellow}Trying to fetch x-ui with IPv4...${plain}"
         echo -e "${yellow}Trying to fetch x-ui with IPv4...${plain}"
-        ${wget_bin} --inet4-only -O /usr/bin/x-ui https://raw.githubusercontent.com/MHSanaei/3x-ui/main/x-ui.sh >/dev/null 2>&1
+        ${curl_bin} -4fLRo /usr/bin/x-ui https://raw.githubusercontent.com/MHSanaei/3x-ui/main/x-ui.sh >/dev/null 2>&1
         if [[ $? -ne 0 ]]; then
         if [[ $? -ne 0 ]]; then
             _fail "ERROR: Failed to download x-ui.sh script, please be sure that your server can access GitHub"
             _fail "ERROR: Failed to download x-ui.sh script, please be sure that your server can access GitHub"
         fi
         fi
@@ -670,9 +664,9 @@ update_x-ui() {
     
     
     if [[ $release == "alpine" ]]; then
     if [[ $release == "alpine" ]]; then
         echo -e "${green}Downloading and installing startup unit x-ui.rc...${plain}"
         echo -e "${green}Downloading and installing startup unit x-ui.rc...${plain}"
-        ${wget_bin} -O /etc/init.d/x-ui https://raw.githubusercontent.com/MHSanaei/3x-ui/main/x-ui.rc >/dev/null 2>&1
+        ${curl_bin} -fLRo /etc/init.d/x-ui https://raw.githubusercontent.com/MHSanaei/3x-ui/main/x-ui.rc >/dev/null 2>&1
         if [[ $? -ne 0 ]]; then
         if [[ $? -ne 0 ]]; then
-            ${wget_bin} --inet4-only -O /etc/init.d/x-ui https://raw.githubusercontent.com/MHSanaei/3x-ui/main/x-ui.rc >/dev/null 2>&1
+            ${curl_bin} -4fLRo /etc/init.d/x-ui https://raw.githubusercontent.com/MHSanaei/3x-ui/main/x-ui.rc >/dev/null 2>&1
             if [[ $? -ne 0 ]]; then
             if [[ $? -ne 0 ]]; then
                 _fail "ERROR: Failed to download startup unit x-ui.rc, please be sure that your server can access GitHub"
                 _fail "ERROR: Failed to download startup unit x-ui.rc, please be sure that your server can access GitHub"
             fi
             fi

+ 8 - 8
x-ui.sh

@@ -128,7 +128,7 @@ update_menu() {
         return 0
         return 0
     fi
     fi
 
 
-    wget -O /usr/bin/x-ui https://raw.githubusercontent.com/MHSanaei/3x-ui/main/x-ui.sh
+    curl -fLRo /usr/bin/x-ui https://raw.githubusercontent.com/MHSanaei/3x-ui/main/x-ui.sh
     chmod +x ${xui_folder}/x-ui.sh
     chmod +x ${xui_folder}/x-ui.sh
     chmod +x /usr/bin/x-ui
     chmod +x /usr/bin/x-ui
 
 
@@ -633,7 +633,7 @@ enable_bbr() {
 }
 }
 
 
 update_shell() {
 update_shell() {
-    wget -O /usr/bin/x-ui -N https://github.com/MHSanaei/3x-ui/raw/main/x-ui.sh
+    curl -fLRo /usr/bin/x-ui -z /usr/bin/x-ui https://github.com/MHSanaei/3x-ui/raw/main/x-ui.sh
     if [[ $? != 0 ]]; then
     if [[ $? != 0 ]]; then
         echo ""
         echo ""
         LOGE "Failed to download script, Please check whether the machine can connect Github"
         LOGE "Failed to download script, Please check whether the machine can connect Github"
@@ -957,18 +957,18 @@ update_all_geofiles() {
 }
 }
 
 
 update_main_geofiles() {
 update_main_geofiles() {
-        wget -O geoip.dat       https://github.com/Loyalsoldier/v2ray-rules-dat/releases/latest/download/geoip.dat
-        wget -O geosite.dat     https://github.com/Loyalsoldier/v2ray-rules-dat/releases/latest/download/geosite.dat
+        curl -fLRo geoip.dat       https://github.com/Loyalsoldier/v2ray-rules-dat/releases/latest/download/geoip.dat
+        curl -fLRo geosite.dat     https://github.com/Loyalsoldier/v2ray-rules-dat/releases/latest/download/geosite.dat
 }
 }
 
 
 update_ir_geofiles() {
 update_ir_geofiles() {
-        wget -O geoip_IR.dat    https://github.com/chocolate4u/Iran-v2ray-rules/releases/latest/download/geoip.dat
-        wget -O geosite_IR.dat  https://github.com/chocolate4u/Iran-v2ray-rules/releases/latest/download/geosite.dat
+        curl -fLRo geoip_IR.dat    https://github.com/chocolate4u/Iran-v2ray-rules/releases/latest/download/geoip.dat
+        curl -fLRo geosite_IR.dat  https://github.com/chocolate4u/Iran-v2ray-rules/releases/latest/download/geosite.dat
 }
 }
 
 
 update_ru_geofiles() {
 update_ru_geofiles() {
-        wget -O geoip_RU.dat    https://github.com/runetfreedom/russia-v2ray-rules-dat/releases/latest/download/geoip.dat
-        wget -O geosite_RU.dat  https://github.com/runetfreedom/russia-v2ray-rules-dat/releases/latest/download/geosite.dat
+        curl -fLRo geoip_RU.dat    https://github.com/runetfreedom/russia-v2ray-rules-dat/releases/latest/download/geoip.dat
+        curl -fLRo geosite_RU.dat  https://github.com/runetfreedom/russia-v2ray-rules-dat/releases/latest/download/geosite.dat
 }
 }
 
 
 update_geo() {
 update_geo() {