quydang il y a 1 an
Parent
commit
ca2b3dc4fc
6 fichiers modifiés avec 44 ajouts et 14 suppressions
  1. 2 2
      .github/workflows/docker.yml
  2. 21 10
      .github/workflows/release.yml
  3. 5 0
      DockerInit.sh
  4. 13 0
      README.md
  5. 2 1
      install.sh
  6. 1 1
      web/translation/translate.vi_VN.toml

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

@@ -1,4 +1,4 @@
-name: Release X-ui dockerhub
+name: Release 3X-UI dockerhub
 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
+          platforms: linux/amd64, linux/arm64/v8, linux/arm/v7, linux/arm/v6
           tags: ${{ steps.meta.outputs.tags }}
           labels: ${{ steps.meta.outputs.labels }}

+ 21 - 10
.github/workflows/release.yml

@@ -1,4 +1,4 @@
-name: Release 3X-ui
+name: Release 3X-UI
 
 on:
   push:
@@ -10,7 +10,11 @@ jobs:
   build:
     strategy:
       matrix:
-        platform: [amd64, arm64, arm]
+        platform:
+          - amd64
+          - arm64
+          - armv7
+          - armv6
     runs-on: ubuntu-20.04
     steps:
       - name: Checkout repository
@@ -20,13 +24,15 @@ jobs:
         uses: actions/[email protected]
         with:
           go-version: '1.21'
-          
-      - name: Install dependencies for arm64 and arm
-        if: matrix.platform == 'arm64' || matrix.platform == 'arm'
+
+      - name: Install dependencies
         run: |
           sudo apt-get update
-          sudo apt install gcc-aarch64-linux-gnu
-          if [ "${{ matrix.platform }}" == "arm" ]; then
+          if [ "${{ matrix.platform }}" == "amd64" ]; then
+            # Add any amd64 specific dependencies here
+          elif [ "${{ matrix.platform }}" == "arm64" ]; then
+            sudo apt install gcc-aarch64-linux-gnu
+          elif [ "${{ matrix.platform }}" == "armv7" ] || [ "${{ matrix.platform }}" == "armv6" ]; then
             sudo apt install gcc-arm-linux-gnueabihf
           fi
 
@@ -37,7 +43,8 @@ jobs:
           export GOARCH=${{ matrix.platform }}
           if [ "${{ matrix.platform }}" == "arm64" ]; then
             export CC=aarch64-linux-gnu-gcc
-          elif [ "${{ matrix.platform }}" == "arm" ]; then
+          elif [ "${{ matrix.platform }}" == "armv7" ] || [ "${{ matrix.platform }}" == "armv6" ]; then
+            export GOARM=7
             export CC=arm-linux-gnueabihf-gcc
           fi
           go build -o xui-release -v main.go
@@ -60,12 +67,16 @@ jobs:
             wget ${Xray_URL}Xray-linux-arm64-v8a.zip
             unzip Xray-linux-arm64-v8a.zip
             rm -f Xray-linux-arm64-v8a.zip
-          else
+          elif [ "${{ matrix.platform }}" == "armv7" ]; then
             wget ${Xray_URL}Xray-linux-arm32-v7a.zip
             unzip Xray-linux-arm32-v7a.zip
             rm -f Xray-linux-arm32-v7a.zip
+          elif [ "${{ matrix.platform }}" == "armv6" ]; then
+            wget ${Xray_URL}Xray-linux-arm32-v6.zip
+            unzip Xray-linux-arm32-v6.zip
+            rm -f Xray-linux-arm32-v6.zip
           fi
-          rm -f geoip.dat geosite.dat geoip_IR.dat geosite_IR.dat geoip_VN.dat geosite_VN.dat
+          rm -f geoip.dat geosite.dat
           wget https://github.com/Loyalsoldier/v2ray-rules-dat/releases/latest/download/geoip.dat
           wget https://github.com/Loyalsoldier/v2ray-rules-dat/releases/latest/download/geosite.dat
           wget -O geoip_IR.dat https://github.com/chocolate4u/Iran-v2ray-rules/releases/latest/download/geoip.dat

+ 5 - 0
DockerInit.sh

@@ -13,12 +13,17 @@ case $1 in
         ARCH="arm32-v7a"
         FNAME="arm32"
         ;;
+    armv6)
+        ARCH="arm32-v6"
+        FNAME="armv6"
+        ;;
     *)
         ARCH="64"
         FNAME="amd64"
         ;;
 esac
 
+
 mkdir -p build/bin
 cd build/bin
 

+ 13 - 0
README.md

@@ -383,6 +383,19 @@ XUI_BIN_FOLDER="bin" XUI_DB_FOLDER="/etc/x-ui" go build main.go
 - AlmaLinux 9+
 - Rockylinux 9+
 
+## Supported Architectures and Devices
+
+Supports a variety of different architectures and devices. Here are some of the main architectures that we support:
+
+- **amd64**: This is the most common architecture for personal computers and servers. It supports most modern operating systems. 
+
+- **armv8 / arm64 / aarch64**: This is the architecture for modern mobile and embedded devices, including smartphones and tablets. (Ex: Raspberry Pi 4, Raspberry Pi 3, Raspberry Pi Zero 2/Zero 2 W, Orange Pi 3 LTS,...)
+
+- **armv7 / arm / arm32**: This is the architecture for older mobile and embedded devices. It is still widely used in many devices. (Ex: Orange Pi Zero LTS, Orange Pi PC Plus, Raspberry Pi 2,...)
+
+- **armv6 / arm / arm32**: This is the architecture for very old embedded devices. While not as common as before, there are still some devices using this architecture. (Ex: Raspberry Pi 1, Raspberry Pi Zero/Zero W,...)
+
+  
 ## Preview
 
 ![1](./media/1.png)

+ 2 - 1
install.sh

@@ -27,7 +27,8 @@ arch3xui() {
     case "$(uname -m)" in
     x86_64 | x64 | amd64) echo 'amd64' ;;
     armv8* | armv8 | arm64 | aarch64) echo 'arm64' ;;
-    armv7* | armv7 | arm | arm32 ) echo 'arm' ;;
+    armv7* | armv7 | arm) echo 'armv7' ;;
+    armv6* | armv6 | arm) echo 'armv6' ;;
     *) echo -e "${green}Unsupported CPU architecture! ${plain}" && rm -f install.sh && exit 1 ;;
     esac
 }

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

@@ -75,7 +75,7 @@
 [pages.index]
 "title" = "Trạng thái hệ thống"
 "memory" = "Bộ nhớ"
-"hard" = "Đĩa(ổ cứng)"
+"hard" = "Dung lượng"
 "xrayStatus" = "Trạng thái"
 "stopXray" = "Dừng lại"
 "restartXray" = "Khởi động lại"