Explorar o código

Add support for ARMv5 and x86 (#1642)

quydang hai 1 ano
pai
achega
74ba6d7825

+ 2 - 2
.github/workflows/docker.yml

@@ -1,4 +1,4 @@
-name: Release 3X-UI dockerhub
+name: Release 3X-UI for Docker
 on:
   push:
     tags:
@@ -36,6 +36,6 @@ jobs:
         with:
           context: .
           push: ${{ github.event_name != 'pull_request' }}
-          platforms: linux/amd64, linux/arm64/v8, linux/arm/v7, linux/arm/v6
+          platforms: linux/amd64, linux/arm64/v8, linux/arm/v7, linux/arm/v6, linux/386, linux/arm/v5
           tags: ${{ steps.meta.outputs.tags }}
           labels: ${{ steps.meta.outputs.labels }}

+ 29 - 2
.github/workflows/release.yml

@@ -15,6 +15,8 @@ jobs:
           - arm64
           - armv7
           - armv6
+          - 386
+          - armv5
     runs-on: ubuntu-20.04
     steps:
       - name: Checkout repository
@@ -30,8 +32,14 @@ jobs:
           sudo apt-get update
           if [ "${{ matrix.platform }}" == "arm64" ]; then
             sudo apt install gcc-aarch64-linux-gnu
-          elif [ "${{ matrix.platform }}" == "armv7" ] || [ "${{ matrix.platform }}" == "armv6" ]; then
+          elif [ "${{ matrix.platform }}" == "armv7" ]; then
+            sudo apt install gcc-arm-linux-gnueabihf
+          elif [ "${{ matrix.platform }}" == "armv6" ]; then
             sudo apt install gcc-arm-linux-gnueabihf
+          elif [ "${{ matrix.platform }}" == "386" ]; then
+            sudo apt install gcc-i686-linux-gnu
+          elif [ "${{ matrix.platform }}" == "armv5" ]; then
+            sudo apt install gcc-arm-linux-gnueabi
           fi
 
       - name: Build x-ui
@@ -42,10 +50,21 @@ jobs:
           if [ "${{ matrix.platform }}" == "arm64" ]; then
             export GOARCH=arm64
             export CC=aarch64-linux-gnu-gcc
-          elif [ "${{ matrix.platform }}" == "armv7" ] || [ "${{ matrix.platform }}" == "armv6" ]; then
+          elif [ "${{ matrix.platform }}" == "armv7" ]; then
             export GOARCH=arm
             export GOARM=7
             export CC=arm-linux-gnueabihf-gcc
+          elif [ "${{ matrix.platform }}" == "armv6" ]; then
+            export GOARCH=arm
+            export GOARM=6
+            export CC=arm-linux-gnueabihf-gcc
+          elif [ "${{ matrix.platform }}" == "386" ]; then
+            export GOARCH=386
+            export CC=i686-linux-gnu-gcc
+          elif [ "${{ matrix.platform }}" == "armv5" ]; then
+            export GOARCH=arm
+            export GOARM=5
+            export CC=arm-linux-gnueabi-gcc
           fi
           go build -o xui-release -v main.go
           
@@ -75,6 +94,14 @@ jobs:
             wget ${Xray_URL}Xray-linux-arm32-v6.zip
             unzip Xray-linux-arm32-v6.zip
             rm -f Xray-linux-arm32-v6.zip
+          elif [ "${{ matrix.platform }}" == "386" ]; then
+            wget ${Xray_URL}Xray-linux-32.zip
+            unzip Xray-linux-32.zip
+            rm -f Xray-linux-32.zip
+          elif [ "${{ matrix.platform }}" == "armv5" ]; then
+            wget ${Xray_URL}Xray-linux-arm32-v5.zip
+            unzip Xray-linux-arm32-v5.zip
+            rm -f Xray-linux-arm32-v5.zip
           fi
           rm -f geoip.dat geosite.dat
           wget https://github.com/Loyalsoldier/v2ray-rules-dat/releases/latest/download/geoip.dat

+ 9 - 1
DockerInit.sh

@@ -5,6 +5,10 @@ case $1 in
         ARCH="64"
         FNAME="amd64"
         ;;
+    i386)
+        ARCH="32"
+        FNAME="i386"
+        ;;
     armv8 | arm64 | aarch64)
         ARCH="arm64-v8a"
         FNAME="arm64"
@@ -17,6 +21,10 @@ case $1 in
         ARCH="arm32-v6"
         FNAME="armv6"
         ;;
+    armv5)
+        ARCH="arm32-v5"
+        FNAME="armv5"
+        ;;
     *)
         ARCH="64"
         FNAME="amd64"
@@ -29,7 +37,7 @@ cd build/bin
 
 wget "https://github.com/XTLS/Xray-core/releases/download/v1.8.7/Xray-linux-${ARCH}.zip"
 unzip "Xray-linux-${ARCH}.zip"
-rm -f "Xray-linux-${ARCH}.zip" geoip.dat geosite.dat geoip_IR.dat geosite_IR.dat geoip_VN.dat geosite_VN.dat
+rm -f "Xray-linux-${ARCH}.zip" geoip.dat geosite.dat
 mv xray "xray-linux-${FNAME}"
 
 wget https://github.com/Loyalsoldier/v2ray-rules-dat/releases/latest/download/geoip.dat

+ 6 - 2
install.sh

@@ -26,12 +26,15 @@ echo "The OS release is: $release"
 arch3xui() {
     case "$(uname -m)" in
     x86_64 | x64 | amd64) echo 'amd64' ;;
+    i*86 | x86) echo '386' ;;
     armv8* | armv8 | arm64 | aarch64) echo 'arm64' ;;
     armv7* | armv7 | arm) echo 'armv7' ;;
-    armv6* | armv6 | arm) echo 'armv6' ;;
+    armv6* | armv6) echo 'armv6' ;;
+    armv5* | armv5) echo 'armv5' ;;
     *) echo -e "${green}Unsupported CPU architecture! ${plain}" && rm -f install.sh && exit 1 ;;
     esac
 }
+
 echo "arch: $(arch3xui)"
 
 os_version=""
@@ -163,7 +166,8 @@ install_x-ui() {
     chmod +x x-ui
 
     # Check the system's architecture and rename the file accordingly
-    if [[ $(arch3xui) == "armv6" || $(arch3xui) == "armv7" ]]; then
+    if [[ $(arch3xui) == "armv5" || $(arch3xui) == "armv6" || $(arch3xui) == "armv7" ]]; then
+
     mv bin/xray-linux-$(arch3xui) bin/xray-linux-arm
     chmod +x bin/xray-linux-arm
     fi

+ 2 - 2
web/translation/translate.vi_VN.toml

@@ -74,9 +74,9 @@
 
 [pages.index]
 "title" = "Trạng thái hệ thống"
-"memory" = "Bộ nhớ"
+"memory" = "Ram"
 "hard" = "Dung lượng"
-"xrayStatus" = "Trạng thái"
+"xrayStatus" = "Trạng thái Xray"
 "stopXray" = "Dừng lại"
 "restartXray" = "Khởi động lại"
 "xraySwitch" = "Phiên bản"