├── .github └── workflows │ ├── ARMv8-Docker-BuildX.yml │ ├── ARMv8-Docker-OpenWrt.yml │ ├── ARMv8-Mini-OpenWrt.yml │ ├── ARMv8-Package.yml │ ├── ARMv8-Plus-OpenWrt.yml │ ├── Delete-Old-Workflows.yml │ ├── RaspberryPi3-OpenWrt.yml │ ├── RaspberryPi4-OpenWrt.yml │ ├── Rockchip-OpenWrt.yml │ ├── X86_64-Mini-OpenWrt.yml │ └── X86_64-OpenWrt.yml ├── LICENSE ├── README.md ├── configs ├── armv8-docker-mini.config ├── armv8-docker.config ├── armv8-mini.config ├── armv8-plus.config ├── extra.config ├── rockchip.config ├── rpi3.config ├── rpi4.config ├── x86_64-mini.config └── x86_64.config ├── diy-mini.sh ├── diy-script.sh ├── docker ├── Dockerfile ├── buildImageX.sh └── patches │ ├── 30-sysinfo.sh │ ├── 99-custom.conf │ ├── banner │ ├── cbi_turboacc.patch │ ├── cbi_turboacc_new.patch │ ├── coremark.sh │ ├── cpustat │ ├── getcpu │ ├── index.html.patches │ ├── index.htm │ ├── index.htm.orig │ └── luci-admin-status-index-html.patch │ ├── init.d_turboacc.patch │ ├── kmod │ ├── rc.local │ └── smb4.11_enable_smb1.patch ├── images ├── bg1.jpg ├── mini.png ├── openwrt.png └── plus.png └── scripts ├── .zshrc ├── 011-fix-mbo-modules-build.patch ├── init-settings.sh ├── preset-adguard-core.sh ├── preset-clash-core.sh └── preset-terminal-tools.sh /.github/workflows/ARMv8-Docker-BuildX.yml: -------------------------------------------------------------------------------- 1 | name: ARMv8 Docker BuildX 2 | 3 | on: 4 | workflow_dispatch: 5 | schedule: 6 | - cron: 0 0 * * 6 7 | 8 | env: 9 | REPO_URL: https://github.com/coolsnowwolf/lede 10 | REPO_BRANCH: master 11 | CONFIG_FILE: configs/armv8-docker-mini.config 12 | DIY_SCRIPT: diy-mini.sh 13 | CLASH_KERNEL: arm64 14 | DOCKER_BUILD: buildImageX.sh 15 | DOCKER_IMAGE: summary/openwrt-aarch64 16 | TAG: mini 17 | TZ: Asia/Shanghai 18 | 19 | jobs: 20 | Build: 21 | runs-on: ubuntu-22.04 22 | 23 | steps: 24 | - name: Checkout 25 | uses: actions/checkout@main 26 | 27 | - name: Check Server Performance 28 | run: | 29 | echo "警告⚠" 30 | echo "分配的服务器性能有限,若选择的插件过多,务必注意CPU性能!" 31 | echo -e "已知CPU型号(降序): 7763,8370C,8272CL,8171M,E5-2673\n" 32 | echo "--------------------------CPU信息--------------------------" 33 | echo "CPU物理数量: $(cat /proc/cpuinfo | grep "physical id" | sort | uniq | wc -l)" 34 | echo "CPU核心数量: $(nproc)" 35 | echo -e "CPU型号信息:$(cat /proc/cpuinfo | grep -m1 name | awk -F: '{print $2}')\n" 36 | echo "--------------------------内存信息--------------------------" 37 | echo "已安装内存详细信息:" 38 | echo -e "$(sudo lshw -short -C memory | grep GiB)\n" 39 | echo "--------------------------硬盘信息--------------------------" 40 | echo "硬盘数量: $(ls /dev/sd* | grep -v [1-9] | wc -l)" && df -hT 41 | 42 | - name: Initialization Environment 43 | env: 44 | DEBIAN_FRONTEND: noninteractive 45 | run: | 46 | docker rmi $(docker images -q) 47 | sudo rm -rf /usr/share/dotnet /etc/apt/sources.list.d /usr/local/lib/android $AGENT_TOOLSDIRECTORY 48 | sudo -E apt-get -y update 49 | sudo -E apt-get -y install $(curl -fsSL is.gd/depends_ubuntu_2204) 50 | sudo -E apt-get -y autoremove --purge 51 | sudo -E apt-get -y clean 52 | sudo timedatectl set-timezone "$TZ" 53 | 54 | - name: Clone Source Code 55 | run: | 56 | df -hT $GITHUB_WORKSPACE 57 | git clone $REPO_URL -b $REPO_BRANCH openwrt 58 | cd openwrt 59 | echo "OPENWRT_PATH=$PWD" >> $GITHUB_ENV 60 | 61 | - name: Install Feeds 62 | run: | 63 | cd $OPENWRT_PATH 64 | ./scripts/feeds update -a 65 | ./scripts/feeds install -a 66 | 67 | - name: Load Custom Configuration 68 | run: | 69 | [ -e files ] && mv files $OPENWRT_PATH/files 70 | [ -e $CONFIG_FILE ] && mv $CONFIG_FILE $OPENWRT_PATH/.config 71 | sed -i '/\/clash_/d; /.dat/d' scripts/preset-clash-core.sh 72 | chmod +x $GITHUB_WORKSPACE/scripts/*.sh 73 | chmod +x $DIY_SCRIPT 74 | cd $OPENWRT_PATH 75 | $GITHUB_WORKSPACE/$DIY_SCRIPT 76 | $GITHUB_WORKSPACE/scripts/preset-clash-core.sh $CLASH_KERNEL 77 | 78 | - name: Download DL Package 79 | run: | 80 | cd $OPENWRT_PATH 81 | make defconfig 82 | make download -j8 83 | find dl -size -1024c -exec ls -l {} \; 84 | find dl -size -1024c -exec rm -f {} \; 85 | 86 | - name: Compile Firmware 87 | id: compile 88 | run: | 89 | cd $OPENWRT_PATH 90 | mkdir -p files/etc/uci-defaults 91 | cp $GITHUB_WORKSPACE/scripts/init-settings.sh files/etc/uci-defaults/99-init-settings 92 | echo -e "$(nproc) thread compile" 93 | make -j$(nproc) || make -j1 || make -j1 V=s 94 | echo "status=success" >> $GITHUB_OUTPUT 95 | 96 | - name: Generate Firmware 97 | if: steps.compile.outputs.status == 'success' 98 | id: generate 99 | run: | 100 | cd $OPENWRT_PATH/bin/targets/*/* 101 | cat config.buildinfo 102 | cp *rootfs.tar.gz $GITHUB_WORKSPACE/docker 103 | cd $GITHUB_WORKSPACE/docker 104 | chmod +x $DOCKER_BUILD && ./$DOCKER_BUILD 105 | echo "status=success" >> $GITHUB_OUTPUT 106 | 107 | - name: Set up QEMU 108 | uses: docker/setup-qemu-action@master 109 | 110 | - name: Set up Docker Buildx 111 | uses: docker/setup-buildx-action@master 112 | 113 | - name: Login to Docker Hub 114 | uses: docker/login-action@master 115 | with: 116 | username: ${{ secrets.DOCKER_USERNAME }} 117 | password: ${{ secrets.DOCKER_PASSWORD }} 118 | 119 | - name: Build and Push Docker 120 | if: steps.generate.outputs.status == 'success' 121 | uses: docker/build-push-action@master 122 | with: 123 | context: docker 124 | platforms: linux/arm64 125 | push: true 126 | tags: | 127 | ${{ env.DOCKER_IMAGE }}:${{ env.TAG }} 128 | -------------------------------------------------------------------------------- /.github/workflows/ARMv8-Docker-OpenWrt.yml: -------------------------------------------------------------------------------- 1 | name: ARMv8 Docker OpenWrt 2 | 3 | on: 4 | workflow_dispatch: 5 | schedule: 6 | - cron: 0 23 * * 5 7 | 8 | env: 9 | REPO_URL: https://github.com/coolsnowwolf/lede 10 | REPO_BRANCH: master 11 | CONFIG_FILE: configs/armv8-docker.config 12 | DIY_SCRIPT: diy-script.sh 13 | CLASH_KERNEL: arm64 14 | DOCKER_BUILD: buildImageX.sh 15 | DOCKER_IMAGE: summary/openwrt-aarch64 16 | TZ: Asia/Shanghai 17 | 18 | jobs: 19 | Build: 20 | runs-on: ubuntu-22.04 21 | 22 | steps: 23 | - name: Checkout 24 | uses: actions/checkout@main 25 | 26 | - name: Check Server Performance 27 | run: | 28 | echo "警告⚠" 29 | echo "分配的服务器性能有限,若选择的插件过多,务必注意CPU性能!" 30 | echo -e "已知CPU型号(降序): 7763,8370C,8272CL,8171M,E5-2673\n" 31 | echo "--------------------------CPU信息--------------------------" 32 | echo "CPU物理数量: $(cat /proc/cpuinfo | grep "physical id" | sort | uniq | wc -l)" 33 | echo "CPU核心数量: $(nproc)" 34 | echo -e "CPU型号信息:$(cat /proc/cpuinfo | grep -m1 name | awk -F: '{print $2}')\n" 35 | echo "--------------------------内存信息--------------------------" 36 | echo "已安装内存详细信息:" 37 | echo -e "$(sudo lshw -short -C memory | grep GiB)\n" 38 | echo "--------------------------硬盘信息--------------------------" 39 | echo "硬盘数量: $(ls /dev/sd* | grep -v [1-9] | wc -l)" && df -hT 40 | 41 | - name: Initialization Environment 42 | env: 43 | DEBIAN_FRONTEND: noninteractive 44 | run: | 45 | docker rmi $(docker images -q) 46 | sudo rm -rf /usr/share/dotnet /etc/apt/sources.list.d /usr/local/lib/android $AGENT_TOOLSDIRECTORY 47 | sudo -E apt-get -y update 48 | sudo -E apt-get -y install $(curl -fsSL is.gd/depends_ubuntu_2204) 49 | sudo -E apt-get -y autoremove --purge 50 | sudo -E apt-get -y clean 51 | sudo timedatectl set-timezone "$TZ" 52 | 53 | - name: Clone Source Code 54 | run: | 55 | df -hT $GITHUB_WORKSPACE 56 | git clone $REPO_URL -b $REPO_BRANCH openwrt 57 | cd openwrt 58 | echo "OPENWRT_PATH=$PWD" >> $GITHUB_ENV 59 | version=$(cat "package/lean/default-settings/files/zzz-default-settings" | grep DISTRIB_REVISION= | awk -F "'" '{print $2}') 60 | echo "TAG=$version" >> $GITHUB_ENV 61 | 62 | - name: Install Feeds 63 | run: | 64 | cd $OPENWRT_PATH 65 | ./scripts/feeds update -a 66 | ./scripts/feeds install -a 67 | 68 | - name: Load Custom Configuration 69 | run: | 70 | [ -e files ] && mv files $OPENWRT_PATH/files 71 | [ -e $CONFIG_FILE ] && mv $CONFIG_FILE $OPENWRT_PATH/.config 72 | sed -i '/\/clash_/d; /.dat/d' scripts/preset-clash-core.sh 73 | chmod +x $GITHUB_WORKSPACE/scripts/*.sh 74 | chmod +x $DIY_SCRIPT 75 | cd $OPENWRT_PATH 76 | $GITHUB_WORKSPACE/$DIY_SCRIPT 77 | $GITHUB_WORKSPACE/scripts/preset-clash-core.sh $CLASH_KERNEL 78 | 79 | - name: Download DL Package 80 | run: | 81 | cd $OPENWRT_PATH 82 | make defconfig 83 | make download -j8 84 | find dl -size -1024c -exec ls -l {} \; 85 | find dl -size -1024c -exec rm -f {} \; 86 | 87 | - name: Compile Firmware 88 | id: compile 89 | run: | 90 | cd $OPENWRT_PATH 91 | mkdir -p files/etc/uci-defaults 92 | cp $GITHUB_WORKSPACE/scripts/init-settings.sh files/etc/uci-defaults/99-init-settings 93 | echo -e "$(nproc) thread compile" 94 | make -j$(nproc) || make -j1 || make -j1 V=s 95 | echo "status=success" >> $GITHUB_OUTPUT 96 | 97 | - name: Generate Firmware 98 | if: steps.compile.outputs.status == 'success' 99 | id: generate 100 | run: | 101 | cd $OPENWRT_PATH/bin/targets/*/* 102 | cat config.buildinfo 103 | cp *rootfs.tar.gz $GITHUB_WORKSPACE/docker 104 | cd $GITHUB_WORKSPACE/docker 105 | chmod +x $DOCKER_BUILD && ./$DOCKER_BUILD 106 | echo "status=success" >> $GITHUB_OUTPUT 107 | 108 | - name: Set up QEMU 109 | uses: docker/setup-qemu-action@master 110 | 111 | - name: Set up Docker Buildx 112 | uses: docker/setup-buildx-action@master 113 | 114 | - name: Login to Docker Hub 115 | uses: docker/login-action@master 116 | with: 117 | username: ${{ secrets.DOCKER_USERNAME }} 118 | password: ${{ secrets.DOCKER_PASSWORD }} 119 | 120 | - name: Build and Push Docker 121 | if: steps.generate.outputs.status == 'success' 122 | uses: docker/build-push-action@master 123 | with: 124 | context: docker 125 | platforms: linux/arm64 126 | push: true 127 | tags: | 128 | ${{ env.DOCKER_IMAGE }}:${{ env.TAG }} 129 | ${{ env.DOCKER_IMAGE }} 130 | -------------------------------------------------------------------------------- /.github/workflows/ARMv8-Mini-OpenWrt.yml: -------------------------------------------------------------------------------- 1 | name: ARMv8 Mini OpenWrt 2 | 3 | on: 4 | workflow_dispatch: 5 | schedule: 6 | - cron: 0 20 * * * 7 | 8 | env: 9 | REPO_URL: https://github.com/coolsnowwolf/lede 10 | REPO_BRANCH: master 11 | CONFIG_FILE: configs/armv8-mini.config 12 | DIY_SCRIPT: diy-mini.sh 13 | CLASH_KERNEL: arm64 14 | CACHE_TOOLCHAIN: true 15 | UPLOAD_BIN_DIR: false 16 | FIRMWARE_RELEASE: true 17 | FIRMWARE_TAG: ROOTFS_MINI 18 | OPENWRT_RELEASE: true 19 | OPENWRT_TAG: ARMv8_MINI 20 | TZ: Asia/Shanghai 21 | 22 | jobs: 23 | Build: 24 | runs-on: ubuntu-22.04 25 | 26 | outputs: 27 | COMMIT_AUTHOR: ${{ steps.clone.outputs.COMMIT_AUTHOR }} 28 | COMMIT_DATE: ${{ steps.clone.outputs.COMMIT_DATE }} 29 | COMMIT_MESSAGE: ${{ steps.clone.outputs.COMMIT_MESSAGE }} 30 | COMMIT_HASH: ${{ steps.clone.outputs.COMMIT_HASH }} 31 | DEVICE_TARGET: ${{ steps.variable.outputs.DEVICE_TARGET }} 32 | DEVICE_SUBTARGET: ${{ steps.variable.outputs.DEVICE_SUBTARGET }} 33 | 34 | steps: 35 | - name: Checkout 36 | uses: actions/checkout@main 37 | 38 | - name: Check Server Performance 39 | run: | 40 | echo "警告⚠" 41 | echo "分配的服务器性能有限,若选择的插件过多,务必注意CPU性能!" 42 | echo -e "已知CPU型号(降序): 7763,8370C,8272CL,8171M,E5-2673\n" 43 | echo "--------------------------CPU信息--------------------------" 44 | echo "CPU物理数量: $(cat /proc/cpuinfo | grep "physical id" | sort | uniq | wc -l)" 45 | echo "CPU核心数量: $(nproc)" 46 | echo -e "CPU型号信息:$(cat /proc/cpuinfo | grep -m1 name | awk -F: '{print $2}')\n" 47 | echo "--------------------------内存信息--------------------------" 48 | echo "已安装内存详细信息:" 49 | echo -e "$(sudo lshw -short -C memory | grep GiB)\n" 50 | echo "--------------------------硬盘信息--------------------------" 51 | echo "硬盘数量: $(ls /dev/sd* | grep -v [1-9] | wc -l)" && df -hT 52 | 53 | - name: Initialization Environment 54 | env: 55 | DEBIAN_FRONTEND: noninteractive 56 | run: | 57 | docker rmi $(docker images -q) 58 | sudo rm -rf /usr/share/dotnet /etc/apt/sources.list.d /usr/local/lib/android $AGENT_TOOLSDIRECTORY 59 | sudo -E apt-get -y purge azure-cli ghc* zulu* llvm* firefox google* dotnet* powershell openjdk* mongodb* moby* || true 60 | sudo -E apt-get -y update 61 | sudo -E apt-get -y install $(curl -fsSL is.gd/depends_ubuntu_2204) 62 | sudo -E systemctl daemon-reload 63 | sudo -E apt-get -y autoremove --purge 64 | sudo -E apt-get -y clean 65 | sudo timedatectl set-timezone "$TZ" 66 | 67 | - name: Clone Source Code 68 | id: clone 69 | run: | 70 | df -hT $GITHUB_WORKSPACE 71 | git clone $REPO_URL -b $REPO_BRANCH openwrt 72 | cd openwrt 73 | echo "OPENWRT_PATH=$PWD" >> $GITHUB_ENV 74 | COMMIT_AUTHOR=$(git show -s --date=short --format="作者: %an") 75 | echo "COMMIT_AUTHOR=$COMMIT_AUTHOR" >> $GITHUB_ENV 76 | echo "COMMIT_AUTHOR=$COMMIT_AUTHOR" >> $GITHUB_OUTPUT 77 | COMMIT_DATE=$(git show -s --date=short --format="时间: %ci") 78 | echo "COMMIT_DATE=$COMMIT_DATE" >> $GITHUB_ENV 79 | echo "COMMIT_DATE=$COMMIT_DATE" >> $GITHUB_OUTPUT 80 | COMMIT_MESSAGE=$(git show -s --date=short --format="内容: %s") 81 | echo "COMMIT_MESSAGE=$COMMIT_MESSAGE" >> $GITHUB_ENV 82 | echo "COMMIT_MESSAGE=$COMMIT_MESSAGE" >> $GITHUB_OUTPUT 83 | COMMIT_HASH=$(git show -s --date=short --format="hash: %H") 84 | echo "COMMIT_HASH=$COMMIT_HASH" >> $GITHUB_ENV 85 | echo "COMMIT_HASH=$COMMIT_HASH" >> $GITHUB_OUTPUT 86 | 87 | - name: Generate Variables 88 | id: variable 89 | run: | 90 | cp $CONFIG_FILE $OPENWRT_PATH/.config 91 | cd $OPENWRT_PATH 92 | make defconfig > /dev/null 2>&1 93 | SOURCE_REPO="$(echo $REPO_URL | awk -F '/' '{print $(NF)}')" 94 | echo "SOURCE_REPO=$SOURCE_REPO" >> $GITHUB_ENV 95 | DEVICE_TARGET=$(cat .config | grep CONFIG_TARGET_BOARD | awk -F '"' '{print $2}') 96 | echo "DEVICE_TARGET=$DEVICE_TARGET" >> $GITHUB_ENV 97 | echo "DEVICE_TARGET=$DEVICE_TARGET" >> $GITHUB_OUTPUT 98 | DEVICE_SUBTARGET=$(cat .config | grep CONFIG_TARGET_SUBTARGET | awk -F '"' '{print $2}') 99 | echo "DEVICE_SUBTARGET=$DEVICE_SUBTARGET" >> $GITHUB_ENV 100 | echo "DEVICE_SUBTARGET=$DEVICE_SUBTARGET" >> $GITHUB_OUTPUT 101 | 102 | - name: Cache Toolchain 103 | if: env.CACHE_TOOLCHAIN == 'true' 104 | uses: HiGarfield/cachewrtbuild@main 105 | with: 106 | ccache: false 107 | mixkey: ${{ env.SOURCE_REPO }}-${{ env.REPO_BRANCH }}-${{ env.DEVICE_TARGET }}-${{ env.DEVICE_SUBTARGET }} 108 | prefix: ${{ env.OPENWRT_PATH }} 109 | 110 | - name: Install Feeds 111 | run: | 112 | cd $OPENWRT_PATH 113 | ./scripts/feeds update -a 114 | ./scripts/feeds install -a 115 | 116 | - name: Load Custom Configuration 117 | run: | 118 | [ -e files ] && mv files $OPENWRT_PATH/files 119 | [ -e $CONFIG_FILE ] && mv $CONFIG_FILE $OPENWRT_PATH/.config 120 | chmod +x $GITHUB_WORKSPACE/scripts/*.sh 121 | chmod +x $DIY_SCRIPT 122 | cd $OPENWRT_PATH 123 | $GITHUB_WORKSPACE/$DIY_SCRIPT 124 | $GITHUB_WORKSPACE/scripts/preset-clash-core.sh $CLASH_KERNEL 125 | $GITHUB_WORKSPACE/scripts/preset-terminal-tools.sh 126 | 127 | - name: Download DL Package 128 | run: | 129 | cd $OPENWRT_PATH 130 | make defconfig 131 | make download -j8 132 | find dl -size -1024c -exec ls -l {} \; 133 | find dl -size -1024c -exec rm -f {} \; 134 | 135 | - name: Compile Firmware 136 | id: compile 137 | run: | 138 | cd $OPENWRT_PATH 139 | mkdir -p files/etc/uci-defaults 140 | cp $GITHUB_WORKSPACE/scripts/init-settings.sh files/etc/uci-defaults/99-init-settings 141 | echo -e "$(nproc) thread compile" 142 | make -j$(nproc) || make -j1 || make -j1 V=s 143 | echo "status=success" >> $GITHUB_OUTPUT 144 | echo "DATE=$(date +"%Y-%m-%d %H:%M:%S")" >> $GITHUB_ENV 145 | echo "FILE_DATE=$(date +"%Y.%m.%d")" >> $GITHUB_ENV 146 | 147 | - name: Check Space Usage 148 | if: (!cancelled()) 149 | run: df -hT 150 | 151 | - name: Upload Bin Directory 152 | if: steps.compile.outputs.status == 'success' && env.UPLOAD_BIN_DIR == 'true' 153 | uses: actions/upload-artifact@main 154 | with: 155 | name: ${{ env.SOURCE_REPO }}-bin-${{ env.DEVICE_TARGET }}-${{ env.DEVICE_SUBTARGET }}-${{ env.FILE_DATE }} 156 | path: ${{ env.OPENWRT_PATH }}/bin 157 | 158 | - name: Organize Files 159 | if: steps.compile.outputs.status == 'success' 160 | run: | 161 | cd $OPENWRT_PATH/bin/targets/*/* 162 | cat sha256sums 163 | cp $OPENWRT_PATH/.config build.config 164 | mv -f $OPENWRT_PATH/bin/packages/*/*/*.ipk packages 165 | tar -zcf Packages.tar.gz packages 166 | rm -rf packages feeds.buildinfo version.buildinfo 167 | echo "FIRMWARE_PATH=$PWD" >> $GITHUB_ENV 168 | 169 | - name: Upload Firmware To Artifact 170 | if: steps.compile.outputs.status == 'success' && env.FIRMWARE_RELEASE != 'true' 171 | uses: actions/upload-artifact@main 172 | with: 173 | name: ${{ env.SOURCE_REPO }}-firmware-${{ env.DEVICE_TARGET }}-${{ env.DEVICE_SUBTARGET }}-${{ env.FILE_DATE }} 174 | path: ${{ env.FIRMWARE_PATH }} 175 | 176 | - name: Upload Firmware To Release 177 | if: steps.compile.outputs.status == 'success' && env.FIRMWARE_RELEASE == 'true' 178 | uses: ncipollo/release-action@v1 179 | with: 180 | name: R${{ env.DATE }} for ${{ env.FIRMWARE_TAG }} 181 | allowUpdates: true 182 | tag: ${{ env.FIRMWARE_TAG }} 183 | token: ${{ secrets.GITHUB_TOKEN }} 184 | artifacts: ${{ env.FIRMWARE_PATH }}/* 185 | body: | 186 | **This is Temporary Firmware for Armvirt 64** 187 | ### 📒 固件信息 188 | - 🚀 成品固件点击此处跳转➦[MINI](https://github.com/haiibo/OpenWrt/releases/tag/ARMv8_MINI)即可下载 189 | - 💻 平台架构: ${{ env.DEVICE_TARGET }}-${{ env.DEVICE_SUBTARGET }} (精简版临时固件) 190 | - ⚽ 固件源码: ${{ env.REPO_URL }} 191 | - 💝 源码分支: ${{ env.REPO_BRANCH }} 192 | - 🌐 默认地址: 192.168.1.1 193 | - 🔑 默认密码: password 194 | ### 🧊 固件版本 195 | - 固件编译前最后一次➦[主源码](${{ env.REPO_URL }})更新记录 196 | - ${{ env.COMMIT_AUTHOR }} 197 | - ${{ env.COMMIT_DATE }} 198 | - ${{ env.COMMIT_MESSAGE }} 199 | - ${{ env.COMMIT_HASH }} 200 | 201 | Package: 202 | needs: [Build] 203 | runs-on: ubuntu-22.04 204 | 205 | env: 206 | COMMIT_AUTHOR: ${{ needs.Build.outputs.COMMIT_AUTHOR }} 207 | COMMIT_DATE: ${{ needs.Build.outputs.COMMIT_DATE }} 208 | COMMIT_MESSAGE: ${{ needs.Build.outputs.COMMIT_MESSAGE }} 209 | COMMIT_HASH: ${{ needs.Build.outputs.COMMIT_HASH }} 210 | DEVICE_TARGET: ${{ needs.Build.outputs.DEVICE_TARGET }} 211 | DEVICE_SUBTARGET: ${{ needs.Build.outputs.DEVICE_SUBTARGET }} 212 | 213 | steps: 214 | - name: Checkout 215 | uses: actions/checkout@main 216 | 217 | - name: Initialization Environment 218 | env: 219 | DEBIAN_FRONTEND: noninteractive 220 | run: | 221 | docker rmi $(docker images -q) 222 | sudo rm -rf /usr/share/dotnet /etc/apt/sources.list.d /usr/local/lib/android $AGENT_TOOLSDIRECTORY 223 | sudo -E apt-get -y update 224 | sudo -E apt-get -y install $(curl -fsSL is.gd/depends_ubuntu_2204) 225 | sudo -E apt-get -y autoremove --purge 226 | sudo -E apt-get -y clean 227 | sudo timedatectl set-timezone "$TZ" 228 | 229 | - name: Download Armvirt Firmware 230 | id: download 231 | run: | 232 | FIRMWARE_PATH=openwrt/bin/targets/armvirt/64 233 | [ -d $FIRMWARE_PATH ] || mkdir -p $FIRMWARE_PATH 234 | cd $FIRMWARE_PATH 235 | wget -q $(curl -s "https://api.github.com/repos/$GITHUB_REPOSITORY/releases" | grep "$FIRMWARE_TAG.*rootfs.tar.gz" | awk -F '"' '{print $4}') 236 | echo "status=success" >> $GITHUB_OUTPUT 237 | echo "DATE=$(date +"%Y-%m-%d %H:%M:%S")" >> $GITHUB_ENV 238 | echo "DATE1=$(date +"%y.%m.%d")" >> $GITHUB_ENV 239 | 240 | - name: Package OpenWrt Firmware 241 | if: steps.download.outputs.status == 'success' 242 | uses: ophub/flippy-openwrt-actions@main 243 | env: 244 | OPENWRT_ARMVIRT: openwrt/bin/targets/*/*/*rootfs.tar.gz 245 | PACKAGE_SOC: all 246 | WHOAMI: Haiibo 247 | KERNEL_VERSION_NAME: 5.15.13_6.1.5 248 | KERNEL_AUTO_LATEST: true 249 | DISTRIB_REVISION: R${{ env.DATE1 }} by Haiibo 250 | 251 | - name: Upload OpenWrt To Artifact 252 | if: env.PACKAGED_STATUS == 'success' && env.OPENWRT_RELEASE != 'true' 253 | uses: kittaakos/upload-artifact-as-is@master 254 | with: 255 | path: ${{ env.PACKAGED_OUTPUTPATH }} 256 | 257 | - name: Upload OpenWrt To Release 258 | if: env.PACKAGED_STATUS == 'success' && env.OPENWRT_RELEASE == 'true' 259 | uses: ncipollo/release-action@v1 260 | with: 261 | name: R${{ env.DATE }} for ${{ env.OPENWRT_TAG }} 262 | allowUpdates: true 263 | removeArtifacts: true 264 | tag: ${{ env.OPENWRT_TAG }} 265 | token: ${{ secrets.GITHUB_TOKEN }} 266 | artifacts: ${{ env.PACKAGED_OUTPUTPATH }}/* 267 | body: | 268 | **This is OpenWrt Firmware for Armvirt 64** 269 | ### 📒 固件信息 270 | - 🚀 ARMv8 精简版,主打科学上网适合养老 271 | - 💻 平台架构: ${{ env.DEVICE_TARGET }}-${{ env.DEVICE_SUBTARGET }} 272 | - ⚽ 固件源码: ${{ env.REPO_URL }} 273 | - 💝 源码分支: ${{ env.REPO_BRANCH }} 274 | - 🌐 默认地址: 192.168.1.1 275 | - 🔑 默认密码: password 276 | ### 🍻 安装与更新 277 | - 用插件安装: 系统 → 晶晨宝盒 → 安装 OpenWrt → 选择型号 → 安装 278 | - 用命令安装: U盘启动成功后输入命令 `openwrt-install-amlogic` 按照英文提示写入到 emmc 279 | - 用插件更新: 系统 → 晶晨宝盒 → 在线下载更新 → 完整更新全系统 280 | - 用命令更新: 上传固件到 `/mnt/mmcblk2p4` 目录,输入命令 `openwrt-update-amlogic` 即可更新 281 | - 注意: 如非 `amlogic` 平台,请将其更改为对应平台 `rockchip` `allwinner` 282 | - 部分常见问题及注意事项请参考恩山论坛F大➦[最新帖](https://www.right.com.cn/forum/thread-4076037-1-1.html) 283 | ### 🧊 固件版本 284 | - 固件编译前最后一次➦[主源码](${{ env.REPO_URL }})更新记录 285 | - ${{ env.COMMIT_AUTHOR }} 286 | - ${{ env.COMMIT_DATE }} 287 | - ${{ env.COMMIT_MESSAGE }} 288 | - ${{ env.COMMIT_HASH }} 289 | -------------------------------------------------------------------------------- /.github/workflows/ARMv8-Package.yml: -------------------------------------------------------------------------------- 1 | name: ARMv8 Package 2 | 3 | on: 4 | workflow_dispatch: 5 | # schedule: 6 | # - cron: 0 15 * * * 7 | watch: 8 | types: started 9 | 10 | env: 11 | REPO_URL: https://github.com/coolsnowwolf/lede 12 | REPO_BRANCH: master 13 | UPLOAD_RELEASE: true 14 | TZ: Asia/Shanghai 15 | 16 | jobs: 17 | Package: 18 | runs-on: ubuntu-22.04 19 | if: github.event.repository.owner.id == github.event.sender.id || ! github.event.sender.id 20 | name: Package for ${{ matrix.version }} 21 | strategy: 22 | fail-fast: false 23 | matrix: 24 | include: 25 | - version: MINI 26 | explain: ARMv8 精简版,主打科学上网适合养老 27 | - version: PLUS 28 | explain: ARMv8 多功能版,集成插件多适合折腾 29 | 30 | steps: 31 | - name: Checkout 32 | uses: actions/checkout@main 33 | 34 | - name: Initialization Environment 35 | env: 36 | DEBIAN_FRONTEND: noninteractive 37 | run: | 38 | docker rmi $(docker images -q) 39 | sudo rm -rf /usr/share/dotnet /etc/apt/sources.list.d /usr/local/lib/android $AGENT_TOOLSDIRECTORY 40 | sudo -E apt-get -y update 41 | sudo -E apt-get -y install $(curl -fsSL is.gd/depends_ubuntu_2204) 42 | sudo -E apt-get -y autoremove --purge 43 | sudo -E apt-get -y clean 44 | sudo timedatectl set-timezone "$TZ" 45 | 46 | - name: Clone Source Code 47 | run: | 48 | df -hT $GITHUB_WORKSPACE 49 | git clone $REPO_URL -b $REPO_BRANCH openwrt 50 | cd openwrt 51 | COMMIT_AUTHOR=$(git show -s --date=short --format="作者: %an") 52 | echo "COMMIT_AUTHOR=$COMMIT_AUTHOR" >> $GITHUB_ENV 53 | COMMIT_DATE=$(git show -s --date=short --format="时间: %ci") 54 | echo "COMMIT_DATE=$COMMIT_DATE" >> $GITHUB_ENV 55 | COMMIT_MESSAGE=$(git show -s --date=short --format="内容: %s") 56 | echo "COMMIT_MESSAGE=$COMMIT_MESSAGE" >> $GITHUB_ENV 57 | COMMIT_HASH=$(git show -s --date=short --format="hash: %H") 58 | echo "COMMIT_HASH=$COMMIT_HASH" >> $GITHUB_ENV 59 | 60 | - name: Download Armvirt Firmware 61 | id: download 62 | run: | 63 | FIRMWARE_PATH=openwrt/bin/targets/armvirt/64 64 | [ -d $FIRMWARE_PATH ] || mkdir -p $FIRMWARE_PATH 65 | FIRMWARE_URL=$(curl -s "https://api.github.com/repos/$GITHUB_REPOSITORY/releases" | grep -o "ROOTFS_${{ matrix.version }}.*rootfs.tar.gz") 66 | wget -q -P $FIRMWARE_PATH https://github.com/$GITHUB_REPOSITORY/releases/download/$FIRMWARE_URL 67 | echo "status=success" >> $GITHUB_OUTPUT 68 | echo "DATE=$(date +"%Y-%m-%d %H:%M:%S")" >> $GITHUB_ENV 69 | echo "DATE1=$(date +"%y.%m.%d")" >> $GITHUB_ENV 70 | 71 | - name: Package OpenWrt Firmware 72 | if: steps.download.outputs.status == 'success' 73 | uses: ophub/flippy-openwrt-actions@main 74 | env: 75 | OPENWRT_ARMVIRT: openwrt/bin/targets/*/*/*rootfs.tar.gz 76 | PACKAGE_SOC: all 77 | WHOAMI: Haiibo 78 | KERNEL_VERSION_NAME: 5.15.13_6.1.5 79 | KERNEL_AUTO_LATEST: true 80 | DISTRIB_REVISION: R${{ env.DATE1 }} by Haiibo 81 | 82 | - name: Upload OpenWrt To Artifact 83 | if: env.PACKAGED_STATUS == 'success' && env.UPLOAD_RELEASE != 'true' 84 | uses: kittaakos/upload-artifact-as-is@master 85 | with: 86 | path: ${{ env.PACKAGED_OUTPUTPATH }} 87 | 88 | - name: Upload OpenWrt To Release 89 | if: env.PACKAGED_STATUS == 'success' && env.UPLOAD_RELEASE == 'true' 90 | uses: ncipollo/release-action@v1 91 | with: 92 | name: R${{ env.DATE }} for ARMv8_${{ matrix.version }} 93 | allowUpdates: true 94 | removeArtifacts: true 95 | tag: ARMv8_${{ matrix.version }} 96 | token: ${{ secrets.GITHUB_TOKEN }} 97 | artifacts: ${{ env.PACKAGED_OUTPUTPATH }}/* 98 | body: | 99 | **This is OpenWrt Firmware for Armvirt 64** 100 | ### 📒 固件信息 101 | - 🚀 ${{ matrix.explain }} 102 | - 💻 平台架构: armvirt-64 103 | - ⚽ 固件源码: ${{ env.REPO_URL }} 104 | - 💝 源码分支: ${{ env.REPO_BRANCH }} 105 | - 🌐 默认地址: 192.168.1.1 106 | - 🔑 默认密码: password 107 | ### 🍻 安装与更新 108 | - 用插件安装: 系统 → 晶晨宝盒 → 安装 OpenWrt → 选择型号 → 安装 109 | - 用命令安装: U盘启动成功后输入命令 `openwrt-install-amlogic` 按照英文提示写入到 emmc 110 | - 用插件更新: 系统 → 晶晨宝盒 → 在线下载更新 → 完整更新全系统 111 | - 用命令更新: 上传固件到 `/mnt/mmcblk2p4` 目录,输入命令 `openwrt-update-amlogic` 即可更新 112 | - 注意: 如非 `amlogic` 平台,请将其更改为对应平台 `rockchip` `allwinner` 113 | - 部分常见问题及注意事项请参考恩山论坛F大➦[最新帖](https://www.right.com.cn/forum/thread-4076037-1-1.html) 114 | ### 🧊 固件版本 115 | - 固件编译前最后一次➦[主源码](${{ env.REPO_URL }})更新记录 116 | - ${{ env.COMMIT_AUTHOR }} 117 | - ${{ env.COMMIT_DATE }} 118 | - ${{ env.COMMIT_MESSAGE }} 119 | - ${{ env.COMMIT_HASH }} 120 | -------------------------------------------------------------------------------- /.github/workflows/ARMv8-Plus-OpenWrt.yml: -------------------------------------------------------------------------------- 1 | name: ARMv8 Plus OpenWrt 2 | 3 | on: 4 | workflow_dispatch: 5 | schedule: 6 | - cron: 0 20 * * * 7 | 8 | env: 9 | REPO_URL: https://github.com/coolsnowwolf/lede 10 | REPO_BRANCH: master 11 | CONFIG_FILE: configs/armv8-plus.config 12 | DIY_SCRIPT: diy-script.sh 13 | CLASH_KERNEL: arm64 14 | CACHE_TOOLCHAIN: true 15 | UPLOAD_BIN_DIR: false 16 | FIRMWARE_RELEASE: true 17 | FIRMWARE_TAG: ROOTFS_PLUS 18 | OPENWRT_RELEASE: true 19 | OPENWRT_TAG: ARMv8_PLUS 20 | TZ: Asia/Shanghai 21 | 22 | jobs: 23 | Build: 24 | runs-on: ubuntu-22.04 25 | 26 | outputs: 27 | COMMIT_AUTHOR: ${{ steps.clone.outputs.COMMIT_AUTHOR }} 28 | COMMIT_DATE: ${{ steps.clone.outputs.COMMIT_DATE }} 29 | COMMIT_MESSAGE: ${{ steps.clone.outputs.COMMIT_MESSAGE }} 30 | COMMIT_HASH: ${{ steps.clone.outputs.COMMIT_HASH }} 31 | DEVICE_TARGET: ${{ steps.variable.outputs.DEVICE_TARGET }} 32 | DEVICE_SUBTARGET: ${{ steps.variable.outputs.DEVICE_SUBTARGET }} 33 | 34 | steps: 35 | - name: Check Server Performance 36 | run: | 37 | echo "警告⚠" 38 | echo "分配的服务器性能有限,若选择的插件过多,务必注意CPU性能!" 39 | echo -e "已知CPU型号(降序): 7763,8370C,8272CL,8171M,E5-2673\n" 40 | echo "--------------------------CPU信息--------------------------" 41 | echo "CPU物理数量: $(cat /proc/cpuinfo | grep "physical id" | sort | uniq | wc -l)" 42 | echo "CPU核心数量: $(nproc)" 43 | echo -e "CPU型号信息:$(cat /proc/cpuinfo | grep -m1 name | awk -F: '{print $2}')\n" 44 | echo "--------------------------内存信息--------------------------" 45 | echo "已安装内存详细信息:" 46 | echo -e "$(sudo lshw -short -C memory | grep GiB)\n" 47 | echo "--------------------------硬盘信息--------------------------" 48 | echo "硬盘数量: $(ls /dev/sd* | grep -v [1-9] | wc -l)" && df -hT 49 | 50 | - name: Initialization Environment 51 | env: 52 | DEBIAN_FRONTEND: noninteractive 53 | run: | 54 | docker rmi $(docker images -q) 55 | sudo rm -rf /usr/share/dotnet /etc/apt/sources.list.d /usr/local/lib/android $AGENT_TOOLSDIRECTORY 56 | sudo -E apt-get -y purge azure-cli ghc* zulu* llvm* firefox google* dotnet* powershell openjdk* mongodb* moby* || true 57 | sudo -E apt-get -y update 58 | sudo -E apt-get -y install $(curl -fsSL is.gd/depends_ubuntu_2204) 59 | sudo -E systemctl daemon-reload 60 | sudo -E apt-get -y autoremove --purge 61 | sudo -E apt-get -y clean 62 | sudo timedatectl set-timezone "$TZ" 63 | 64 | - name: Combine Disks 65 | uses: easimon/maximize-build-space@master 66 | with: 67 | swap-size-mb: 1024 68 | temp-reserve-mb: 100 69 | root-reserve-mb: 1024 70 | 71 | - name: Checkout 72 | uses: actions/checkout@main 73 | 74 | - name: Clone Source Code 75 | id: clone 76 | run: | 77 | df -hT $GITHUB_WORKSPACE 78 | git clone $REPO_URL -b $REPO_BRANCH openwrt 79 | cd openwrt 80 | echo "OPENWRT_PATH=$PWD" >> $GITHUB_ENV 81 | COMMIT_AUTHOR=$(git show -s --date=short --format="作者: %an") 82 | echo "COMMIT_AUTHOR=$COMMIT_AUTHOR" >> $GITHUB_ENV 83 | echo "COMMIT_AUTHOR=$COMMIT_AUTHOR" >> $GITHUB_OUTPUT 84 | COMMIT_DATE=$(git show -s --date=short --format="时间: %ci") 85 | echo "COMMIT_DATE=$COMMIT_DATE" >> $GITHUB_ENV 86 | echo "COMMIT_DATE=$COMMIT_DATE" >> $GITHUB_OUTPUT 87 | COMMIT_MESSAGE=$(git show -s --date=short --format="内容: %s") 88 | echo "COMMIT_MESSAGE=$COMMIT_MESSAGE" >> $GITHUB_ENV 89 | echo "COMMIT_MESSAGE=$COMMIT_MESSAGE" >> $GITHUB_OUTPUT 90 | COMMIT_HASH=$(git show -s --date=short --format="hash: %H") 91 | echo "COMMIT_HASH=$COMMIT_HASH" >> $GITHUB_ENV 92 | echo "COMMIT_HASH=$COMMIT_HASH" >> $GITHUB_OUTPUT 93 | 94 | - name: Generate Variables 95 | id: variable 96 | run: | 97 | cp $CONFIG_FILE $OPENWRT_PATH/.config 98 | cd $OPENWRT_PATH 99 | make defconfig > /dev/null 2>&1 100 | SOURCE_REPO="$(echo $REPO_URL | awk -F '/' '{print $(NF)}')" 101 | echo "SOURCE_REPO=$SOURCE_REPO" >> $GITHUB_ENV 102 | DEVICE_TARGET=$(cat .config | grep CONFIG_TARGET_BOARD | awk -F '"' '{print $2}') 103 | echo "DEVICE_TARGET=$DEVICE_TARGET" >> $GITHUB_ENV 104 | echo "DEVICE_TARGET=$DEVICE_TARGET" >> $GITHUB_OUTPUT 105 | DEVICE_SUBTARGET=$(cat .config | grep CONFIG_TARGET_SUBTARGET | awk -F '"' '{print $2}') 106 | echo "DEVICE_SUBTARGET=$DEVICE_SUBTARGET" >> $GITHUB_ENV 107 | echo "DEVICE_SUBTARGET=$DEVICE_SUBTARGET" >> $GITHUB_OUTPUT 108 | 109 | - name: Cache Toolchain 110 | if: env.CACHE_TOOLCHAIN == 'true' 111 | uses: HiGarfield/cachewrtbuild@main 112 | with: 113 | ccache: false 114 | mixkey: ${{ env.SOURCE_REPO }}-${{ env.REPO_BRANCH }}-${{ env.DEVICE_TARGET }}-${{ env.DEVICE_SUBTARGET }} 115 | prefix: ${{ env.OPENWRT_PATH }} 116 | 117 | - name: Install Feeds 118 | run: | 119 | cd $OPENWRT_PATH 120 | ./scripts/feeds update -a 121 | ./scripts/feeds install -a 122 | 123 | - name: Load Custom Configuration 124 | run: | 125 | [ -e files ] && mv files $OPENWRT_PATH/files 126 | [ -e $CONFIG_FILE ] && mv $CONFIG_FILE $OPENWRT_PATH/.config 127 | chmod +x $GITHUB_WORKSPACE/scripts/*.sh 128 | chmod +x $DIY_SCRIPT 129 | cd $OPENWRT_PATH 130 | $GITHUB_WORKSPACE/$DIY_SCRIPT 131 | $GITHUB_WORKSPACE/scripts/preset-clash-core.sh $CLASH_KERNEL 132 | $GITHUB_WORKSPACE/scripts/preset-terminal-tools.sh 133 | 134 | - name: Download DL Package 135 | run: | 136 | cd $OPENWRT_PATH 137 | make defconfig 138 | make download -j8 139 | find dl -size -1024c -exec ls -l {} \; 140 | find dl -size -1024c -exec rm -f {} \; 141 | 142 | - name: Compile Firmware 143 | id: compile 144 | run: | 145 | cd $OPENWRT_PATH 146 | mkdir -p files/etc/uci-defaults 147 | cp $GITHUB_WORKSPACE/scripts/init-settings.sh files/etc/uci-defaults/99-init-settings 148 | echo -e "$(nproc) thread compile" 149 | make -j$(nproc) || make -j1 || make -j1 V=s 150 | echo "status=success" >> $GITHUB_OUTPUT 151 | echo "DATE=$(date +"%Y-%m-%d %H:%M:%S")" >> $GITHUB_ENV 152 | echo "FILE_DATE=$(date +"%Y.%m.%d")" >> $GITHUB_ENV 153 | 154 | - name: Check Space Usage 155 | if: (!cancelled()) 156 | run: df -hT 157 | 158 | - name: Upload Bin Directory 159 | if: steps.compile.outputs.status == 'success' && env.UPLOAD_BIN_DIR == 'true' 160 | uses: actions/upload-artifact@main 161 | with: 162 | name: ${{ env.SOURCE_REPO }}-bin-${{ env.DEVICE_TARGET }}-${{ env.DEVICE_SUBTARGET }}-${{ env.FILE_DATE }} 163 | path: ${{ env.OPENWRT_PATH }}/bin 164 | 165 | - name: Organize Files 166 | if: steps.compile.outputs.status == 'success' 167 | run: | 168 | cd $OPENWRT_PATH/bin/targets/*/* 169 | cat sha256sums 170 | cp $OPENWRT_PATH/.config build.config 171 | mv -f $OPENWRT_PATH/bin/packages/*/*/*.ipk packages 172 | tar -zcf Packages.tar.gz packages 173 | rm -rf packages feeds.buildinfo version.buildinfo 174 | echo "FIRMWARE_PATH=$PWD" >> $GITHUB_ENV 175 | 176 | - name: Upload Firmware To Artifact 177 | if: steps.compile.outputs.status == 'success' && env.FIRMWARE_RELEASE != 'true' 178 | uses: actions/upload-artifact@main 179 | with: 180 | name: ${{ env.SOURCE_REPO }}-firmware-${{ env.DEVICE_TARGET }}-${{ env.DEVICE_SUBTARGET }}-${{ env.FILE_DATE }} 181 | path: ${{ env.FIRMWARE_PATH }} 182 | 183 | - name: Upload Firmware To Release 184 | if: steps.compile.outputs.status == 'success' && env.FIRMWARE_RELEASE == 'true' 185 | uses: ncipollo/release-action@v1 186 | with: 187 | name: R${{ env.DATE }} for ${{ env.FIRMWARE_TAG }} 188 | allowUpdates: true 189 | tag: ${{ env.FIRMWARE_TAG }} 190 | token: ${{ secrets.GITHUB_TOKEN }} 191 | artifacts: ${{ env.FIRMWARE_PATH }}/* 192 | body: | 193 | **This is Temporary Firmware for Armvirt 64** 194 | ### 📒 固件信息 195 | - 🚀 成品固件点击此处跳转➦[PLUS](https://github.com/haiibo/OpenWrt/releases/tag/ARMv8_PLUS)即可下载 196 | - 💻 平台架构: ${{ env.DEVICE_TARGET }}-${{ env.DEVICE_SUBTARGET }} (多功能临时固件) 197 | - ⚽ 固件源码: ${{ env.REPO_URL }} 198 | - 💝 源码分支: ${{ env.REPO_BRANCH }} 199 | - 🌐 默认地址: 192.168.1.1 200 | - 🔑 默认密码: password 201 | ### 🧊 固件版本 202 | - 固件编译前最后一次➦[主源码](${{ env.REPO_URL }})更新记录 203 | - ${{ env.COMMIT_AUTHOR }} 204 | - ${{ env.COMMIT_DATE }} 205 | - ${{ env.COMMIT_MESSAGE }} 206 | - ${{ env.COMMIT_HASH }} 207 | 208 | Package: 209 | needs: [Build] 210 | runs-on: ubuntu-22.04 211 | 212 | env: 213 | COMMIT_AUTHOR: ${{ needs.Build.outputs.COMMIT_AUTHOR }} 214 | COMMIT_DATE: ${{ needs.Build.outputs.COMMIT_DATE }} 215 | COMMIT_MESSAGE: ${{ needs.Build.outputs.COMMIT_MESSAGE }} 216 | COMMIT_HASH: ${{ needs.Build.outputs.COMMIT_HASH }} 217 | DEVICE_TARGET: ${{ needs.Build.outputs.DEVICE_TARGET }} 218 | DEVICE_SUBTARGET: ${{ needs.Build.outputs.DEVICE_SUBTARGET }} 219 | 220 | steps: 221 | - name: Checkout 222 | uses: actions/checkout@main 223 | 224 | - name: Initialization Environment 225 | env: 226 | DEBIAN_FRONTEND: noninteractive 227 | run: | 228 | docker rmi $(docker images -q) 229 | sudo rm -rf /usr/share/dotnet /etc/apt/sources.list.d /usr/local/lib/android $AGENT_TOOLSDIRECTORY 230 | sudo -E apt-get -y update 231 | sudo -E apt-get -y install $(curl -fsSL is.gd/depends_ubuntu_2204) 232 | sudo -E apt-get -y autoremove --purge 233 | sudo -E apt-get -y clean 234 | sudo timedatectl set-timezone "$TZ" 235 | 236 | - name: Download Armvirt Firmware 237 | id: download 238 | run: | 239 | FIRMWARE_PATH=openwrt/bin/targets/armvirt/64 240 | [ -d $FIRMWARE_PATH ] || mkdir -p $FIRMWARE_PATH 241 | cd $FIRMWARE_PATH 242 | wget -q $(curl -s "https://api.github.com/repos/$GITHUB_REPOSITORY/releases" | grep "$FIRMWARE_TAG.*rootfs.tar.gz" | awk -F '"' '{print $4}') 243 | echo "status=success" >> $GITHUB_OUTPUT 244 | echo "DATE=$(date +"%Y-%m-%d %H:%M:%S")" >> $GITHUB_ENV 245 | echo "DATE1=$(date +"%y.%m.%d")" >> $GITHUB_ENV 246 | 247 | - name: Package OpenWrt Firmware 248 | if: steps.download.outputs.status == 'success' 249 | uses: ophub/flippy-openwrt-actions@main 250 | env: 251 | OPENWRT_ARMVIRT: openwrt/bin/targets/*/*/*rootfs.tar.gz 252 | PACKAGE_SOC: all 253 | WHOAMI: Haiibo 254 | KERNEL_VERSION_NAME: 5.15.13_6.1.5 255 | KERNEL_AUTO_LATEST: true 256 | DISTRIB_REVISION: R${{ env.DATE1 }} by Haiibo 257 | 258 | - name: Upload OpenWrt To Artifact 259 | if: env.PACKAGED_STATUS == 'success' && env.OPENWRT_RELEASE != 'true' 260 | uses: kittaakos/upload-artifact-as-is@master 261 | with: 262 | path: ${{ env.PACKAGED_OUTPUTPATH }} 263 | 264 | - name: Upload OpenWrt To Release 265 | if: env.PACKAGED_STATUS == 'success' && env.OPENWRT_RELEASE == 'true' 266 | uses: ncipollo/release-action@v1 267 | with: 268 | name: R${{ env.DATE }} for ${{ env.OPENWRT_TAG }} 269 | allowUpdates: true 270 | removeArtifacts: true 271 | tag: ${{ env.OPENWRT_TAG }} 272 | token: ${{ secrets.GITHUB_TOKEN }} 273 | artifacts: ${{ env.PACKAGED_OUTPUTPATH }}/* 274 | body: | 275 | **This is OpenWrt Firmware for Armvirt 64** 276 | ### 📒 固件信息 277 | - 🚀 ARMv8 多功能版,集成插件多适合折腾 278 | - 💻 平台架构: ${{ env.DEVICE_TARGET }}-${{ env.DEVICE_SUBTARGET }} 279 | - ⚽ 固件源码: ${{ env.REPO_URL }} 280 | - 💝 源码分支: ${{ env.REPO_BRANCH }} 281 | - 🌐 默认地址: 192.168.1.1 282 | - 🔑 默认密码: password 283 | ### 🍻 安装与更新 284 | - 用插件安装: 系统 → 晶晨宝盒 → 安装 OpenWrt → 选择型号 → 安装 285 | - 用命令安装: U盘启动成功后输入命令 `openwrt-install-amlogic` 按照英文提示写入到 emmc 286 | - 用插件更新: 系统 → 晶晨宝盒 → 在线下载更新 → 完整更新全系统 287 | - 用命令更新: 上传固件到 `/mnt/mmcblk2p4` 目录,输入命令 `openwrt-update-amlogic` 即可更新 288 | - 注意: 如非 `amlogic` 平台,请将其更改为对应平台 `rockchip` `allwinner` 289 | - 部分常见问题及注意事项请参考恩山论坛F大➦[最新帖](https://www.right.com.cn/forum/thread-4076037-1-1.html) 290 | ### 🧊 固件版本 291 | - 固件编译前最后一次➦[主源码](${{ env.REPO_URL }})更新记录 292 | - ${{ env.COMMIT_AUTHOR }} 293 | - ${{ env.COMMIT_DATE }} 294 | - ${{ env.COMMIT_MESSAGE }} 295 | - ${{ env.COMMIT_HASH }} 296 | -------------------------------------------------------------------------------- /.github/workflows/Delete-Old-Workflows.yml: -------------------------------------------------------------------------------- 1 | name: Delete Old Workflows 2 | 3 | on: 4 | workflow_dispatch: 5 | schedule: 6 | - cron: 0 3 * * * 7 | 8 | jobs: 9 | Cleaning: 10 | runs-on: ubuntu-22.04 11 | 12 | steps: 13 | - name: Delete Old Workflows 14 | uses: Mattraks/delete-workflow-runs@main 15 | with: 16 | token: ${{ secrets.GITHUB_TOKEN }} 17 | retain_days: 7 18 | keep_minimum_runs: 0 19 | 20 | - name: Delete Old Releases 21 | uses: dev-drprasad/delete-older-releases@master 22 | with: 23 | keep_latest: 15 24 | delete_tags: true 25 | env: 26 | GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} 27 | -------------------------------------------------------------------------------- /.github/workflows/RaspberryPi3-OpenWrt.yml: -------------------------------------------------------------------------------- 1 | name: RaspberryPi3 OpenWrt 2 | 3 | on: 4 | workflow_dispatch: 5 | schedule: 6 | - cron: 0 17 * * * 7 | 8 | env: 9 | REPO_URL: https://github.com/coolsnowwolf/lede 10 | REPO_BRANCH: master 11 | CONFIG_FILE: configs/rpi3.config 12 | EXTRA_CONFIG: configs/extra.config 13 | DIY_SCRIPT: diy-script.sh 14 | CLASH_KERNEL: arm64 15 | CACHE_TOOLCHAIN: true 16 | UPLOAD_BIN_DIR: false 17 | FIRMWARE_RELEASE: true 18 | FIRMWARE_TAG: RaspberryPi3 19 | TZ: Asia/Shanghai 20 | 21 | jobs: 22 | Build: 23 | runs-on: ubuntu-22.04 24 | 25 | steps: 26 | - name: Check Server Performance 27 | run: | 28 | echo "警告⚠" 29 | echo "分配的服务器性能有限,若选择的插件过多,务必注意CPU性能!" 30 | echo -e "已知CPU型号(降序): 7763,8370C,8272CL,8171M,E5-2673\n" 31 | echo "--------------------------CPU信息--------------------------" 32 | echo "CPU物理数量: $(cat /proc/cpuinfo | grep "physical id" | sort | uniq | wc -l)" 33 | echo "CPU核心数量: $(nproc)" 34 | echo -e "CPU型号信息:$(cat /proc/cpuinfo | grep -m1 name | awk -F: '{print $2}')\n" 35 | echo "--------------------------内存信息--------------------------" 36 | echo "已安装内存详细信息:" 37 | echo -e "$(sudo lshw -short -C memory | grep GiB)\n" 38 | echo "--------------------------硬盘信息--------------------------" 39 | echo "硬盘数量: $(ls /dev/sd* | grep -v [1-9] | wc -l)" && df -hT 40 | 41 | - name: Initialization Environment 42 | env: 43 | DEBIAN_FRONTEND: noninteractive 44 | run: | 45 | docker rmi $(docker images -q) 46 | sudo rm -rf /usr/share/dotnet /etc/apt/sources.list.d /usr/local/lib/android $AGENT_TOOLSDIRECTORY 47 | sudo -E apt-get -y purge azure-cli ghc* zulu* llvm* firefox google* dotnet* powershell openjdk* mongodb* moby* || true 48 | sudo -E apt-get -y update 49 | sudo -E apt-get -y install $(curl -fsSL is.gd/depends_ubuntu_2204) 50 | sudo -E systemctl daemon-reload 51 | sudo -E apt-get -y autoremove --purge 52 | sudo -E apt-get -y clean 53 | sudo timedatectl set-timezone "$TZ" 54 | 55 | - name: Combine Disks 56 | uses: easimon/maximize-build-space@master 57 | with: 58 | swap-size-mb: 1024 59 | temp-reserve-mb: 100 60 | root-reserve-mb: 1024 61 | 62 | - name: Checkout 63 | uses: actions/checkout@main 64 | 65 | - name: Clone Source Code 66 | run: | 67 | df -hT $GITHUB_WORKSPACE 68 | git clone $REPO_URL -b $REPO_BRANCH openwrt 69 | cd openwrt 70 | echo "OPENWRT_PATH=$PWD" >> $GITHUB_ENV 71 | COMMIT_AUTHOR=$(git show -s --date=short --format="作者: %an") 72 | echo "COMMIT_AUTHOR=$COMMIT_AUTHOR" >> $GITHUB_ENV 73 | COMMIT_DATE=$(git show -s --date=short --format="时间: %ci") 74 | echo "COMMIT_DATE=$COMMIT_DATE" >> $GITHUB_ENV 75 | COMMIT_MESSAGE=$(git show -s --date=short --format="内容: %s") 76 | echo "COMMIT_MESSAGE=$COMMIT_MESSAGE" >> $GITHUB_ENV 77 | COMMIT_HASH=$(git show -s --date=short --format="hash: %H") 78 | echo "COMMIT_HASH=$COMMIT_HASH" >> $GITHUB_ENV 79 | 80 | - name: Generate Variables 81 | run: | 82 | cp $CONFIG_FILE $OPENWRT_PATH/.config 83 | cd $OPENWRT_PATH 84 | make defconfig > /dev/null 2>&1 85 | SOURCE_REPO="$(echo $REPO_URL | awk -F '/' '{print $(NF)}')" 86 | echo "SOURCE_REPO=$SOURCE_REPO" >> $GITHUB_ENV 87 | DEVICE_TARGET=$(cat .config | grep CONFIG_TARGET_BOARD | awk -F '"' '{print $2}') 88 | echo "DEVICE_TARGET=$DEVICE_TARGET" >> $GITHUB_ENV 89 | DEVICE_SUBTARGET=$(cat .config | grep CONFIG_TARGET_SUBTARGET | awk -F '"' '{print $2}') 90 | echo "DEVICE_SUBTARGET=$DEVICE_SUBTARGET" >> $GITHUB_ENV 91 | 92 | - name: Cache Toolchain 93 | if: env.CACHE_TOOLCHAIN == 'true' 94 | uses: HiGarfield/cachewrtbuild@main 95 | with: 96 | ccache: false 97 | mixkey: ${{ env.SOURCE_REPO }}-${{ env.REPO_BRANCH }}-${{ env.DEVICE_TARGET }}-${{ env.DEVICE_SUBTARGET }} 98 | prefix: ${{ env.OPENWRT_PATH }} 99 | 100 | - name: Install Feeds 101 | run: | 102 | cd $OPENWRT_PATH 103 | ./scripts/feeds update -a 104 | ./scripts/feeds install -a 105 | 106 | - name: Load Custom Configuration 107 | run: | 108 | [ -e files ] && mv files $OPENWRT_PATH/files 109 | [ -e $CONFIG_FILE ] && mv $CONFIG_FILE $OPENWRT_PATH/.config 110 | cat $EXTRA_CONFIG >> $OPENWRT_PATH/.config 111 | chmod +x $GITHUB_WORKSPACE/scripts/*.sh 112 | chmod +x $DIY_SCRIPT 113 | cd $OPENWRT_PATH 114 | $GITHUB_WORKSPACE/$DIY_SCRIPT 115 | $GITHUB_WORKSPACE/scripts/preset-clash-core.sh $CLASH_KERNEL 116 | $GITHUB_WORKSPACE/scripts/preset-terminal-tools.sh 117 | $GITHUB_WORKSPACE/scripts/preset-adguard-core.sh $CLASH_KERNEL 118 | 119 | - name: Download DL Package 120 | run: | 121 | cd $OPENWRT_PATH 122 | make defconfig 123 | make download -j8 124 | find dl -size -1024c -exec ls -l {} \; 125 | find dl -size -1024c -exec rm -f {} \; 126 | 127 | - name: Compile Firmware 128 | id: compile 129 | run: | 130 | cd $OPENWRT_PATH 131 | mkdir -p files/etc/uci-defaults 132 | cp $GITHUB_WORKSPACE/scripts/init-settings.sh files/etc/uci-defaults/99-init-settings 133 | echo -e "$(nproc) thread compile" 134 | make -j$(nproc) || make -j1 || make -j1 V=s 135 | echo "status=success" >> $GITHUB_OUTPUT 136 | echo "DATE=$(date +"%Y-%m-%d %H:%M:%S")" >> $GITHUB_ENV 137 | echo "FILE_DATE=$(date +"%Y.%m.%d")" >> $GITHUB_ENV 138 | 139 | - name: Check Space Usage 140 | if: (!cancelled()) 141 | run: df -hT 142 | 143 | - name: Upload Bin Directory 144 | if: steps.compile.outputs.status == 'success' && env.UPLOAD_BIN_DIR == 'true' 145 | uses: actions/upload-artifact@main 146 | with: 147 | name: ${{ env.SOURCE_REPO }}-bin-${{ env.DEVICE_TARGET }}-${{ env.DEVICE_SUBTARGET }}-${{ env.FILE_DATE }} 148 | path: ${{ env.OPENWRT_PATH }}/bin 149 | 150 | - name: Organize Files 151 | if: steps.compile.outputs.status == 'success' 152 | run: | 153 | cd $OPENWRT_PATH/bin/targets/*/* 154 | cat sha256sums 155 | cp $OPENWRT_PATH/.config build.config 156 | mv -f $OPENWRT_PATH/bin/packages/*/*/*.ipk packages 157 | tar -zcf Packages.tar.gz packages 158 | rm -rf packages feeds.buildinfo version.buildinfo 159 | echo "KERNEL=$(cat *.manifest | grep ^kernel | cut -d- -f2 | tr -d ' ')" >> $GITHUB_ENV 160 | echo "FIRMWARE_PATH=$PWD" >> $GITHUB_ENV 161 | 162 | - name: Upload Firmware To Artifact 163 | if: steps.compile.outputs.status == 'success' && env.FIRMWARE_RELEASE != 'true' 164 | uses: actions/upload-artifact@main 165 | with: 166 | name: ${{ env.SOURCE_REPO }}-firmware-${{ env.DEVICE_TARGET }}-${{ env.DEVICE_SUBTARGET }}-${{ env.FILE_DATE }} 167 | path: ${{ env.FIRMWARE_PATH }} 168 | 169 | - name: Upload Firmware To Release 170 | if: steps.compile.outputs.status == 'success' && env.FIRMWARE_RELEASE == 'true' 171 | uses: ncipollo/release-action@v1 172 | with: 173 | name: R${{ env.DATE }} for ${{ env.FIRMWARE_TAG }} 174 | allowUpdates: true 175 | tag: ${{ env.FIRMWARE_TAG }} 176 | token: ${{ secrets.GITHUB_TOKEN }} 177 | artifacts: ${{ env.FIRMWARE_PATH }}/* 178 | body: | 179 | **This is OpenWrt Firmware for ${{ env.FIRMWARE_TAG }}** 180 | ### 📒 固件信息 181 | - 💻 平台架构: ${{ env.DEVICE_TARGET }}-${{ env.DEVICE_SUBTARGET }} (树莓派3/3B) 182 | - ⚽ 固件源码: ${{ env.REPO_URL }} 183 | - 💝 源码分支: ${{ env.REPO_BRANCH }} 184 | - 🚀 内核版本: ${{ env.KERNEL }} 185 | - 🌐 默认地址: 192.168.1.1 186 | - 🔑 默认密码: password 187 | ### 🧊 固件版本 188 | - 固件编译前最后一次➦[主源码](${{ env.REPO_URL }})更新记录 189 | - ${{ env.COMMIT_AUTHOR }} 190 | - ${{ env.COMMIT_DATE }} 191 | - ${{ env.COMMIT_MESSAGE }} 192 | - ${{ env.COMMIT_HASH }} 193 | -------------------------------------------------------------------------------- /.github/workflows/RaspberryPi4-OpenWrt.yml: -------------------------------------------------------------------------------- 1 | name: RaspberryPi4 OpenWrt 2 | 3 | on: 4 | workflow_dispatch: 5 | schedule: 6 | - cron: 0 17 * * * 7 | 8 | env: 9 | REPO_URL: https://github.com/coolsnowwolf/lede 10 | REPO_BRANCH: master 11 | CONFIG_FILE: configs/rpi4.config 12 | EXTRA_CONFIG: configs/extra.config 13 | DIY_SCRIPT: diy-script.sh 14 | CLASH_KERNEL: arm64 15 | CACHE_TOOLCHAIN: true 16 | UPLOAD_BIN_DIR: false 17 | FIRMWARE_RELEASE: true 18 | FIRMWARE_TAG: RaspberryPi4 19 | TZ: Asia/Shanghai 20 | 21 | jobs: 22 | Build: 23 | runs-on: ubuntu-22.04 24 | 25 | steps: 26 | - name: Check Server Performance 27 | run: | 28 | echo "警告⚠" 29 | echo "分配的服务器性能有限,若选择的插件过多,务必注意CPU性能!" 30 | echo -e "已知CPU型号(降序): 7763,8370C,8272CL,8171M,E5-2673\n" 31 | echo "--------------------------CPU信息--------------------------" 32 | echo "CPU物理数量: $(cat /proc/cpuinfo | grep "physical id" | sort | uniq | wc -l)" 33 | echo "CPU核心数量: $(nproc)" 34 | echo -e "CPU型号信息:$(cat /proc/cpuinfo | grep -m1 name | awk -F: '{print $2}')\n" 35 | echo "--------------------------内存信息--------------------------" 36 | echo "已安装内存详细信息:" 37 | echo -e "$(sudo lshw -short -C memory | grep GiB)\n" 38 | echo "--------------------------硬盘信息--------------------------" 39 | echo "硬盘数量: $(ls /dev/sd* | grep -v [1-9] | wc -l)" && df -hT 40 | 41 | - name: Initialization Environment 42 | env: 43 | DEBIAN_FRONTEND: noninteractive 44 | run: | 45 | docker rmi $(docker images -q) 46 | sudo rm -rf /usr/share/dotnet /etc/apt/sources.list.d /usr/local/lib/android $AGENT_TOOLSDIRECTORY 47 | sudo -E apt-get -y purge azure-cli ghc* zulu* llvm* firefox google* dotnet* powershell openjdk* mongodb* moby* || true 48 | sudo -E apt-get -y update 49 | sudo -E apt-get -y install $(curl -fsSL is.gd/depends_ubuntu_2204) 50 | sudo -E systemctl daemon-reload 51 | sudo -E apt-get -y autoremove --purge 52 | sudo -E apt-get -y clean 53 | sudo timedatectl set-timezone "$TZ" 54 | 55 | - name: Combine Disks 56 | uses: easimon/maximize-build-space@master 57 | with: 58 | swap-size-mb: 1024 59 | temp-reserve-mb: 100 60 | root-reserve-mb: 1024 61 | 62 | - name: Checkout 63 | uses: actions/checkout@main 64 | 65 | - name: Clone Source Code 66 | run: | 67 | df -hT $GITHUB_WORKSPACE 68 | git clone $REPO_URL -b $REPO_BRANCH openwrt 69 | cd openwrt 70 | echo "OPENWRT_PATH=$PWD" >> $GITHUB_ENV 71 | COMMIT_AUTHOR=$(git show -s --date=short --format="作者: %an") 72 | echo "COMMIT_AUTHOR=$COMMIT_AUTHOR" >> $GITHUB_ENV 73 | COMMIT_DATE=$(git show -s --date=short --format="时间: %ci") 74 | echo "COMMIT_DATE=$COMMIT_DATE" >> $GITHUB_ENV 75 | COMMIT_MESSAGE=$(git show -s --date=short --format="内容: %s") 76 | echo "COMMIT_MESSAGE=$COMMIT_MESSAGE" >> $GITHUB_ENV 77 | COMMIT_HASH=$(git show -s --date=short --format="hash: %H") 78 | echo "COMMIT_HASH=$COMMIT_HASH" >> $GITHUB_ENV 79 | 80 | - name: Generate Variables 81 | run: | 82 | cp $CONFIG_FILE $OPENWRT_PATH/.config 83 | cd $OPENWRT_PATH 84 | make defconfig > /dev/null 2>&1 85 | SOURCE_REPO="$(echo $REPO_URL | awk -F '/' '{print $(NF)}')" 86 | echo "SOURCE_REPO=$SOURCE_REPO" >> $GITHUB_ENV 87 | DEVICE_TARGET=$(cat .config | grep CONFIG_TARGET_BOARD | awk -F '"' '{print $2}') 88 | echo "DEVICE_TARGET=$DEVICE_TARGET" >> $GITHUB_ENV 89 | DEVICE_SUBTARGET=$(cat .config | grep CONFIG_TARGET_SUBTARGET | awk -F '"' '{print $2}') 90 | echo "DEVICE_SUBTARGET=$DEVICE_SUBTARGET" >> $GITHUB_ENV 91 | 92 | - name: Cache Toolchain 93 | if: env.CACHE_TOOLCHAIN == 'true' 94 | uses: HiGarfield/cachewrtbuild@main 95 | with: 96 | ccache: false 97 | mixkey: ${{ env.SOURCE_REPO }}-${{ env.REPO_BRANCH }}-${{ env.DEVICE_TARGET }}-${{ env.DEVICE_SUBTARGET }} 98 | prefix: ${{ env.OPENWRT_PATH }} 99 | 100 | - name: Install Feeds 101 | run: | 102 | cd $OPENWRT_PATH 103 | ./scripts/feeds update -a 104 | ./scripts/feeds install -a 105 | 106 | - name: Load Custom Configuration 107 | run: | 108 | [ -e files ] && mv files $OPENWRT_PATH/files 109 | [ -e $CONFIG_FILE ] && mv $CONFIG_FILE $OPENWRT_PATH/.config 110 | cat $EXTRA_CONFIG >> $OPENWRT_PATH/.config 111 | chmod +x $GITHUB_WORKSPACE/scripts/*.sh 112 | chmod +x $DIY_SCRIPT 113 | cd $OPENWRT_PATH 114 | $GITHUB_WORKSPACE/$DIY_SCRIPT 115 | $GITHUB_WORKSPACE/scripts/preset-clash-core.sh $CLASH_KERNEL 116 | $GITHUB_WORKSPACE/scripts/preset-terminal-tools.sh 117 | $GITHUB_WORKSPACE/scripts/preset-adguard-core.sh $CLASH_KERNEL 118 | 119 | - name: Download DL Package 120 | run: | 121 | cd $OPENWRT_PATH 122 | make defconfig 123 | make download -j8 124 | find dl -size -1024c -exec ls -l {} \; 125 | find dl -size -1024c -exec rm -f {} \; 126 | 127 | - name: Compile Firmware 128 | id: compile 129 | run: | 130 | cd $OPENWRT_PATH 131 | mkdir -p files/etc/uci-defaults 132 | cp $GITHUB_WORKSPACE/scripts/init-settings.sh files/etc/uci-defaults/99-init-settings 133 | echo -e "$(nproc) thread compile" 134 | make -j$(nproc) || make -j1 || make -j1 V=s 135 | echo "status=success" >> $GITHUB_OUTPUT 136 | echo "DATE=$(date +"%Y-%m-%d %H:%M:%S")" >> $GITHUB_ENV 137 | echo "FILE_DATE=$(date +"%Y.%m.%d")" >> $GITHUB_ENV 138 | 139 | - name: Check Space Usage 140 | if: (!cancelled()) 141 | run: df -hT 142 | 143 | - name: Upload Bin Directory 144 | if: steps.compile.outputs.status == 'success' && env.UPLOAD_BIN_DIR == 'true' 145 | uses: actions/upload-artifact@main 146 | with: 147 | name: ${{ env.SOURCE_REPO }}-bin-${{ env.DEVICE_TARGET }}-${{ env.DEVICE_SUBTARGET }}-${{ env.FILE_DATE }} 148 | path: ${{ env.OPENWRT_PATH }}/bin 149 | 150 | - name: Organize Files 151 | if: steps.compile.outputs.status == 'success' 152 | run: | 153 | cd $OPENWRT_PATH/bin/targets/*/* 154 | cat sha256sums 155 | cp $OPENWRT_PATH/.config build.config 156 | mv -f $OPENWRT_PATH/bin/packages/*/*/*.ipk packages 157 | tar -zcf Packages.tar.gz packages 158 | rm -rf packages feeds.buildinfo version.buildinfo 159 | echo "KERNEL=$(cat *.manifest | grep ^kernel | cut -d- -f2 | tr -d ' ')" >> $GITHUB_ENV 160 | echo "FIRMWARE_PATH=$PWD" >> $GITHUB_ENV 161 | 162 | - name: Upload Firmware To Artifact 163 | if: steps.compile.outputs.status == 'success' && env.FIRMWARE_RELEASE != 'true' 164 | uses: actions/upload-artifact@main 165 | with: 166 | name: ${{ env.SOURCE_REPO }}-firmware-${{ env.DEVICE_TARGET }}-${{ env.DEVICE_SUBTARGET }}-${{ env.FILE_DATE }} 167 | path: ${{ env.FIRMWARE_PATH }} 168 | 169 | - name: Upload Firmware To Release 170 | if: steps.compile.outputs.status == 'success' && env.FIRMWARE_RELEASE == 'true' 171 | uses: ncipollo/release-action@v1 172 | with: 173 | name: R${{ env.DATE }} for ${{ env.FIRMWARE_TAG }} 174 | allowUpdates: true 175 | tag: ${{ env.FIRMWARE_TAG }} 176 | token: ${{ secrets.GITHUB_TOKEN }} 177 | artifacts: ${{ env.FIRMWARE_PATH }}/* 178 | body: | 179 | **This is OpenWrt Firmware for ${{ env.FIRMWARE_TAG }}** 180 | ### 📒 固件信息 181 | - 💻 平台架构: ${{ env.DEVICE_TARGET }}-${{ env.DEVICE_SUBTARGET }} (树莓派4B) 182 | - ⚽ 固件源码: ${{ env.REPO_URL }} 183 | - 💝 源码分支: ${{ env.REPO_BRANCH }} 184 | - 🚀 内核版本: ${{ env.KERNEL }} 185 | - 🌐 默认地址: 192.168.1.1 186 | - 🔑 默认密码: password 187 | ### 🧊 固件版本 188 | - 固件编译前最后一次➦[主源码](${{ env.REPO_URL }})更新记录 189 | - ${{ env.COMMIT_AUTHOR }} 190 | - ${{ env.COMMIT_DATE }} 191 | - ${{ env.COMMIT_MESSAGE }} 192 | - ${{ env.COMMIT_HASH }} 193 | -------------------------------------------------------------------------------- /.github/workflows/Rockchip-OpenWrt.yml: -------------------------------------------------------------------------------- 1 | name: Rockchip OpenWrt 2 | 3 | on: 4 | workflow_dispatch: 5 | schedule: 6 | - cron: 0 18 * * * 7 | 8 | env: 9 | REPO_URL: https://github.com/coolsnowwolf/lede 10 | REPO_BRANCH: master 11 | CONFIG_FILE: configs/rockchip.config 12 | EXTRA_CONFIG: configs/extra.config 13 | DIY_SCRIPT: diy-script.sh 14 | CLASH_KERNEL: arm64 15 | CACHE_TOOLCHAIN: true 16 | UPLOAD_BIN_DIR: false 17 | FIRMWARE_RELEASE: true 18 | FIRMWARE_TAG: Rockchip 19 | TZ: Asia/Shanghai 20 | 21 | jobs: 22 | Build: 23 | runs-on: ubuntu-22.04 24 | 25 | steps: 26 | - name: Check Server Performance 27 | run: | 28 | echo "警告⚠" 29 | echo "分配的服务器性能有限,若选择的插件过多,务必注意CPU性能!" 30 | echo -e "已知CPU型号(降序): 7763,8370C,8272CL,8171M,E5-2673\n" 31 | echo "--------------------------CPU信息--------------------------" 32 | echo "CPU物理数量: $(cat /proc/cpuinfo | grep "physical id" | sort | uniq | wc -l)" 33 | echo "CPU核心数量: $(nproc)" 34 | echo -e "CPU型号信息:$(cat /proc/cpuinfo | grep -m1 name | awk -F: '{print $2}')\n" 35 | echo "--------------------------内存信息--------------------------" 36 | echo "已安装内存详细信息:" 37 | echo -e "$(sudo lshw -short -C memory | grep GiB)\n" 38 | echo "--------------------------硬盘信息--------------------------" 39 | echo "硬盘数量: $(ls /dev/sd* | grep -v [1-9] | wc -l)" && df -hT 40 | 41 | - name: Initialization Environment 42 | env: 43 | DEBIAN_FRONTEND: noninteractive 44 | run: | 45 | docker rmi $(docker images -q) 46 | sudo rm -rf /usr/share/dotnet /etc/apt/sources.list.d /usr/local/lib/android $AGENT_TOOLSDIRECTORY 47 | sudo -E apt-get -y purge azure-cli ghc* zulu* llvm* firefox google* dotnet* powershell openjdk* mongodb* moby* || true 48 | sudo -E apt-get -y update 49 | sudo -E apt-get -y install $(curl -fsSL is.gd/depends_ubuntu_2204) 50 | sudo -E systemctl daemon-reload 51 | sudo -E apt-get -y autoremove --purge 52 | sudo -E apt-get -y clean 53 | sudo timedatectl set-timezone "$TZ" 54 | 55 | - name: Combine Disks 56 | uses: easimon/maximize-build-space@master 57 | with: 58 | swap-size-mb: 1024 59 | temp-reserve-mb: 100 60 | root-reserve-mb: 1024 61 | 62 | - name: Checkout 63 | uses: actions/checkout@main 64 | 65 | - name: Clone Source Code 66 | run: | 67 | df -hT $GITHUB_WORKSPACE 68 | git clone $REPO_URL -b $REPO_BRANCH openwrt 69 | cd openwrt 70 | echo "OPENWRT_PATH=$PWD" >> $GITHUB_ENV 71 | COMMIT_AUTHOR=$(git show -s --date=short --format="作者: %an") 72 | echo "COMMIT_AUTHOR=$COMMIT_AUTHOR" >> $GITHUB_ENV 73 | COMMIT_DATE=$(git show -s --date=short --format="时间: %ci") 74 | echo "COMMIT_DATE=$COMMIT_DATE" >> $GITHUB_ENV 75 | COMMIT_MESSAGE=$(git show -s --date=short --format="内容: %s") 76 | echo "COMMIT_MESSAGE=$COMMIT_MESSAGE" >> $GITHUB_ENV 77 | COMMIT_HASH=$(git show -s --date=short --format="hash: %H") 78 | echo "COMMIT_HASH=$COMMIT_HASH" >> $GITHUB_ENV 79 | 80 | - name: Generate Variables 81 | run: | 82 | cp $CONFIG_FILE $OPENWRT_PATH/.config 83 | cd $OPENWRT_PATH 84 | make defconfig > /dev/null 2>&1 85 | SOURCE_REPO="$(echo $REPO_URL | awk -F '/' '{print $(NF)}')" 86 | echo "SOURCE_REPO=$SOURCE_REPO" >> $GITHUB_ENV 87 | DEVICE_TARGET=$(cat .config | grep CONFIG_TARGET_BOARD | awk -F '"' '{print $2}') 88 | echo "DEVICE_TARGET=$DEVICE_TARGET" >> $GITHUB_ENV 89 | DEVICE_SUBTARGET=$(cat .config | grep CONFIG_TARGET_SUBTARGET | awk -F '"' '{print $2}') 90 | echo "DEVICE_SUBTARGET=$DEVICE_SUBTARGET" >> $GITHUB_ENV 91 | 92 | - name: Cache Toolchain 93 | if: env.CACHE_TOOLCHAIN == 'true' 94 | uses: HiGarfield/cachewrtbuild@main 95 | with: 96 | ccache: false 97 | mixkey: ${{ env.SOURCE_REPO }}-${{ env.REPO_BRANCH }}-${{ env.DEVICE_TARGET }}-${{ env.DEVICE_SUBTARGET }} 98 | prefix: ${{ env.OPENWRT_PATH }} 99 | 100 | - name: Install Feeds 101 | run: | 102 | cd $OPENWRT_PATH 103 | ./scripts/feeds update -a 104 | ./scripts/feeds install -a 105 | 106 | - name: Load Custom Configuration 107 | run: | 108 | [ -e files ] && mv files $OPENWRT_PATH/files 109 | [ -e $CONFIG_FILE ] && mv $CONFIG_FILE $OPENWRT_PATH/.config 110 | cat $EXTRA_CONFIG >> $OPENWRT_PATH/.config 111 | chmod +x $GITHUB_WORKSPACE/scripts/*.sh 112 | chmod +x $DIY_SCRIPT 113 | cd $OPENWRT_PATH 114 | $GITHUB_WORKSPACE/$DIY_SCRIPT 115 | $GITHUB_WORKSPACE/scripts/preset-clash-core.sh $CLASH_KERNEL 116 | $GITHUB_WORKSPACE/scripts/preset-terminal-tools.sh 117 | $GITHUB_WORKSPACE/scripts/preset-adguard-core.sh $CLASH_KERNEL 118 | 119 | - name: Download DL Package 120 | run: | 121 | cd $OPENWRT_PATH 122 | make defconfig 123 | make download -j8 124 | find dl -size -1024c -exec ls -l {} \; 125 | find dl -size -1024c -exec rm -f {} \; 126 | 127 | - name: Compile Firmware 128 | id: compile 129 | run: | 130 | cd $OPENWRT_PATH 131 | mkdir -p files/etc/uci-defaults 132 | cp $GITHUB_WORKSPACE/scripts/init-settings.sh files/etc/uci-defaults/99-init-settings 133 | echo -e "$(nproc) thread compile" 134 | make -j$(nproc) || make -j1 || make -j1 V=s 135 | echo "status=success" >> $GITHUB_OUTPUT 136 | echo "DATE=$(date +"%Y-%m-%d %H:%M:%S")" >> $GITHUB_ENV 137 | echo "FILE_DATE=$(date +"%Y.%m.%d")" >> $GITHUB_ENV 138 | 139 | - name: Check Space Usage 140 | if: (!cancelled()) 141 | run: df -hT 142 | 143 | - name: Upload Bin Directory 144 | if: steps.compile.outputs.status == 'success' && env.UPLOAD_BIN_DIR == 'true' 145 | uses: actions/upload-artifact@main 146 | with: 147 | name: ${{ env.SOURCE_REPO }}-bin-${{ env.DEVICE_TARGET }}-${{ env.DEVICE_SUBTARGET }}-${{ env.FILE_DATE }} 148 | path: ${{ env.OPENWRT_PATH }}/bin 149 | 150 | - name: Organize Files 151 | if: steps.compile.outputs.status == 'success' 152 | run: | 153 | cd $OPENWRT_PATH/bin/targets/*/* 154 | cat sha256sums 155 | cp $OPENWRT_PATH/.config build.config 156 | mv -f $OPENWRT_PATH/bin/packages/*/*/*.ipk packages 157 | tar -zcf Packages.tar.gz packages 158 | rm -rf packages feeds.buildinfo version.buildinfo 159 | echo "KERNEL=$(cat *.manifest | grep ^kernel | cut -d- -f2 | tr -d ' ')" >> $GITHUB_ENV 160 | echo "FIRMWARE_PATH=$PWD" >> $GITHUB_ENV 161 | 162 | - name: Upload Firmware To Artifact 163 | if: steps.compile.outputs.status == 'success' && env.FIRMWARE_RELEASE != 'true' 164 | uses: actions/upload-artifact@main 165 | with: 166 | name: ${{ env.SOURCE_REPO }}-firmware-${{ env.DEVICE_TARGET }}-${{ env.DEVICE_SUBTARGET }}-${{ env.FILE_DATE }} 167 | path: ${{ env.FIRMWARE_PATH }} 168 | 169 | - name: Upload Firmware To Release 170 | if: steps.compile.outputs.status == 'success' && env.FIRMWARE_RELEASE == 'true' 171 | uses: ncipollo/release-action@v1 172 | with: 173 | name: R${{ env.DATE }} for ${{ env.FIRMWARE_TAG }} 174 | allowUpdates: true 175 | tag: ${{ env.FIRMWARE_TAG }} 176 | token: ${{ secrets.GITHUB_TOKEN }} 177 | artifacts: ${{ env.FIRMWARE_PATH }}/* 178 | body: | 179 | **This is OpenWrt Firmware for ${{ env.FIRMWARE_TAG }}** 180 | ### 📒 固件信息 181 | - 💻 平台架构: ${{ env.DEVICE_TARGET }}-${{ env.DEVICE_SUBTARGET }} (rk33xx, rk35xx) 182 | - ⚽ 固件源码: ${{ env.REPO_URL }} 183 | - 💝 源码分支: ${{ env.REPO_BRANCH }} 184 | - 🚀 内核版本: ${{ env.KERNEL }} 185 | - 🌐 默认地址: 192.168.1.1 186 | - 🔑 默认密码: password 187 | ### 🧊 固件版本 188 | - 固件编译前最后一次➦[主源码](${{ env.REPO_URL }})更新记录 189 | - ${{ env.COMMIT_AUTHOR }} 190 | - ${{ env.COMMIT_DATE }} 191 | - ${{ env.COMMIT_MESSAGE }} 192 | - ${{ env.COMMIT_HASH }} 193 | -------------------------------------------------------------------------------- /.github/workflows/X86_64-Mini-OpenWrt.yml: -------------------------------------------------------------------------------- 1 | name: X86_64 Mini OpenWrt 2 | 3 | on: 4 | workflow_dispatch: 5 | schedule: 6 | - cron: 0 19 * * * 7 | 8 | env: 9 | REPO_URL: https://github.com/coolsnowwolf/lede 10 | REPO_BRANCH: master 11 | CONFIG_FILE: configs/x86_64-mini.config 12 | DIY_SCRIPT: diy-mini.sh 13 | CLASH_KERNEL: amd64 14 | CACHE_TOOLCHAIN: true 15 | UPLOAD_BIN_DIR: false 16 | FIRMWARE_RELEASE: true 17 | FIRMWARE_TAG: X86_64 18 | TZ: Asia/Shanghai 19 | 20 | jobs: 21 | Build: 22 | runs-on: ubuntu-22.04 23 | 24 | steps: 25 | - name: Checkout 26 | uses: actions/checkout@main 27 | 28 | - name: Check Server Performance 29 | run: | 30 | echo "警告⚠" 31 | echo "分配的服务器性能有限,若选择的插件过多,务必注意CPU性能!" 32 | echo -e "已知CPU型号(降序): 7763,8370C,8272CL,8171M,E5-2673\n" 33 | echo "--------------------------CPU信息--------------------------" 34 | echo "CPU物理数量: $(cat /proc/cpuinfo | grep "physical id" | sort | uniq | wc -l)" 35 | echo "CPU核心数量: $(nproc)" 36 | echo -e "CPU型号信息:$(cat /proc/cpuinfo | grep -m1 name | awk -F: '{print $2}')\n" 37 | echo "--------------------------内存信息--------------------------" 38 | echo "已安装内存详细信息:" 39 | echo -e "$(sudo lshw -short -C memory | grep GiB)\n" 40 | echo "--------------------------硬盘信息--------------------------" 41 | echo "硬盘数量: $(ls /dev/sd* | grep -v [1-9] | wc -l)" && df -hT 42 | 43 | - name: Initialization Environment 44 | env: 45 | DEBIAN_FRONTEND: noninteractive 46 | run: | 47 | docker rmi $(docker images -q) 48 | sudo rm -rf /usr/share/dotnet /etc/apt/sources.list.d /usr/local/lib/android $AGENT_TOOLSDIRECTORY 49 | sudo -E apt-get -y purge azure-cli ghc* zulu* llvm* firefox google* dotnet* powershell openjdk* mongodb* moby* || true 50 | sudo -E apt-get -y update 51 | sudo -E apt-get -y install rename $(curl -fsSL is.gd/depends_ubuntu_2204) 52 | sudo -E systemctl daemon-reload 53 | sudo -E apt-get -y autoremove --purge 54 | sudo -E apt-get -y clean 55 | sudo timedatectl set-timezone "$TZ" 56 | 57 | - name: Clone Source Code 58 | run: | 59 | df -hT $GITHUB_WORKSPACE 60 | git clone $REPO_URL -b $REPO_BRANCH openwrt 61 | cd openwrt 62 | echo "OPENWRT_PATH=$PWD" >> $GITHUB_ENV 63 | COMMIT_AUTHOR=$(git show -s --date=short --format="作者: %an") 64 | echo "COMMIT_AUTHOR=$COMMIT_AUTHOR" >> $GITHUB_ENV 65 | COMMIT_DATE=$(git show -s --date=short --format="时间: %ci") 66 | echo "COMMIT_DATE=$COMMIT_DATE" >> $GITHUB_ENV 67 | COMMIT_MESSAGE=$(git show -s --date=short --format="内容: %s") 68 | echo "COMMIT_MESSAGE=$COMMIT_MESSAGE" >> $GITHUB_ENV 69 | COMMIT_HASH=$(git show -s --date=short --format="hash: %H") 70 | echo "COMMIT_HASH=$COMMIT_HASH" >> $GITHUB_ENV 71 | 72 | - name: Generate Variables 73 | run: | 74 | cp $CONFIG_FILE $OPENWRT_PATH/.config 75 | cd $OPENWRT_PATH 76 | make defconfig > /dev/null 2>&1 77 | SOURCE_REPO="$(echo $REPO_URL | awk -F '/' '{print $(NF)}')" 78 | echo "SOURCE_REPO=$SOURCE_REPO" >> $GITHUB_ENV 79 | DEVICE_TARGET=$(cat .config | grep CONFIG_TARGET_BOARD | awk -F '"' '{print $2}') 80 | echo "DEVICE_TARGET=$DEVICE_TARGET" >> $GITHUB_ENV 81 | DEVICE_SUBTARGET=$(cat .config | grep CONFIG_TARGET_SUBTARGET | awk -F '"' '{print $2}') 82 | echo "DEVICE_SUBTARGET=$DEVICE_SUBTARGET" >> $GITHUB_ENV 83 | 84 | - name: Cache Toolchain 85 | if: env.CACHE_TOOLCHAIN == 'true' 86 | uses: HiGarfield/cachewrtbuild@main 87 | with: 88 | ccache: false 89 | mixkey: ${{ env.SOURCE_REPO }}-${{ env.REPO_BRANCH }}-${{ env.DEVICE_TARGET }}-${{ env.DEVICE_SUBTARGET }} 90 | prefix: ${{ env.OPENWRT_PATH }} 91 | 92 | - name: Install Feeds 93 | run: | 94 | cd $OPENWRT_PATH 95 | ./scripts/feeds update -a 96 | ./scripts/feeds install -a 97 | 98 | - name: Load Custom Configuration 99 | run: | 100 | [ -e files ] && mv files $OPENWRT_PATH/files 101 | [ -e $CONFIG_FILE ] && mv $CONFIG_FILE $OPENWRT_PATH/.config 102 | chmod +x $GITHUB_WORKSPACE/scripts/*.sh 103 | chmod +x $DIY_SCRIPT 104 | cd $OPENWRT_PATH 105 | $GITHUB_WORKSPACE/$DIY_SCRIPT 106 | $GITHUB_WORKSPACE/scripts/preset-clash-core.sh $CLASH_KERNEL 107 | $GITHUB_WORKSPACE/scripts/preset-terminal-tools.sh 108 | $GITHUB_WORKSPACE/scripts/preset-adguard-core.sh $CLASH_KERNEL 109 | 110 | - name: Download DL Package 111 | run: | 112 | cd $OPENWRT_PATH 113 | make defconfig 114 | make download -j8 115 | find dl -size -1024c -exec ls -l {} \; 116 | find dl -size -1024c -exec rm -f {} \; 117 | 118 | - name: Compile Firmware 119 | id: compile 120 | run: | 121 | cd $OPENWRT_PATH 122 | mkdir -p files/etc/uci-defaults 123 | cp $GITHUB_WORKSPACE/scripts/init-settings.sh files/etc/uci-defaults/99-init-settings 124 | echo -e "$(nproc) thread compile" 125 | make -j$(nproc) || make -j1 || make -j1 V=s 126 | echo "status=success" >> $GITHUB_OUTPUT 127 | echo "DATE=$(date +"%Y-%m-%d %H:%M:%S")" >> $GITHUB_ENV 128 | echo "FILE_DATE=$(date +"%Y.%m.%d")" >> $GITHUB_ENV 129 | 130 | - name: Check Space Usage 131 | if: (!cancelled()) 132 | run: df -hT 133 | 134 | - name: Upload Bin Directory 135 | if: steps.compile.outputs.status == 'success' && env.UPLOAD_BIN_DIR == 'true' 136 | uses: actions/upload-artifact@main 137 | with: 138 | name: ${{ env.SOURCE_REPO }}-bin-${{ env.DEVICE_TARGET }}-${{ env.DEVICE_SUBTARGET }}-${{ env.FILE_DATE }} 139 | path: ${{ env.OPENWRT_PATH }}/bin 140 | 141 | - name: Organize Files 142 | if: steps.compile.outputs.status == 'success' 143 | run: | 144 | cd $OPENWRT_PATH/bin/targets/*/* 145 | cat config.buildinfo 146 | echo "KERNEL=$(cat *.manifest | grep ^kernel | cut -d- -f2 | tr -d ' ')" >> $GITHUB_ENV 147 | rm -rf packages *.buildinfo *.manifest *kernel.bin *rootfs.img.gz profiles.json sha256sums 148 | rename 's/^/mini-/' * 149 | echo "FIRMWARE_PATH=$PWD" >> $GITHUB_ENV 150 | 151 | - name: Upload Firmware To Artifact 152 | if: steps.compile.outputs.status == 'success' && env.FIRMWARE_RELEASE != 'true' 153 | uses: actions/upload-artifact@main 154 | with: 155 | name: ${{ env.SOURCE_REPO }}-firmware-${{ env.DEVICE_TARGET }}-${{ env.DEVICE_SUBTARGET }}-${{ env.FILE_DATE }} 156 | path: ${{ env.FIRMWARE_PATH }} 157 | 158 | - name: Upload Firmware To Release 159 | if: steps.compile.outputs.status == 'success' && env.FIRMWARE_RELEASE == 'true' 160 | uses: ncipollo/release-action@v1 161 | with: 162 | name: R${{ env.DATE }} for ${{ env.FIRMWARE_TAG }} 163 | allowUpdates: true 164 | tag: ${{ env.FIRMWARE_TAG }} 165 | token: ${{ secrets.GITHUB_TOKEN }} 166 | artifacts: ${{ env.FIRMWARE_PATH }}/* 167 | body: | 168 | **This is OpenWrt Firmware for ${{ env.FIRMWARE_TAG }}** 169 | ### 📒 固件信息 170 | - 💻 平台架构: ${{ env.DEVICE_TARGET }}-${{ env.DEVICE_SUBTARGET }} 171 | - ⚽ 固件源码: ${{ env.REPO_URL }} 172 | - 💝 源码分支: ${{ env.REPO_BRANCH }} 173 | - 🚀 内核版本: ${{ env.KERNEL }} 174 | - 🌐 默认地址: 192.168.1.1 175 | - 🔑 默认密码: password 176 | ### 🧊 固件版本 177 | - 固件编译前最后一次➦[主源码](${{ env.REPO_URL }})更新记录 178 | - ${{ env.COMMIT_AUTHOR }} 179 | - ${{ env.COMMIT_DATE }} 180 | - ${{ env.COMMIT_MESSAGE }} 181 | - ${{ env.COMMIT_HASH }} 182 | -------------------------------------------------------------------------------- /.github/workflows/X86_64-OpenWrt.yml: -------------------------------------------------------------------------------- 1 | name: X86_64 OpenWrt 2 | 3 | on: 4 | workflow_dispatch: 5 | schedule: 6 | - cron: 0 19 * * * 7 | 8 | env: 9 | REPO_URL: https://github.com/coolsnowwolf/lede 10 | REPO_BRANCH: master 11 | CONFIG_FILE: configs/x86_64.config 12 | DIY_SCRIPT: diy-script.sh 13 | CLASH_KERNEL: amd64 14 | CACHE_TOOLCHAIN: true 15 | UPLOAD_BIN_DIR: false 16 | FIRMWARE_RELEASE: true 17 | FIRMWARE_TAG: X86_64 18 | TZ: Asia/Shanghai 19 | 20 | jobs: 21 | Build: 22 | runs-on: ubuntu-22.04 23 | 24 | steps: 25 | - name: Check Server Performance 26 | run: | 27 | echo "警告⚠" 28 | echo "分配的服务器性能有限,若选择的插件过多,务必注意CPU性能!" 29 | echo -e "已知CPU型号(降序): 7763,8370C,8272CL,8171M,E5-2673\n" 30 | echo "--------------------------CPU信息--------------------------" 31 | echo "CPU物理数量: $(cat /proc/cpuinfo | grep "physical id" | sort | uniq | wc -l)" 32 | echo "CPU核心数量: $(nproc)" 33 | echo -e "CPU型号信息:$(cat /proc/cpuinfo | grep -m1 name | awk -F: '{print $2}')\n" 34 | echo "--------------------------内存信息--------------------------" 35 | echo "已安装内存详细信息:" 36 | echo -e "$(sudo lshw -short -C memory | grep GiB)\n" 37 | echo "--------------------------硬盘信息--------------------------" 38 | echo "硬盘数量: $(ls /dev/sd* | grep -v [1-9] | wc -l)" && df -hT 39 | 40 | - name: Initialization Environment 41 | env: 42 | DEBIAN_FRONTEND: noninteractive 43 | run: | 44 | docker rmi $(docker images -q) 45 | sudo rm -rf /usr/share/dotnet /etc/apt/sources.list.d /usr/local/lib/android $AGENT_TOOLSDIRECTORY 46 | sudo -E apt-get -y purge azure-cli ghc* zulu* llvm* firefox google* dotnet* powershell openjdk* mongodb* moby* || true 47 | sudo -E apt-get -y update 48 | sudo -E apt-get -y install $(curl -fsSL is.gd/depends_ubuntu_2204) 49 | sudo -E systemctl daemon-reload 50 | sudo -E apt-get -y autoremove --purge 51 | sudo -E apt-get -y clean 52 | sudo timedatectl set-timezone "$TZ" 53 | 54 | - name: Combine Disks 55 | uses: easimon/maximize-build-space@master 56 | with: 57 | swap-size-mb: 1024 58 | temp-reserve-mb: 100 59 | root-reserve-mb: 1024 60 | 61 | - name: Checkout 62 | uses: actions/checkout@main 63 | 64 | - name: Clone Source Code 65 | run: | 66 | df -hT $GITHUB_WORKSPACE 67 | git clone $REPO_URL -b $REPO_BRANCH openwrt 68 | cd openwrt 69 | echo "OPENWRT_PATH=$PWD" >> $GITHUB_ENV 70 | COMMIT_AUTHOR=$(git show -s --date=short --format="作者: %an") 71 | echo "COMMIT_AUTHOR=$COMMIT_AUTHOR" >> $GITHUB_ENV 72 | COMMIT_DATE=$(git show -s --date=short --format="时间: %ci") 73 | echo "COMMIT_DATE=$COMMIT_DATE" >> $GITHUB_ENV 74 | COMMIT_MESSAGE=$(git show -s --date=short --format="内容: %s") 75 | echo "COMMIT_MESSAGE=$COMMIT_MESSAGE" >> $GITHUB_ENV 76 | COMMIT_HASH=$(git show -s --date=short --format="hash: %H") 77 | echo "COMMIT_HASH=$COMMIT_HASH" >> $GITHUB_ENV 78 | 79 | - name: Generate Variables 80 | run: | 81 | cp $CONFIG_FILE $OPENWRT_PATH/.config 82 | cd $OPENWRT_PATH 83 | make defconfig > /dev/null 2>&1 84 | SOURCE_REPO="$(echo $REPO_URL | awk -F '/' '{print $(NF)}')" 85 | echo "SOURCE_REPO=$SOURCE_REPO" >> $GITHUB_ENV 86 | DEVICE_TARGET=$(cat .config | grep CONFIG_TARGET_BOARD | awk -F '"' '{print $2}') 87 | echo "DEVICE_TARGET=$DEVICE_TARGET" >> $GITHUB_ENV 88 | DEVICE_SUBTARGET=$(cat .config | grep CONFIG_TARGET_SUBTARGET | awk -F '"' '{print $2}') 89 | echo "DEVICE_SUBTARGET=$DEVICE_SUBTARGET" >> $GITHUB_ENV 90 | 91 | - name: Cache Toolchain 92 | if: env.CACHE_TOOLCHAIN == 'true' 93 | uses: HiGarfield/cachewrtbuild@main 94 | with: 95 | ccache: false 96 | mixkey: ${{ env.SOURCE_REPO }}-${{ env.REPO_BRANCH }}-${{ env.DEVICE_TARGET }}-${{ env.DEVICE_SUBTARGET }} 97 | prefix: ${{ env.OPENWRT_PATH }} 98 | 99 | - name: Install Feeds 100 | run: | 101 | cd $OPENWRT_PATH 102 | ./scripts/feeds update -a 103 | ./scripts/feeds install -a 104 | 105 | - name: Load Custom Configuration 106 | run: | 107 | [ -e files ] && mv files $OPENWRT_PATH/files 108 | [ -e $CONFIG_FILE ] && mv $CONFIG_FILE $OPENWRT_PATH/.config 109 | chmod +x $GITHUB_WORKSPACE/scripts/*.sh 110 | chmod +x $DIY_SCRIPT 111 | cd $OPENWRT_PATH 112 | $GITHUB_WORKSPACE/$DIY_SCRIPT 113 | $GITHUB_WORKSPACE/scripts/preset-clash-core.sh $CLASH_KERNEL 114 | $GITHUB_WORKSPACE/scripts/preset-terminal-tools.sh 115 | $GITHUB_WORKSPACE/scripts/preset-adguard-core.sh $CLASH_KERNEL 116 | 117 | - name: Download DL Package 118 | run: | 119 | cd $OPENWRT_PATH 120 | make defconfig 121 | make download -j8 122 | find dl -size -1024c -exec ls -l {} \; 123 | find dl -size -1024c -exec rm -f {} \; 124 | 125 | - name: Compile Firmware 126 | id: compile 127 | run: | 128 | cd $OPENWRT_PATH 129 | mkdir -p files/etc/uci-defaults 130 | cp $GITHUB_WORKSPACE/scripts/init-settings.sh files/etc/uci-defaults/99-init-settings 131 | echo -e "$(nproc) thread compile" 132 | make -j$(nproc) || make -j1 || make -j1 V=s 133 | echo "status=success" >> $GITHUB_OUTPUT 134 | echo "DATE=$(date +"%Y-%m-%d %H:%M:%S")" >> $GITHUB_ENV 135 | echo "FILE_DATE=$(date +"%Y.%m.%d")" >> $GITHUB_ENV 136 | 137 | - name: Check Space Usage 138 | if: (!cancelled()) 139 | run: df -hT 140 | 141 | - name: Upload Bin Directory 142 | if: steps.compile.outputs.status == 'success' && env.UPLOAD_BIN_DIR == 'true' 143 | uses: actions/upload-artifact@main 144 | with: 145 | name: ${{ env.SOURCE_REPO }}-bin-${{ env.DEVICE_TARGET }}-${{ env.DEVICE_SUBTARGET }}-${{ env.FILE_DATE }} 146 | path: ${{ env.OPENWRT_PATH }}/bin 147 | 148 | - name: Organize Files 149 | if: steps.compile.outputs.status == 'success' 150 | run: | 151 | cd $OPENWRT_PATH/bin/targets/*/* 152 | cat sha256sums 153 | cp $OPENWRT_PATH/.config build.config 154 | mv -f $OPENWRT_PATH/bin/packages/*/*/*.ipk packages 155 | tar -zcf Packages.tar.gz packages 156 | rm -rf packages feeds.buildinfo version.buildinfo 157 | echo "KERNEL=$(cat *.manifest | grep ^kernel | cut -d- -f2 | tr -d ' ')" >> $GITHUB_ENV 158 | echo "FIRMWARE_PATH=$PWD" >> $GITHUB_ENV 159 | 160 | - name: Upload Firmware To Artifact 161 | if: steps.compile.outputs.status == 'success' && env.FIRMWARE_RELEASE != 'true' 162 | uses: actions/upload-artifact@main 163 | with: 164 | name: ${{ env.SOURCE_REPO }}-firmware-${{ env.DEVICE_TARGET }}-${{ env.DEVICE_SUBTARGET }}-${{ env.FILE_DATE }} 165 | path: ${{ env.FIRMWARE_PATH }} 166 | 167 | - name: Upload Firmware To Release 168 | if: steps.compile.outputs.status == 'success' && env.FIRMWARE_RELEASE == 'true' 169 | uses: ncipollo/release-action@v1 170 | with: 171 | name: R${{ env.DATE }} for ${{ env.FIRMWARE_TAG }} 172 | allowUpdates: true 173 | tag: ${{ env.FIRMWARE_TAG }} 174 | token: ${{ secrets.GITHUB_TOKEN }} 175 | artifacts: ${{ env.FIRMWARE_PATH }}/* 176 | body: | 177 | **This is OpenWrt Firmware for ${{ env.FIRMWARE_TAG }}** 178 | ### 📒 固件信息 179 | - 💻 平台架构: ${{ env.DEVICE_TARGET }}-${{ env.DEVICE_SUBTARGET }} 180 | - ⚽ 固件源码: ${{ env.REPO_URL }} 181 | - 💝 源码分支: ${{ env.REPO_BRANCH }} 182 | - 🚀 内核版本: ${{ env.KERNEL }} 183 | - 🌐 默认地址: 192.168.1.1 184 | - 🔑 默认密码: password 185 | ### 🧊 固件版本 186 | - 固件编译前最后一次➦[主源码](${{ env.REPO_URL }})更新记录 187 | - ${{ env.COMMIT_AUTHOR }} 188 | - ${{ env.COMMIT_DATE }} 189 | - ${{ env.COMMIT_MESSAGE }} 190 | - ${{ env.COMMIT_HASH }} 191 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2019-2020 P3TERX 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 |
2 | 3 |

OpenWrt — 多设备固件云编译

4 | 5 | 6 | 7 | 8 | 9 | 10 | [![](https://img.shields.io/badge/-目录:-696969.svg)](#readme) [![](https://img.shields.io/badge/-项目说明-FFFFFF.svg)](#项目说明-) [![](https://img.shields.io/badge/-固件特色-FFFFFF.svg)](#固件特色-) [![](https://img.shields.io/badge/-固件下载-FFFFFF.svg)](#固件下载-) [![](https://img.shields.io/badge/-近期更新-FFFFFF.svg)](#近期更新-) [![](https://img.shields.io/badge/-插件预览-FFFFFF.svg)](#插件预览-) [![](https://img.shields.io/badge/-定制固件-FFFFFF.svg)](#定制固件-) [![](https://img.shields.io/badge/-特别提示-FFFFFF.svg)](#特别提示-) [![](https://img.shields.io/badge/-鸣谢-FFFFFF.svg)](#鸣谢-) 11 |
12 | 13 | 14 | ## 项目说明 [![](https://img.shields.io/badge/-项目基本介绍-FFFFFF.svg)](#项目说明-) 15 | - 固件构成:[![Lean](https://img.shields.io/badge/Lede-Lean-ff69b4.svg?style=flat&logo=appveyor)](https://github.com/coolsnowwolf/lede) [![P3TERX](https://img.shields.io/badge/OpenWrt-P3TERX-blueviolet.svg?style=flat&logo=appveyor)](https://github.com/P3TERX/Actions-OpenWrt) [![Flippy](https://img.shields.io/badge/Package-Flippy-orange.svg?style=flat&logo=appveyor)](https://github.com/unifreq/openwrt_packit) [![Haiibo](https://img.shields.io/badge/Build-Haiibo-32C955.svg?style=flat&logo=appveyor)](https://github.com/haiibo/OpenWrt) 16 | - 项目使用 Github Actions 拉取 [Lean](https://github.com/coolsnowwolf/lede) 的 Openwrt 源码仓库进行云编译 17 | - 固件默认管理地址:`192.168.1.1` 默认用户:`root` 默认密码:`password` 18 | - 提供适配于 ARMv8 电视盒子、Rockchip 平台、树莓派以及 X86 平台设备的 OpenWrt 固件 19 | - ARMv8 盒子固件分为 [Mini版](https://github.com/haiibo/OpenWrt/releases/tag/ARMv8_MINI) 和 [Plus版](https://github.com/haiibo/OpenWrt/releases/tag/ARMv8_PLUS),Mini 精简版以科学上网为主,Plus 多功能版插件多适合折腾 20 | - ARMv8 系列固件包含 [F大](https://github.com/unifreq/openwrt_packit) 发布的所有已适配的盒子固件,并提供 Docker 镜像固件[➦使用方法](https://hub.docker.com/r/summary/openwrt-aarch64) 21 | - 固件集成的所有 ipk 插件全部打包在 Packages 文件中,可以在 [Releases](https://github.com/haiibo/OpenWrt/releases) 内进行下载 22 | - 项目编译的固件插件为最新版本,最新版插件可能有 BUG,如果之前使用稳定则无需追新 23 | - 第一次使用请采用全新安装,避免出现升级失败以及其他一些可能的 BUG 24 | 25 | 26 | ## 固件特色 [![](https://img.shields.io/badge/-本项目固件特色-FFFFFF.svg)](#固件特色-) 27 | 1. 固件每天定时自动编译,以确保获得最新体验 28 | 2. 集成部分常用有线、无线、3G / 4G 网卡驱动 29 | 3. 集成中文版 netdata 实时监控插件,小白也能轻松看懂系统概况 30 | 4. 集成 iStore 应用商店,可根据自己需求自由安装所需插件 31 | 5. 集成 Docker 服务,可在 OpenWrt 内自由部署 Docker 应用 32 | 6. 集成应用过滤插件,支持游戏、视频、聊天、下载等 APP 过滤 33 | 7. 集成在线用户插件,可查看所有在线用户 IP 地址与实时速率等 34 | 8. ARMv8 系列固件内置晶晨宝盒,支持在线更新固件及内核等 35 | 36 | 37 | ## 固件下载 [![](https://img.shields.io/badge/-编译状态及下载链接-FFFFFF.svg)](#固件下载-) 38 | 点击下表中 [![](https://img.shields.io/badge/下载-链接-blueviolet.svg?style=flat&logo=hack-the-box)](https://github.com/haiibo/OpenWrt/releases) 即可跳转到该设备固件下载页面 39 | | 平台+设备名称 | 固件编译状态 | 配置文件 | 固件下载 | 40 | | :-------------: | :-------------: | :-------------: | :-------------: | 41 | | [![](https://img.shields.io/badge/OpenWrt-X86_64位-32C955.svg?logo=openwrt)](https://github.com/haiibo/OpenWrt/blob/main/.github/workflows/X86_64-OpenWrt.yml) | [![](https://github.com/haiibo/OpenWrt/actions/workflows/X86_64-OpenWrt.yml/badge.svg)](https://github.com/haiibo/OpenWrt/actions/workflows/X86_64-OpenWrt.yml) | [![](https://img.shields.io/badge/编译-配置-orange.svg?logo=apache-spark)](https://github.com/haiibo/OpenWrt/blob/main/configs/x86_64.config) | [![](https://img.shields.io/badge/下载-链接-blueviolet.svg?logo=hack-the-box)](https://github.com/haiibo/OpenWrt/releases/tag/X86_64) | 42 | | [![](https://img.shields.io/badge/OpenWrt-ARMv8_Mini-32C955.svg?logo=openwrt)](https://github.com/haiibo/OpenWrt/blob/main/.github/workflows/ARMv8-Mini-OpenWrt.yml) | [![](https://github.com/haiibo/OpenWrt/actions/workflows/ARMv8-Mini-OpenWrt.yml/badge.svg)](https://github.com/haiibo/OpenWrt/actions/workflows/ARMv8-Mini-OpenWrt.yml) | [![](https://img.shields.io/badge/编译-配置-orange.svg?logo=apache-spark)](https://github.com/haiibo/OpenWrt/blob/main/configs/armv8-mini.config) | [![](https://img.shields.io/badge/下载-链接-blueviolet.svg?logo=hack-the-box)](https://github.com/haiibo/OpenWrt/releases/tag/ARMv8_MINI) | 43 | | [![](https://img.shields.io/badge/OpenWrt-ARMv8_Plus-32C955.svg?logo=openwrt)](https://github.com/haiibo/OpenWrt/blob/main/.github/workflows/ARMv8-Plus-OpenWrt.yml) | [![](https://github.com/haiibo/OpenWrt/actions/workflows/ARMv8-Plus-OpenWrt.yml/badge.svg)](https://github.com/haiibo/OpenWrt/actions/workflows/ARMv8-Plus-OpenWrt.yml) | [![](https://img.shields.io/badge/编译-配置-orange.svg?logo=apache-spark)](https://github.com/haiibo/OpenWrt/blob/main/configs/armv8-plus.config) | [![](https://img.shields.io/badge/下载-链接-blueviolet.svg?logo=hack-the-box)](https://github.com/haiibo/OpenWrt/releases/tag/ARMv8_PLUS) | 44 | | [![](https://img.shields.io/badge/OpenWrt-Rockchip_平台-32C955.svg?logo=openwrt)](https://github.com/haiibo/OpenWrt/blob/main/.github/workflows/Rockchip-OpenWrt.yml) | [![](https://github.com/haiibo/OpenWrt/actions/workflows/Rockchip-OpenWrt.yml/badge.svg)](https://github.com/haiibo/OpenWrt/actions/workflows/Rockchip-OpenWrt.yml) | [![](https://img.shields.io/badge/编译-配置-orange.svg?logo=apache-spark)](https://github.com/haiibo/OpenWrt/blob/main/configs/rockchip.config) | [![](https://img.shields.io/badge/下载-链接-blueviolet.svg?logo=hack-the-box)](https://github.com/haiibo/OpenWrt/releases/tag/Rockchip) | 45 | | [![](https://img.shields.io/badge/OpenWrt-树莓派_4B-32C955.svg?logo=openwrt)](https://github.com/haiibo/OpenWrt/blob/main/.github/workflows/RaspberryPi4-OpenWrt.yml) | [![](https://github.com/haiibo/OpenWrt/actions/workflows/RaspberryPi4-OpenWrt.yml/badge.svg)](https://github.com/haiibo/OpenWrt/actions/workflows/RaspberryPi4-OpenWrt.yml) | [![](https://img.shields.io/badge/编译-配置-orange.svg?logo=apache-spark)](https://github.com/haiibo/OpenWrt/blob/main/configs/rpi4.config) | [![](https://img.shields.io/badge/下载-链接-blueviolet.svg?logo=hack-the-box)](https://github.com/haiibo/OpenWrt/releases/tag/RaspberryPi4) | 46 | | [![](https://img.shields.io/badge/OpenWrt-树莓派_3B/3B+-32C955.svg?logo=openwrt)](https://github.com/haiibo/OpenWrt/blob/main/.github/workflows/RaspberryPi3-OpenWrt.yml) | [![](https://github.com/haiibo/OpenWrt/actions/workflows/RaspberryPi3-OpenWrt.yml/badge.svg)](https://github.com/haiibo/OpenWrt/actions/workflows/RaspberryPi3-OpenWrt.yml) | [![](https://img.shields.io/badge/编译-配置-orange.svg?logo=apache-spark)](https://github.com/haiibo/OpenWrt/blob/main/configs/rpi3.config) | [![](https://img.shields.io/badge/下载-链接-blueviolet.svg?logo=hack-the-box)](https://github.com/haiibo/OpenWrt/releases/tag/RaspberryPi3) | 47 | 48 | 49 | ## 近期更新 [![](https://img.shields.io/badge/-近期固件更新-FFFFFF.svg)](#近期更新-) 50 | 🤣努力修复中…… 51 | 52 | 53 | ## 插件预览 [![](https://img.shields.io/badge/-固件插件及功能预览-FFFFFF.svg)](#插件预览-) 54 |
55 |  ARMv8 盒子 Mini 精简版本插件预览 56 |
57 | 58 |
59 | 60 |
61 |  ARMv8 盒子 Plus 多功能版插件预览 62 |
63 | 64 |
65 | 66 |
67 |  X86、R2S、R4S 等软路由插件预览 68 |
69 |
70 | ├── 状态 71 |  ├── 概况
72 |  ├── 防火墙
73 |  ├── 路由表
74 |  ├── 系统日志
75 |  ├── 内核日志
76 |  ├── 系统进程
77 |  ├── 实时信息
78 |  ├── 实时监控
79 |  ├── 在线用户
80 |  ├── WireGuard 状态
81 |  ├── 负载均衡
82 |  └── 释放内存 83 |
84 |
85 | ├── 系统 86 |  ├── 系统
87 |  ├── 管理权
88 |  ├── TTYD 终端
89 |  ├── 软件包
90 |  ├── 启动项
91 |  ├── 计划任务
92 |  ├── 挂载点
93 |  ├── 磁盘管理
94 |  ├── 备份/升级
95 |  ├── 自定义命令
96 |  ├── 定时重启
97 |  ├── 文件传输
98 |  ├── Argon 主题设置
99 |  ├── 重启
100 |  └── 关机 101 |
102 |
103 | ├── 服务 104 |  ├── PassWall
105 |  ├── PassWall2
106 |  ├── Hello World
107 |  ├── iKoolProxy 滤广告
108 |  ├── V2ray 服务器
109 |  ├── 广告屏蔽大师 Plus+
110 |  ├── ShadowSocksR Plus+
111 |  ├── AdGuard Home
112 |  ├── 应用过滤
113 |  ├── MosDNS
114 |  ├── 全能推送
115 |  ├── 微信推送
116 |  ├── 上网时间控制
117 |  ├── 解锁网易云灰色歌曲
118 |  ├── OpenClash
119 |  ├── 动态 DNS
120 |  ├── MultiSD_Lite
121 |  ├── SmartDNS
122 |  ├── 网络唤醒
123 |  ├── 迅雷快鸟
124 |  ├── Frps
125 |  ├── UU游戏加速器
126 |  ├── UPnP
127 |  ├── KMS 服务器
128 |  ├── AirPlay 2 音频接收
129 |  ├── udpxy
130 |  ├── Nps 内网穿透
131 |  ├── uHTTPd
132 |  ├── Frp 内网穿透
133 |  └── MWAN3 分流助手 134 |
135 |
136 | ├── Docker 137 |  ├── 概览
138 |  ├── 容器
139 |  ├── 镜像
140 |  ├── 网络
141 |  ├── 存储卷
142 |  ├── 事件
143 |  └── 设置 144 |
145 |
146 | ├── 网络存储 147 |  ├── 文件浏览器
148 |  ├── 可道云
149 |  ├── NFS 管理
150 |  ├── 微力同步
151 |  ├── Alist 文件列表
152 |  ├── qBittorrent
153 |  ├── USB 打印服务器
154 |  ├── 硬盘休眠
155 |  ├── 挂载 SMB 网络共享
156 |  ├── 网络共享
157 |  ├── FTP 服务器
158 |  ├── Rclone
159 |  ├── Aria2 配置
160 |  ├── miniDLNA
161 |  └── Transmission 162 |
163 |
164 | ├── VPN 165 |  ├── N2N v2 VPN
166 |  ├── SoftEther VPN 服务器
167 |  ├── OpenVPN 服务器
168 |  ├── PPTP VPN 服务器
169 |  ├── IPSec VPN 服务器
170 |  └── ZeroTier 171 |
172 |
173 | ├── 网络 174 |  ├── 接口
175 |  ├── DHCP/DNS
176 |  ├── 主机名
177 |  ├── IP/MAC 绑定
178 |  ├── 静态路由
179 |  ├── 防火墙
180 |  ├── 诊断
181 |  ├── Socat
182 |  ├── SQM QoS
183 |  ├── 网速控制
184 |  ├── 多线多拨
185 |  ├── 负载均衡
186 |  └── Turbo ACC 网络加速 187 |
188 |
189 | ├── 带宽监控 190 |  ├── 显示
191 |  ├── 配置
192 |  ├── 备份
193 |  ├── 网速监控
194 |  └── 实时流量监测 195 |
196 |  └── 退出 197 |
198 | 199 | 200 | ## 定制固件 [![](https://img.shields.io/badge/-项目基本编译教程-FFFFFF.svg)](#定制固件-) 201 | 1. 首先要登录 Gihub 账号,然后 Fork 此项目到你自己的 Github 仓库 202 | 2. 修改 `configs` 目录对应文件添加或删除插件,或者上传自己的 `xx.config` 配置文件 203 | 3. 插件对应名称及功能请参考恩山网友帖子:[Applications 添加插件应用说明](https://www.right.com.cn/forum/thread-3682029-1-1.html) 204 | 4. 如需修改默认 IP、添加或删除插件包以及一些其他设置请在 `diy-script.sh` 文件内修改 205 | 5. 添加或修改 `xx.yml` 文件,最后点击 `Actions` 运行要编译的 `workflow` 即可开始编译 206 | 6. 编译大概需要3-5小时,编译完成后在仓库主页 [Releases](https://github.com/haiibo/OpenWrt/releases) 对应 Tag 标签内下载固件 207 |
208 |  如果你觉得修改 config 文件麻烦,那么你可以点击此处尝试本地提取 209 | 210 | 1. 首先装好 Linux 系统,推荐 Debian 11 或 Ubuntu LTS 211 | 212 | 2. 安装编译依赖环境 213 | 214 | ```bash 215 | sudo apt update -y 216 | sudo apt full-upgrade -y 217 | sudo apt install -y ack antlr3 asciidoc autoconf automake autopoint binutils bison build-essential \ 218 | bzip2 ccache cmake cpio curl device-tree-compiler fastjar flex gawk gettext gcc-multilib g++-multilib \ 219 | git gperf haveged help2man intltool libc6-dev-i386 libelf-dev libglib2.0-dev libgmp3-dev libltdl-dev \ 220 | libmpc-dev libmpfr-dev libncurses5-dev libncursesw5-dev libreadline-dev libssl-dev libtool lrzsz \ 221 | mkisofs msmtp nano ninja-build p7zip p7zip-full patch pkgconf python2.7 python3 python3-pyelftools \ 222 | libpython3-dev qemu-utils rsync scons squashfs-tools subversion swig texinfo uglifyjs upx-ucl unzip \ 223 | vim wget xmlto xxd zlib1g-dev 224 | ``` 225 | 226 | 3. 下载源代码,更新 feeds 并安装到本地 227 | 228 | ```bash 229 | git clone https://github.com/coolsnowwolf/lede 230 | cd lede 231 | ./scripts/feeds update -a 232 | ./scripts/feeds install -a 233 | ``` 234 | 235 | 4. 复制 diy-script.sh 文件内所有内容到命令行,添加自定义插件和自定义设置 236 | 237 | 5. 命令行输入 `make menuconfig` 选择配置,选好配置后导出差异部分到 seed.config 文件 238 | 239 | ```bash 240 | make defconfig 241 | ./scripts/diffconfig.sh > seed.config 242 | ``` 243 | 244 | 7. 命令行输入 `cat seed.config` 查看这个文件,也可以用文本编辑器打开 245 | 246 | 8. 复制 seed.config 文件内所有内容到 configs 目录对应文件中覆盖就可以了 247 | 248 | **如果看不懂编译界面可以参考 YouTube 视频:[软路由固件 OpenWrt 编译界面设置](https://www.youtube.com/watch?v=jEE_J6-4E3Y&list=WL&index=7)** 249 |
250 | 251 | 252 | ## 特别提示 [![](https://img.shields.io/badge/-个人免责声明-FFFFFF.svg)](#特别提示-) 253 | 254 | - **因精力有限不提供任何技术支持和教程等相关问题解答,不保证完全无 BUG!** 255 | 256 | - **本人不对任何人因使用本固件所遭受的任何理论或实际的损失承担责任!** 257 | 258 | - **本固件禁止用于任何商业用途,请务必严格遵守国家互联网使用相关法律规定!** 259 | 260 | 261 | ## 鸣谢 [![](https://img.shields.io/badge/-跪谢各大佬-FFFFFF.svg)](#鸣谢-) 262 | | [ImmortalWrt](https://github.com/immortalwrt) | [coolsnowwolf](https://github.com/coolsnowwolf) | [P3TERX](https://github.com/P3TERX) | [Flippy](https://github.com/unifreq) | 263 | | :-------------: | :-------------: | :-------------: | :-------------: | 264 | | | | | | 265 | | [Ophub](https://github.com/ophub) | [SuLingGG](https://github.com/SuLingGG) | [QiuSimons](https://github.com/QiuSimons) | [IvanSolis1989](https://github.com/IvanSolis1989) | 266 | | | | | | 267 | 268 | 269 | 270 | 271 | 272 | -------------------------------------------------------------------------------- /configs/armv8-docker-mini.config: -------------------------------------------------------------------------------- 1 | # Target Config 2 | CONFIG_TARGET_armvirt=y 3 | CONFIG_TARGET_armvirt_64=y 4 | CONFIG_TARGET_armvirt_64_DEVICE_generic=y 5 | 6 | # Firmware Type 7 | # CONFIG_TARGET_IMAGES_GZIP is not set 8 | # CONFIG_TARGET_ROOTFS_CPIOGZ is not set 9 | # CONFIG_TARGET_ROOTFS_EXT4FS is not set 10 | # CONFIG_TARGET_ROOTFS_INITRAMFS is not set 11 | # CONFIG_TARGET_ROOTFS_SQUASHFS is not set 12 | 13 | # Basic Dependence 14 | CONFIG_PACKAGE_perl=y 15 | CONFIG_PACKAGE_perl-http-date=y 16 | CONFIG_PACKAGE_perlbase-file=y 17 | CONFIG_PACKAGE_perlbase-getopt=y 18 | CONFIG_PACKAGE_perlbase-time=y 19 | CONFIG_PACKAGE_perlbase-unicode=y 20 | CONFIG_PACKAGE_perlbase-utf8=y 21 | CONFIG_PACKAGE_attr=y 22 | CONFIG_PACKAGE_bash=y 23 | CONFIG_PACKAGE_tar=y 24 | CONFIG_PACKAGE_coreutils=y 25 | CONFIG_PACKAGE_coreutils-nohup=y 26 | CONFIG_PACKAGE_coreutils-base64=y 27 | CONFIG_PACKAGE_jq=y 28 | CONFIG_PACKAGE_htop=y 29 | CONFIG_PACKAGE_ddns-scripts_cloudflare.com-v4=y 30 | CONFIG_PACKAGE_openssh-sftp-server=y 31 | 32 | # Applications 33 | # CONFIG_PACKAGE_luci-app-accesscontrol is not set 34 | # CONFIG_PACKAGE_luci-app-adbyby-plus is not set 35 | CONFIG_PACKAGE_luci-app-adguardhome=y 36 | CONFIG_PACKAGE_luci-app-argon-config=y 37 | CONFIG_PACKAGE_luci-app-arpbind=y 38 | CONFIG_PACKAGE_luci-app-autoreboot=y 39 | CONFIG_PACKAGE_luci-app-ddns=y 40 | # CONFIG_PACKAGE_luci-app-diskman is not set 41 | CONFIG_PACKAGE_luci-app-filetransfer=y 42 | CONFIG_PACKAGE_luci-app-firewall=y 43 | CONFIG_PACKAGE_luci-app-mosdns=y 44 | # CONFIG_PACKAGE_luci-app-nlbwmon is not set 45 | # CONFIG_PACKAGE_luci-app-onliner is not set 46 | CONFIG_PACKAGE_luci-app-openclash=y 47 | CONFIG_PACKAGE_luci-app-passwall=y 48 | CONFIG_PACKAGE_luci-app-passwall_Iptables_Transparent_Proxy=y 49 | # CONFIG_PACKAGE_luci-app-passwall2 is not set 50 | # CONFIG_PACKAGE_luci-app-ramfree is not set 51 | # CONFIG_PACKAGE_luci-app-rclone_INCLUDE_rclone-ng is not set 52 | # CONFIG_PACKAGE_luci-app-rclone_INCLUDE_rclone-webui is not set 53 | # CONFIG_PACKAGE_luci-app-samba is not set 54 | # CONFIG_PACKAGE_luci-app-samba4 is not set 55 | CONFIG_PACKAGE_luci-app-ssr-plus=y 56 | CONFIG_PACKAGE_luci-app-ssr-plus_INCLUDE_IPT2Socks=y 57 | CONFIG_PACKAGE_luci-app-ssr-plus_INCLUDE_Kcptun=y 58 | CONFIG_PACKAGE_luci-app-ssr-plus_INCLUDE_NaiveProxy=y 59 | CONFIG_PACKAGE_luci-app-ssr-plus_INCLUDE_Redsocks2=y 60 | CONFIG_PACKAGE_luci-app-ssr-plus_INCLUDE_ShadowsocksR_Libev_Server=y 61 | CONFIG_PACKAGE_luci-app-ssr-plus_INCLUDE_Trojan=y 62 | # CONFIG_PACKAGE_luci-app-ttyd is not set 63 | CONFIG_PACKAGE_luci-app-turboacc=y 64 | CONFIG_PACKAGE_luci-app-turboacc_INCLUDE_OFFLOADING=y 65 | # CONFIG_PACKAGE_luci-app-turboacc_INCLUDE_DNSFORWARDER is not set 66 | # CONFIG_PACKAGE_luci-app-turboacc_INCLUDE_DNSPROXY is not set 67 | # CONFIG_PACKAGE_luci-app-unblockmusic is not set 68 | # CONFIG_PACKAGE_luci-app-unblockmusic_INCLUDE_UnblockNeteaseMusic_Go is not set 69 | CONFIG_PACKAGE_luci-app-upnp=y 70 | # CONFIG_PACKAGE_luci-app-vlmcsd is not set 71 | # CONFIG_PACKAGE_luci-app-vsftpd is not set 72 | # CONFIG_PACKAGE_luci-app-vssr is not set 73 | # CONFIG_PACKAGE_luci-app-vssr_INCLUDE_Xray is not set 74 | # CONFIG_PACKAGE_luci-app-vssr_INCLUDE_Trojan is not set 75 | # CONFIG_PACKAGE_luci-app-vssr_INCLUDE_Kcptun is not set 76 | # CONFIG_PACKAGE_luci-app-vssr_INCLUDE_Xray_plugin is not set 77 | # CONFIG_PACKAGE_luci-app-vssr_INCLUDE_ShadowsocksR_Libev_Server is not set 78 | # CONFIG_PACKAGE_luci-app-vssr_INCLUDE_Hysteria is not set 79 | # CONFIG_PACKAGE_luci-app-wol is not set 80 | # CONFIG_PACKAGE_luci-app-wrtbwmon is not set 81 | # CONFIG_PACKAGE_luci-app-zerotier is not set 82 | 83 | # Themes 84 | CONFIG_PACKAGE_luci-theme-argon=y 85 | CONFIG_PACKAGE_luci-theme-design=y 86 | -------------------------------------------------------------------------------- /configs/armv8-docker.config: -------------------------------------------------------------------------------- 1 | CONFIG_TARGET_armvirt=y 2 | CONFIG_TARGET_armvirt_64=y 3 | CONFIG_TARGET_armvirt_64_DEVICE_generic=y 4 | CONFIG_DEVEL=y 5 | CONFIG_AFALG_FALLBACK=y 6 | CONFIG_AFALG_UPDATE_CTR_IV=y 7 | CONFIG_BIND_ENABLE_DOH=y 8 | CONFIG_BUILD_PATENTED=y 9 | CONFIG_COREMARK_NUMBER_OF_THREADS=16 10 | CONFIG_GNUTLS_ALPN=y 11 | CONFIG_GNUTLS_ANON=y 12 | CONFIG_GNUTLS_DTLS_SRTP=y 13 | CONFIG_GNUTLS_HEARTBEAT=y 14 | CONFIG_GNUTLS_OCSP=y 15 | CONFIG_GNUTLS_PSK=y 16 | CONFIG_IPTABLES_CONNLABEL=y 17 | CONFIG_IPTABLES_NFTABLES=y 18 | # CONFIG_JSON_OVERVIEW_IMAGE_INFO is not set 19 | # CONFIG_KERNEL_AIO is not set 20 | CONFIG_KERNEL_ARM_PMU=y 21 | CONFIG_KERNEL_CFQ_GROUP_IOSCHED=y 22 | CONFIG_KERNEL_CGROUP_DEVICE=y 23 | CONFIG_KERNEL_CGROUP_FREEZER=y 24 | CONFIG_KERNEL_CGROUP_NET_PRIO=y 25 | CONFIG_KERNEL_CGROUP_PERF=y 26 | CONFIG_KERNEL_EXT4_FS_POSIX_ACL=y 27 | # CONFIG_KERNEL_FANOTIFY is not set 28 | # CONFIG_KERNEL_FHANDLE is not set 29 | CONFIG_KERNEL_FS_POSIX_ACL=y 30 | CONFIG_KERNEL_MEMCG_SWAP_ENABLED=y 31 | CONFIG_KERNEL_NET_CLS_CGROUP=y 32 | CONFIG_KERNEL_PERF_EVENTS=y 33 | # CONFIG_LIBCURL_NGHTTP2 is not set 34 | # CONFIG_LIBCURL_UNIX_SOCKETS is not set 35 | CONFIG_MBEDTLS_AES_C=y 36 | CONFIG_MBEDTLS_CMAC_C=y 37 | CONFIG_MBEDTLS_DES_C=y 38 | CONFIG_MBEDTLS_ECP_DP_CURVE25519_ENABLED=y 39 | CONFIG_MBEDTLS_ECP_DP_SECP256K1_ENABLED=y 40 | CONFIG_MBEDTLS_ECP_DP_SECP256R1_ENABLED=y 41 | CONFIG_MBEDTLS_ECP_DP_SECP384R1_ENABLED=y 42 | CONFIG_MBEDTLS_ENTROPY_FORCE_SHA256=y 43 | CONFIG_MBEDTLS_GCM_C=y 44 | CONFIG_MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA_ENABLED=y 45 | CONFIG_MBEDTLS_KEY_EXCHANGE_ECDHE_PSK_ENABLED=y 46 | CONFIG_MBEDTLS_KEY_EXCHANGE_ECDHE_RSA_ENABLED=y 47 | CONFIG_MBEDTLS_KEY_EXCHANGE_PSK_ENABLED=y 48 | CONFIG_MBEDTLS_NIST_KW_C=y 49 | CONFIG_MBEDTLS_RSA_NO_CRT=y 50 | CONFIG_OPENSSH_LIBFIDO2=y 51 | # CONFIG_OPENSSL_ENGINE_BUILTIN_DEVCRYPTO is not set 52 | CONFIG_OPENSSL_WITH_ARIA=y 53 | CONFIG_OPENSSL_WITH_BLAKE2=y 54 | CONFIG_OPENSSL_WITH_CAMELLIA=y 55 | CONFIG_OPENSSL_WITH_COMPRESSION=y 56 | CONFIG_OPENSSL_WITH_DTLS=y 57 | CONFIG_OPENSSL_WITH_EC2M=y 58 | # CONFIG_OPENSSL_WITH_ERROR_MESSAGES is not set 59 | CONFIG_OPENSSL_WITH_IDEA=y 60 | CONFIG_OPENSSL_WITH_MDC2=y 61 | CONFIG_OPENSSL_WITH_NPN=y 62 | CONFIG_OPENSSL_WITH_RFC3779=y 63 | CONFIG_OPENSSL_WITH_SEED=y 64 | CONFIG_OPENSSL_WITH_SM234=y 65 | CONFIG_OPENSSL_WITH_WHIRLPOOL=y 66 | CONFIG_PACKAGE_6in4=y 67 | CONFIG_PACKAGE_TAR_BZIP2=y 68 | CONFIG_PACKAGE_TAR_GZIP=y 69 | CONFIG_PACKAGE_TAR_XZ=y 70 | CONFIG_PACKAGE_TAR_ZSTD=y 71 | CONFIG_PACKAGE_UnblockNeteaseMusic-Go=y 72 | CONFIG_PACKAGE_autossh=y 73 | CONFIG_PACKAGE_avahi-dbus-daemon=y 74 | CONFIG_PACKAGE_bash=y 75 | CONFIG_PACKAGE_bind-client=y 76 | CONFIG_PACKAGE_bind-libs=y 77 | CONFIG_PACKAGE_boost=y 78 | CONFIG_PACKAGE_boost-date_time=y 79 | CONFIG_PACKAGE_boost-program_options=y 80 | CONFIG_PACKAGE_boost-system=y 81 | CONFIG_PACKAGE_brook=y 82 | CONFIG_PACKAGE_bzip2=y 83 | CONFIG_PACKAGE_certtool=y 84 | CONFIG_PACKAGE_coreutils-nohup=y 85 | CONFIG_PACKAGE_dbus=y 86 | CONFIG_PACKAGE_ddns-scripts_cloudflare.com-v4=y 87 | CONFIG_PACKAGE_ddns-scripts_freedns_42_pl=y 88 | CONFIG_PACKAGE_ddns-scripts_godaddy.com-v1=y 89 | CONFIG_PACKAGE_ddns-scripts_no-ip_com=y 90 | CONFIG_PACKAGE_ddns-scripts_nsupdate=y 91 | CONFIG_PACKAGE_ddns-scripts_route53-v1=y 92 | CONFIG_PACKAGE_diffutils=y 93 | CONFIG_PACKAGE_dmesg=y 94 | # CONFIG_PACKAGE_dnsmasq_full_dhcpv6 is not set 95 | # CONFIG_PACKAGE_dnsmasq_full_tftp is not set 96 | # CONFIG_PACKAGE_dropbear is not set 97 | # CONFIG_PACKAGE_e2fsprogs is not set 98 | # CONFIG_PACKAGE_grub2-efi-arm is not set 99 | CONFIG_PACKAGE_haproxy=y 100 | CONFIG_PACKAGE_htop=y 101 | CONFIG_PACKAGE_hysteria=y 102 | CONFIG_PACKAGE_ip6tables=y 103 | CONFIG_PACKAGE_ipt2socks=y 104 | CONFIG_PACKAGE_iptables-mod-account=y 105 | CONFIG_PACKAGE_iptables-mod-chaos=y 106 | CONFIG_PACKAGE_iptables-mod-checksum=y 107 | CONFIG_PACKAGE_iptables-mod-cluster=y 108 | CONFIG_PACKAGE_iptables-mod-clusterip=y 109 | CONFIG_PACKAGE_iptables-mod-condition=y 110 | CONFIG_PACKAGE_iptables-mod-conntrack-extra=y 111 | CONFIG_PACKAGE_iptables-mod-conntrack-label=y 112 | CONFIG_PACKAGE_iptables-mod-delude=y 113 | CONFIG_PACKAGE_iptables-mod-dhcpmac=y 114 | CONFIG_PACKAGE_iptables-mod-dnetmap=y 115 | CONFIG_PACKAGE_iptables-mod-filter=y 116 | CONFIG_PACKAGE_iptables-mod-fuzzy=y 117 | CONFIG_PACKAGE_iptables-mod-geoip=y 118 | CONFIG_PACKAGE_iptables-mod-hashlimit=y 119 | CONFIG_PACKAGE_iptables-mod-iface=y 120 | CONFIG_PACKAGE_iptables-mod-ipmark=y 121 | CONFIG_PACKAGE_iptables-mod-ipopt=y 122 | CONFIG_PACKAGE_iptables-mod-ipp2p=y 123 | CONFIG_PACKAGE_iptables-mod-iprange=y 124 | CONFIG_PACKAGE_iptables-mod-ipsec=y 125 | CONFIG_PACKAGE_iptables-mod-ipv4options=y 126 | CONFIG_PACKAGE_iptables-mod-led=y 127 | CONFIG_PACKAGE_iptables-mod-length2=y 128 | CONFIG_PACKAGE_iptables-mod-logmark=y 129 | CONFIG_PACKAGE_iptables-mod-lscan=y 130 | CONFIG_PACKAGE_iptables-mod-lua=y 131 | CONFIG_PACKAGE_iptables-mod-nat-extra=y 132 | CONFIG_PACKAGE_iptables-mod-nflog=y 133 | CONFIG_PACKAGE_iptables-mod-nfqueue=y 134 | CONFIG_PACKAGE_iptables-mod-physdev=y 135 | CONFIG_PACKAGE_iptables-mod-proto=y 136 | CONFIG_PACKAGE_iptables-mod-psd=y 137 | CONFIG_PACKAGE_iptables-mod-quota2=y 138 | CONFIG_PACKAGE_iptables-mod-rpfilter=y 139 | CONFIG_PACKAGE_iptables-mod-rtpengine=y 140 | CONFIG_PACKAGE_iptables-mod-socket=y 141 | CONFIG_PACKAGE_iptables-mod-sysrq=y 142 | CONFIG_PACKAGE_iptables-mod-tarpit=y 143 | CONFIG_PACKAGE_iptables-mod-tee=y 144 | CONFIG_PACKAGE_iptables-mod-trace=y 145 | CONFIG_PACKAGE_iptables-mod-u32=y 146 | CONFIG_PACKAGE_iptables-nft=y 147 | CONFIG_PACKAGE_iputils-arping=y 148 | CONFIG_PACKAGE_ipv6helper=y 149 | CONFIG_PACKAGE_jansson=y 150 | CONFIG_PACKAGE_jq=y 151 | CONFIG_PACKAGE_kcptun-client=y 152 | CONFIG_PACKAGE_kcptun-config=y 153 | CONFIG_PACKAGE_kmod-arptables=y 154 | CONFIG_PACKAGE_kmod-br-netfilter=y 155 | CONFIG_PACKAGE_kmod-crypto-cbc=y 156 | CONFIG_PACKAGE_kmod-crypto-ccm=y 157 | CONFIG_PACKAGE_kmod-crypto-cmac=y 158 | CONFIG_PACKAGE_kmod-crypto-crc32c=y 159 | CONFIG_PACKAGE_kmod-crypto-ctr=y 160 | CONFIG_PACKAGE_kmod-crypto-deflate=y 161 | CONFIG_PACKAGE_kmod-crypto-des=y 162 | CONFIG_PACKAGE_kmod-crypto-ecdh=y 163 | CONFIG_PACKAGE_kmod-crypto-echainiv=y 164 | CONFIG_PACKAGE_kmod-crypto-hmac=y 165 | CONFIG_PACKAGE_kmod-crypto-kpp=y 166 | CONFIG_PACKAGE_kmod-crypto-lib-chacha20=y 167 | CONFIG_PACKAGE_kmod-crypto-lib-chacha20poly1305=y 168 | CONFIG_PACKAGE_kmod-crypto-lib-curve25519=y 169 | CONFIG_PACKAGE_kmod-crypto-lib-poly1305=y 170 | CONFIG_PACKAGE_kmod-crypto-md5=y 171 | CONFIG_PACKAGE_kmod-crypto-rng=y 172 | CONFIG_PACKAGE_kmod-crypto-seqiv=y 173 | CONFIG_PACKAGE_kmod-crypto-sha256=y 174 | CONFIG_PACKAGE_kmod-crypto-sha512=y 175 | # CONFIG_PACKAGE_kmod-e1000 is not set 176 | CONFIG_PACKAGE_kmod-ebtables=y 177 | CONFIG_PACKAGE_kmod-ebtables-ipv4=y 178 | CONFIG_PACKAGE_kmod-ebtables-ipv6=y 179 | CONFIG_PACKAGE_kmod-fs-autofs4=y 180 | # CONFIG_PACKAGE_kmod-fs-vfat is not set 181 | CONFIG_PACKAGE_kmod-fuse=y 182 | # CONFIG_PACKAGE_kmod-i2c-core is not set 183 | # CONFIG_PACKAGE_kmod-i2c-mux is not set 184 | # CONFIG_PACKAGE_kmod-i2c-mux-pca954x is not set 185 | CONFIG_PACKAGE_kmod-ifb=y 186 | CONFIG_PACKAGE_kmod-input-core=y 187 | CONFIG_PACKAGE_kmod-ip6tables=y 188 | CONFIG_PACKAGE_kmod-ip6tables-extra=y 189 | CONFIG_PACKAGE_kmod-ipt-account=y 190 | CONFIG_PACKAGE_kmod-ipt-chaos=y 191 | CONFIG_PACKAGE_kmod-ipt-checksum=y 192 | CONFIG_PACKAGE_kmod-ipt-cluster=y 193 | CONFIG_PACKAGE_kmod-ipt-clusterip=y 194 | CONFIG_PACKAGE_kmod-ipt-compat-xtables=y 195 | CONFIG_PACKAGE_kmod-ipt-condition=y 196 | CONFIG_PACKAGE_kmod-ipt-conntrack-extra=y 197 | CONFIG_PACKAGE_kmod-ipt-conntrack-label=y 198 | CONFIG_PACKAGE_kmod-ipt-debug=y 199 | CONFIG_PACKAGE_kmod-ipt-delude=y 200 | CONFIG_PACKAGE_kmod-ipt-dhcpmac=y 201 | CONFIG_PACKAGE_kmod-ipt-dnetmap=y 202 | CONFIG_PACKAGE_kmod-ipt-filter=y 203 | CONFIG_PACKAGE_kmod-ipt-fuzzy=y 204 | CONFIG_PACKAGE_kmod-ipt-geoip=y 205 | CONFIG_PACKAGE_kmod-ipt-hashlimit=y 206 | CONFIG_PACKAGE_kmod-ipt-iface=y 207 | CONFIG_PACKAGE_kmod-ipt-ipmark=y 208 | CONFIG_PACKAGE_kmod-ipt-ipopt=y 209 | CONFIG_PACKAGE_kmod-ipt-ipp2p=y 210 | CONFIG_PACKAGE_kmod-ipt-iprange=y 211 | CONFIG_PACKAGE_kmod-ipt-ipsec=y 212 | CONFIG_PACKAGE_kmod-ipt-ipv4options=y 213 | CONFIG_PACKAGE_kmod-ipt-led=y 214 | CONFIG_PACKAGE_kmod-ipt-length2=y 215 | CONFIG_PACKAGE_kmod-ipt-logmark=y 216 | CONFIG_PACKAGE_kmod-ipt-lscan=y 217 | CONFIG_PACKAGE_kmod-ipt-lua=y 218 | CONFIG_PACKAGE_kmod-ipt-nat-extra=y 219 | CONFIG_PACKAGE_kmod-ipt-nat6=y 220 | CONFIG_PACKAGE_kmod-ipt-nflog=y 221 | CONFIG_PACKAGE_kmod-ipt-nfqueue=y 222 | CONFIG_PACKAGE_kmod-ipt-physdev=y 223 | CONFIG_PACKAGE_kmod-ipt-proto=y 224 | CONFIG_PACKAGE_kmod-ipt-psd=y 225 | CONFIG_PACKAGE_kmod-ipt-quota2=y 226 | CONFIG_PACKAGE_kmod-ipt-raw6=y 227 | CONFIG_PACKAGE_kmod-ipt-rpfilter=y 228 | CONFIG_PACKAGE_kmod-ipt-socket=y 229 | CONFIG_PACKAGE_kmod-ipt-sysrq=y 230 | CONFIG_PACKAGE_kmod-ipt-tarpit=y 231 | CONFIG_PACKAGE_kmod-ipt-tee=y 232 | CONFIG_PACKAGE_kmod-ipt-u32=y 233 | CONFIG_PACKAGE_kmod-iptunnel=y 234 | CONFIG_PACKAGE_kmod-iptunnel4=y 235 | CONFIG_PACKAGE_kmod-lib-crc32c=y 236 | CONFIG_PACKAGE_kmod-lib-zlib-deflate=y 237 | CONFIG_PACKAGE_kmod-lib-zlib-inflate=y 238 | CONFIG_PACKAGE_kmod-nf-ipt6=y 239 | CONFIG_PACKAGE_kmod-nf-log6=y 240 | CONFIG_PACKAGE_kmod-nf-nat6=y 241 | CONFIG_PACKAGE_kmod-nf-reject6=y 242 | CONFIG_PACKAGE_kmod-nf-socket=y 243 | CONFIG_PACKAGE_kmod-nfnetlink-log=y 244 | CONFIG_PACKAGE_kmod-nfnetlink-queue=y 245 | CONFIG_PACKAGE_kmod-nft-arp=y 246 | CONFIG_PACKAGE_kmod-nft-bridge=y 247 | CONFIG_PACKAGE_kmod-nft-core=y 248 | CONFIG_PACKAGE_kmod-nft-fib=y 249 | CONFIG_PACKAGE_kmod-nft-nat=y 250 | CONFIG_PACKAGE_kmod-nft-nat6=y 251 | CONFIG_PACKAGE_kmod-nft-netdev=y 252 | CONFIG_PACKAGE_kmod-nft-offload=y 253 | CONFIG_PACKAGE_kmod-nft-queue=y 254 | # CONFIG_PACKAGE_kmod-nls-cp437 is not set 255 | CONFIG_PACKAGE_kmod-nls-cp936=y 256 | # CONFIG_PACKAGE_kmod-nls-iso8859-1 is not set 257 | # CONFIG_PACKAGE_kmod-rtc-rx8025 is not set 258 | CONFIG_PACKAGE_kmod-sched-core=y 259 | # CONFIG_PACKAGE_kmod-sfp is not set 260 | CONFIG_PACKAGE_kmod-shortcut-fe=y 261 | CONFIG_PACKAGE_kmod-shortcut-fe-cm=y 262 | CONFIG_PACKAGE_kmod-sit=y 263 | CONFIG_PACKAGE_kmod-udptunnel4=y 264 | CONFIG_PACKAGE_kmod-udptunnel6=y 265 | # CONFIG_PACKAGE_kmod-vmxnet3 is not set 266 | CONFIG_PACKAGE_kmod-wireguard=y 267 | CONFIG_PACKAGE_libatomic=y 268 | CONFIG_PACKAGE_libavahi-dbus-support=y 269 | # CONFIG_PACKAGE_libblkid is not set 270 | CONFIG_PACKAGE_libbz2=y 271 | CONFIG_PACKAGE_libcap=y 272 | CONFIG_PACKAGE_libcap-bin=y 273 | CONFIG_PACKAGE_libcap-bin-capsh-shell="/bin/sh" 274 | CONFIG_PACKAGE_libcares=y 275 | CONFIG_PACKAGE_libcbor=y 276 | # CONFIG_PACKAGE_libcomerr is not set 277 | CONFIG_PACKAGE_libdaemon=y 278 | CONFIG_PACKAGE_libdb47=y 279 | CONFIG_PACKAGE_libdbus=y 280 | CONFIG_PACKAGE_libeudev=y 281 | CONFIG_PACKAGE_libevent2=y 282 | CONFIG_PACKAGE_libexpat=y 283 | # CONFIG_PACKAGE_libext2fs is not set 284 | # CONFIG_PACKAGE_libf2fs is not set 285 | CONFIG_PACKAGE_libffi=y 286 | CONFIG_PACKAGE_libfido2=y 287 | CONFIG_PACKAGE_libgdbm=y 288 | CONFIG_PACKAGE_libgmp=y 289 | CONFIG_PACKAGE_libgnutls=y 290 | CONFIG_PACKAGE_libhttp-parser=y 291 | CONFIG_PACKAGE_libiconv-full=y 292 | CONFIG_PACKAGE_libltdl=y 293 | CONFIG_PACKAGE_liblua5.3=y 294 | CONFIG_PACKAGE_liblzma=y 295 | CONFIG_PACKAGE_libmbedtls=y 296 | CONFIG_PACKAGE_libminiupnpc=y 297 | CONFIG_PACKAGE_libnatpmp=y 298 | CONFIG_PACKAGE_libncurses=y 299 | CONFIG_PACKAGE_libnetfilter-conntrack=y 300 | CONFIG_PACKAGE_libnettle=y 301 | CONFIG_PACKAGE_libnfnetlink=y 302 | CONFIG_PACKAGE_libnftnl=y 303 | CONFIG_PACKAGE_libopenssl-afalg_sync=y 304 | CONFIG_PACKAGE_libpcap=y 305 | CONFIG_PACKAGE_libprotobuf-c=y 306 | CONFIG_PACKAGE_libpython3=y 307 | CONFIG_PACKAGE_libreadline=y 308 | CONFIG_PACKAGE_libruby=y 309 | # CONFIG_PACKAGE_libsmartcols is not set 310 | CONFIG_PACKAGE_libsqlite3=y 311 | # CONFIG_PACKAGE_libss is not set 312 | CONFIG_PACKAGE_libstdcpp=y 313 | CONFIG_PACKAGE_libtasn1=y 314 | CONFIG_PACKAGE_libtirpc=y 315 | CONFIG_PACKAGE_libuv=y 316 | CONFIG_PACKAGE_libwebsockets-full=y 317 | CONFIG_PACKAGE_libxml2=y 318 | CONFIG_PACKAGE_libxtables-nft=y 319 | CONFIG_PACKAGE_libyaml=y 320 | CONFIG_PACKAGE_libzstd=y 321 | CONFIG_PACKAGE_lsof=y 322 | # CONFIG_PACKAGE_luci-app-accesscontrol is not set 323 | CONFIG_PACKAGE_luci-app-adbyby-plus=y 324 | CONFIG_PACKAGE_luci-app-adguardhome=y 325 | CONFIG_PACKAGE_luci-app-alist=y 326 | CONFIG_PACKAGE_luci-app-argon-config=y 327 | CONFIG_PACKAGE_luci-app-arpbind=y 328 | CONFIG_PACKAGE_luci-app-autoreboot=y 329 | CONFIG_PACKAGE_luci-app-cifs-mount=y 330 | CONFIG_PACKAGE_luci-app-ddns=y 331 | # CONFIG_PACKAGE_luci-app-diskman is not set 332 | CONFIG_PACKAGE_luci-app-filebrowser=y 333 | CONFIG_PACKAGE_luci-app-filetransfer=y 334 | CONFIG_PACKAGE_luci-app-firewall=y 335 | CONFIG_PACKAGE_luci-app-mosdns=y 336 | CONFIG_PACKAGE_luci-app-nlbwmon=y 337 | CONFIG_PACKAGE_luci-app-onliner=y 338 | CONFIG_PACKAGE_luci-app-openclash=y 339 | CONFIG_PACKAGE_luci-app-passwall=y 340 | CONFIG_PACKAGE_luci-app-passwall_Iptables_Transparent_Proxy=y 341 | CONFIG_PACKAGE_luci-app-passwall2=y 342 | CONFIG_PACKAGE_luci-app-passwall2_INCLUDE_Shadowsocks_Libev_Server=y 343 | CONFIG_PACKAGE_luci-app-passwall2_Iptables_Transparent_Proxy=y 344 | CONFIG_PACKAGE_luci-app-qbittorrent_dynamic=y 345 | # CONFIG_PACKAGE_luci-app-qbittorrent_static is not set 346 | # CONFIG_PACKAGE_luci-app-ramfree is not set 347 | # CONFIG_PACKAGE_luci-app-samba is not set 348 | CONFIG_PACKAGE_luci-app-samba4=y 349 | CONFIG_PACKAGE_luci-app-serverchan=y 350 | CONFIG_PACKAGE_luci-app-smartdns=y 351 | CONFIG_PACKAGE_luci-app-socat=y 352 | CONFIG_PACKAGE_luci-app-ssr-plus=y 353 | CONFIG_PACKAGE_luci-app-ssr-plus_INCLUDE_IPT2Socks=y 354 | CONFIG_PACKAGE_luci-app-ssr-plus_INCLUDE_Kcptun=y 355 | CONFIG_PACKAGE_luci-app-ssr-plus_INCLUDE_NaiveProxy=y 356 | CONFIG_PACKAGE_luci-app-ssr-plus_INCLUDE_Redsocks2=y 357 | CONFIG_PACKAGE_luci-app-ssr-plus_INCLUDE_ShadowsocksR_Libev_Server=y 358 | CONFIG_PACKAGE_luci-app-ssr-plus_INCLUDE_Trojan=y 359 | CONFIG_PACKAGE_luci-app-ttyd=y 360 | CONFIG_PACKAGE_luci-app-turboacc=y 361 | CONFIG_PACKAGE_luci-app-udpxy=y 362 | CONFIG_PACKAGE_luci-app-uhttpd=y 363 | CONFIG_PACKAGE_luci-app-unblockmusic=y 364 | CONFIG_PACKAGE_luci-app-upnp=y 365 | # CONFIG_PACKAGE_luci-app-v2ray-server is not set 366 | CONFIG_PACKAGE_luci-app-vlmcsd=y 367 | # CONFIG_PACKAGE_luci-app-vsftpd is not set 368 | CONFIG_PACKAGE_luci-app-wireguard=y 369 | CONFIG_PACKAGE_luci-app-wol=y 370 | # CONFIG_PACKAGE_luci-app-wrtbwmon is not set 371 | CONFIG_PACKAGE_luci-app-zerotier=y 372 | CONFIG_PACKAGE_luci-compat=y 373 | CONFIG_PACKAGE_luci-proto-ipv6=y 374 | CONFIG_PACKAGE_luci-proto-wireguard=y 375 | CONFIG_PACKAGE_luci-theme-argon=y 376 | CONFIG_PACKAGE_luci-theme-design=y 377 | CONFIG_PACKAGE_luci-theme-opentomcat=y 378 | # CONFIG_PACKAGE_mkf2fs is not set 379 | # CONFIG_PACKAGE_mtd is not set 380 | CONFIG_PACKAGE_naiveproxy=y 381 | CONFIG_PACKAGE_nano-plus=y 382 | CONFIG_PACKAGE_nftables-json=y 383 | CONFIG_PACKAGE_odhcp6c=y 384 | CONFIG_PACKAGE_odhcp6c_ext_cer_id=0 385 | CONFIG_PACKAGE_odhcpd-ipv6only=y 386 | CONFIG_PACKAGE_odhcpd_ipv6only_ext_cer_id=0 387 | CONFIG_PACKAGE_openssh-client=y 388 | CONFIG_PACKAGE_openssh-client-utils=y 389 | CONFIG_PACKAGE_openssh-keygen=y 390 | CONFIG_PACKAGE_openssh-moduli=y 391 | CONFIG_PACKAGE_openssh-server=y 392 | CONFIG_PACKAGE_openssh-sftp-avahi-service=y 393 | CONFIG_PACKAGE_openssh-sftp-client=y 394 | CONFIG_PACKAGE_openssh-sftp-server=y 395 | # CONFIG_PACKAGE_partx-utils is not set 396 | CONFIG_PACKAGE_patch=y 397 | CONFIG_PACKAGE_perl=y 398 | CONFIG_PACKAGE_perl-http-date=y 399 | CONFIG_PACKAGE_perl-try-tiny=y 400 | CONFIG_PACKAGE_perlbase-base=y 401 | CONFIG_PACKAGE_perlbase-bytes=y 402 | CONFIG_PACKAGE_perlbase-charnames=y 403 | CONFIG_PACKAGE_perlbase-class=y 404 | CONFIG_PACKAGE_perlbase-config=y 405 | CONFIG_PACKAGE_perlbase-cwd=y 406 | CONFIG_PACKAGE_perlbase-dynaloader=y 407 | CONFIG_PACKAGE_perlbase-errno=y 408 | CONFIG_PACKAGE_perlbase-essential=y 409 | CONFIG_PACKAGE_perlbase-fcntl=y 410 | CONFIG_PACKAGE_perlbase-file=y 411 | CONFIG_PACKAGE_perlbase-filehandle=y 412 | CONFIG_PACKAGE_perlbase-getopt=y 413 | CONFIG_PACKAGE_perlbase-i18n=y 414 | CONFIG_PACKAGE_perlbase-integer=y 415 | CONFIG_PACKAGE_perlbase-io=y 416 | CONFIG_PACKAGE_perlbase-list=y 417 | CONFIG_PACKAGE_perlbase-locale=y 418 | CONFIG_PACKAGE_perlbase-params=y 419 | CONFIG_PACKAGE_perlbase-posix=y 420 | CONFIG_PACKAGE_perlbase-re=y 421 | CONFIG_PACKAGE_perlbase-scalar=y 422 | CONFIG_PACKAGE_perlbase-selectsaver=y 423 | CONFIG_PACKAGE_perlbase-socket=y 424 | CONFIG_PACKAGE_perlbase-symbol=y 425 | CONFIG_PACKAGE_perlbase-thread=y 426 | CONFIG_PACKAGE_perlbase-threads=y 427 | CONFIG_PACKAGE_perlbase-tie=y 428 | CONFIG_PACKAGE_perlbase-time=y 429 | CONFIG_PACKAGE_perlbase-unicode=y 430 | CONFIG_PACKAGE_perlbase-unicore=y 431 | CONFIG_PACKAGE_perlbase-utf8=y 432 | CONFIG_PACKAGE_perlbase-xsloader=y 433 | # CONFIG_PACKAGE_procd-ujail is not set 434 | CONFIG_PACKAGE_python3=y 435 | CONFIG_PACKAGE_python3-asyncio=y 436 | CONFIG_PACKAGE_python3-base=y 437 | CONFIG_PACKAGE_python3-cgi=y 438 | CONFIG_PACKAGE_python3-cgitb=y 439 | CONFIG_PACKAGE_python3-codecs=y 440 | CONFIG_PACKAGE_python3-ctypes=y 441 | CONFIG_PACKAGE_python3-dbm=y 442 | CONFIG_PACKAGE_python3-decimal=y 443 | CONFIG_PACKAGE_python3-distutils=y 444 | CONFIG_PACKAGE_python3-email=y 445 | CONFIG_PACKAGE_python3-light=y 446 | CONFIG_PACKAGE_python3-logging=y 447 | CONFIG_PACKAGE_python3-lzma=y 448 | CONFIG_PACKAGE_python3-multiprocessing=y 449 | CONFIG_PACKAGE_python3-ncurses=y 450 | CONFIG_PACKAGE_python3-openssl=y 451 | CONFIG_PACKAGE_python3-pydoc=y 452 | CONFIG_PACKAGE_python3-readline=y 453 | CONFIG_PACKAGE_python3-sqlite3=y 454 | CONFIG_PACKAGE_python3-unittest=y 455 | CONFIG_PACKAGE_python3-urllib=y 456 | CONFIG_PACKAGE_python3-uuid=y 457 | CONFIG_PACKAGE_python3-xml=y 458 | CONFIG_PACKAGE_redsocks2=y 459 | CONFIG_PACKAGE_ruby=y 460 | CONFIG_PACKAGE_ruby-bigdecimal=y 461 | CONFIG_PACKAGE_ruby-date=y 462 | CONFIG_PACKAGE_ruby-digest=y 463 | CONFIG_PACKAGE_ruby-enc=y 464 | CONFIG_PACKAGE_ruby-forwardable=y 465 | CONFIG_PACKAGE_ruby-pstore=y 466 | CONFIG_PACKAGE_ruby-psych=y 467 | CONFIG_PACKAGE_ruby-stringio=y 468 | CONFIG_PACKAGE_ruby-strscan=y 469 | CONFIG_PACKAGE_ruby-yaml=y 470 | CONFIG_PACKAGE_shadowsocks-libev-ss-local=y 471 | CONFIG_PACKAGE_shadowsocks-libev-ss-redir=y 472 | CONFIG_PACKAGE_shadowsocks-libev-ss-server=y 473 | CONFIG_PACKAGE_shadowsocksr-libev-ssr-server=y 474 | CONFIG_PACKAGE_smartdns=y 475 | CONFIG_PACKAGE_socat=y 476 | CONFIG_PACKAGE_sshtunnel=y 477 | CONFIG_PACKAGE_tar=y 478 | CONFIG_PACKAGE_terminfo=y 479 | CONFIG_PACKAGE_trojan=y 480 | CONFIG_PACKAGE_trojan-go=y 481 | CONFIG_PACKAGE_trojan-plus=y 482 | CONFIG_PACKAGE_ttyd=y 483 | CONFIG_PACKAGE_ucert-full=y 484 | CONFIG_PACKAGE_udpxy=y 485 | CONFIG_PACKAGE_unzip=y 486 | CONFIG_PACKAGE_v2ray-core=y 487 | CONFIG_PACKAGE_v2ray-geoip=y 488 | CONFIG_PACKAGE_v2ray-geosite=y 489 | CONFIG_PACKAGE_vim-fuller=y 490 | CONFIG_PACKAGE_wireguard-tools=y 491 | CONFIG_PACKAGE_xz=y 492 | CONFIG_PACKAGE_xz-utils=y 493 | CONFIG_PACKAGE_zerotier=y 494 | CONFIG_PERL_NOCOMMENT=y 495 | CONFIG_PERL_THREADS=y 496 | CONFIG_SQLITE3_COLUMN_METADATA=y 497 | CONFIG_SQLITE3_DYNAMIC_EXTENSIONS=y 498 | CONFIG_SQLITE3_FTS3=y 499 | CONFIG_SQLITE3_FTS4=y 500 | CONFIG_SQLITE3_FTS5=y 501 | CONFIG_SQLITE3_JSON1=y 502 | CONFIG_SQLITE3_RTREE=y 503 | # CONFIG_TARGET_IMAGES_GZIP is not set 504 | CONFIG_TARGET_OPTIMIZATION="-Os -pipe -march=armv8-a -mtune=cortex-a53 " 505 | CONFIG_TARGET_OPTIONS=y 506 | # CONFIG_TARGET_ROOTFS_CPIOGZ is not set 507 | # CONFIG_TARGET_ROOTFS_EXT4FS is not set 508 | # CONFIG_TARGET_ROOTFS_INITRAMFS is not set 509 | # CONFIG_TARGET_ROOTFS_SQUASHFS is not set 510 | # CONFIG_ZLIB_OPTIMIZE_SPEED is not set 511 | CONFIG_ZSTD_OPTIMIZE_O3=y 512 | CONFIG_boost-compile-visibility-hidden=y 513 | CONFIG_boost-runtime-shared=y 514 | CONFIG_boost-static-and-shared-libs=y 515 | CONFIG_boost-variant-release=y 516 | CONFIG_PACKAGE_kmod-crypto-authenc=y 517 | CONFIG_PACKAGE_kmod-cryptodev=y 518 | # CONFIG_PACKAGE_kmod-inet-diag is not set 519 | CONFIG_PACKAGE_kmod-nls-utf8=y 520 | -------------------------------------------------------------------------------- /configs/armv8-mini.config: -------------------------------------------------------------------------------- 1 | # Target Config 2 | CONFIG_TARGET_armvirt=y 3 | CONFIG_TARGET_armvirt_64=y 4 | CONFIG_TARGET_armvirt_64_DEVICE_generic=y 5 | 6 | # Firmware Type 7 | # CONFIG_TARGET_IMAGES_GZIP is not set 8 | # CONFIG_TARGET_ROOTFS_CPIOGZ is not set 9 | # CONFIG_TARGET_ROOTFS_EXT4FS is not set 10 | # CONFIG_TARGET_ROOTFS_INITRAMFS is not set 11 | # CONFIG_TARGET_ROOTFS_SQUASHFS is not set 12 | 13 | # Basic Dependence 14 | CONFIG_PACKAGE_perl=y 15 | CONFIG_PACKAGE_perl-http-date=y 16 | CONFIG_PACKAGE_perlbase-file=y 17 | CONFIG_PACKAGE_perlbase-getopt=y 18 | CONFIG_PACKAGE_perlbase-time=y 19 | CONFIG_PACKAGE_perlbase-unicode=y 20 | CONFIG_PACKAGE_perlbase-utf8=y 21 | CONFIG_PACKAGE_blkid=y 22 | CONFIG_PACKAGE_fdisk=y 23 | CONFIG_PACKAGE_lsblk=y 24 | CONFIG_PACKAGE_parted=y 25 | CONFIG_PACKAGE_attr=y 26 | CONFIG_PACKAGE_btrfs-progs=y 27 | CONFIG_BTRFS_PROGS_ZSTD=y 28 | CONFIG_PACKAGE_chattr=y 29 | CONFIG_PACKAGE_dosfstools=y 30 | CONFIG_PACKAGE_e2fsprogs=y 31 | CONFIG_PACKAGE_f2fs-tools=y 32 | CONFIG_PACKAGE_f2fsck=y 33 | CONFIG_PACKAGE_lsattr=y 34 | CONFIG_PACKAGE_mkf2fs=y 35 | CONFIG_PACKAGE_xfs-fsck=y 36 | CONFIG_PACKAGE_xfs-mkfs=y 37 | CONFIG_PACKAGE_bsdtar=y 38 | CONFIG_PACKAGE_pigz=y 39 | CONFIG_PACKAGE_bash=y 40 | CONFIG_PACKAGE_gawk=y 41 | CONFIG_PACKAGE_getopt=y 42 | CONFIG_PACKAGE_losetup=y 43 | CONFIG_PACKAGE_tar=y 44 | CONFIG_PACKAGE_uuidgen=y 45 | CONFIG_PACKAGE_acpid=y 46 | CONFIG_PACKAGE_kmod-brcmfmac=y 47 | CONFIG_BRCMFMAC_SDIO=y 48 | CONFIG_PACKAGE_kmod-brcmutil=y 49 | CONFIG_PACKAGE_kmod-cfg80211=y 50 | CONFIG_PACKAGE_kmod-mac80211=y 51 | CONFIG_PACKAGE_hostapd-common=y 52 | CONFIG_PACKAGE_wpa-cli=y 53 | CONFIG_PACKAGE_wpad-basic=y 54 | CONFIG_PACKAGE_iw=y 55 | CONFIG_PACKAGE_ntfs3-mount=y 56 | CONFIG_PACKAGE_coreutils=y 57 | CONFIG_PACKAGE_coreutils-base64=y 58 | CONFIG_PACKAGE_coreutils-nohup=y 59 | CONFIG_PACKAGE_jq=y 60 | CONFIG_PACKAGE_pv=y 61 | 62 | # Applications 63 | # CONFIG_PACKAGE_luci-app-accesscontrol is not set 64 | # CONFIG_PACKAGE_luci-app-adbyby-plus is not set 65 | CONFIG_PACKAGE_luci-app-adguardhome=y 66 | CONFIG_PACKAGE_luci-app-alist=y 67 | CONFIG_PACKAGE_luci-app-amlogic=y 68 | CONFIG_PACKAGE_luci-app-argon-config=y 69 | CONFIG_PACKAGE_luci-app-arpbind=y 70 | CONFIG_PACKAGE_luci-app-autoreboot=y 71 | # CONFIG_PACKAGE_luci-app-cifs-mount is not set 72 | # CONFIG_PACKAGE_luci-app-cpufreq is not set 73 | CONFIG_PACKAGE_luci-app-ddns=y 74 | CONFIG_PACKAGE_luci-app-diskman=y 75 | CONFIG_PACKAGE_luci-app-dockerman=y 76 | CONFIG_PACKAGE_luci-app-filetransfer=y 77 | CONFIG_PACKAGE_luci-app-firewall=y 78 | # CONFIG_PACKAGE_luci-app-frpc is not set 79 | # CONFIG_PACKAGE_luci-app-ipsec-vpnd is not set 80 | CONFIG_PACKAGE_luci-app-mosdns=y 81 | CONFIG_PACKAGE_luci-app-netdata=y 82 | CONFIG_PACKAGE_luci-app-nlbwmon=y 83 | CONFIG_PACKAGE_luci-app-onliner=y 84 | CONFIG_PACKAGE_luci-app-openclash=y 85 | CONFIG_PACKAGE_luci-app-passwall=y 86 | CONFIG_PACKAGE_luci-app-passwall_Iptables_Transparent_Proxy=y 87 | CONFIG_PACKAGE_luci-app-passwall_INCLUDE_Brook=y 88 | CONFIG_PACKAGE_luci-app-passwall_INCLUDE_Hysteria=y 89 | CONFIG_PACKAGE_luci-app-passwall_INCLUDE_NaiveProxy=y 90 | CONFIG_PACKAGE_luci-app-passwall_INCLUDE_Shadowsocks_Rust_Server=y 91 | CONFIG_PACKAGE_luci-app-passwall_INCLUDE_ShadowsocksR_Libev_Server=y 92 | CONFIG_PACKAGE_luci-app-passwall_INCLUDE_Trojan_GO=y 93 | CONFIG_PACKAGE_luci-app-passwall_INCLUDE_tuic_client=y 94 | # CONFIG_PACKAGE_luci-app-passwall2 is not set 95 | # CONFIG_PACKAGE_luci-app-ramfree is not set 96 | # CONFIG_PACKAGE_luci-app-rclone_INCLUDE_rclone-ng is not set 97 | # CONFIG_PACKAGE_luci-app-rclone_INCLUDE_rclone-webui is not set 98 | # CONFIG_PACKAGE_luci-app-samba is not set 99 | CONFIG_PACKAGE_luci-app-samba4=y 100 | CONFIG_PACKAGE_luci-app-smartdns=m 101 | CONFIG_PACKAGE_luci-app-ssr-plus=y 102 | CONFIG_PACKAGE_luci-app-ssr-plus_INCLUDE_Hysteria=y 103 | CONFIG_PACKAGE_luci-app-ssr-plus_INCLUDE_IPT2Socks=y 104 | CONFIG_PACKAGE_luci-app-ssr-plus_INCLUDE_Kcptun=y 105 | CONFIG_PACKAGE_luci-app-ssr-plus_INCLUDE_NaiveProxy=y 106 | CONFIG_PACKAGE_luci-app-ssr-plus_INCLUDE_Redsocks2=y 107 | CONFIG_PACKAGE_luci-app-ssr-plus_INCLUDE_Shadow_TLS=y 108 | CONFIG_PACKAGE_luci-app-ssr-plus_INCLUDE_ShadowsocksR_Libev_Server=y 109 | CONFIG_PACKAGE_luci-app-ssr-plus_INCLUDE_Trojan=y 110 | CONFIG_PACKAGE_luci-app-ssr-plus_INCLUDE_Tuic_Client=y 111 | CONFIG_PACKAGE_luci-app-ttyd=y 112 | CONFIG_PACKAGE_luci-app-turboacc=y 113 | # CONFIG_PACKAGE_luci-app-turboacc_INCLUDE_OFFLOADING is not set 114 | # CONFIG_PACKAGE_luci-app-turboacc_INCLUDE_SHORTCUT_FE is not set 115 | CONFIG_PACKAGE_luci-app-turboacc_INCLUDE_SHORTCUT_FE_CM=y 116 | # CONFIG_PACKAGE_luci-app-turboacc_INCLUDE_DNSFORWARDER is not set 117 | # CONFIG_PACKAGE_luci-app-turboacc_INCLUDE_DNSPROXY is not set 118 | CONFIG_PACKAGE_luci-app-unblockmusic=m 119 | CONFIG_PACKAGE_luci-app-upnp=y 120 | # CONFIG_PACKAGE_luci-app-vlmcsd is not set 121 | # CONFIG_PACKAGE_luci-app-vsftpd is not set 122 | # CONFIG_PACKAGE_luci-app-vssr is not set 123 | # CONFIG_PACKAGE_luci-app-vssr_INCLUDE_Kcptun is not set 124 | # CONFIG_PACKAGE_luci-app-wol is not set 125 | # CONFIG_PACKAGE_luci-app-wrtbwmon is not set 126 | CONFIG_PACKAGE_luci-app-zerotier=y 127 | 128 | # Themes 129 | CONFIG_PACKAGE_luci-theme-argon=y 130 | CONFIG_PACKAGE_luci-theme-design=y 131 | CONFIG_PACKAGE_luci-theme-infinityfreedom=y 132 | CONFIG_PACKAGE_luci-theme-opentomcat=y 133 | 134 | # Software 135 | CONFIG_PACKAGE_ddns-scripts_cloudflare.com-v4=y 136 | CONFIG_PACKAGE_docker-compose=y 137 | CONFIG_PACKAGE_htop=y 138 | CONFIG_PACKAGE_iperf3=y 139 | CONFIG_PACKAGE_nano-plus=y 140 | CONFIG_PACKAGE_openssh-sftp-server=y 141 | CONFIG_PACKAGE_snmpd=y 142 | CONFIG_PACKAGE_vim-fuller=y 143 | CONFIG_PACKAGE_zsh=y 144 | 145 | # Ipv6 Support 146 | CONFIG_PACKAGE_6in4=y 147 | CONFIG_PACKAGE_ipv6helper=y 148 | CONFIG_PACKAGE_ip6tables=y 149 | CONFIG_PACKAGE_ip6tables-extra=y 150 | CONFIG_PACKAGE_ip6tables-mod-nat=y 151 | -------------------------------------------------------------------------------- /configs/extra.config: -------------------------------------------------------------------------------- 1 | # Image Builder 2 | CONFIG_IB=y 3 | CONFIG_IB_STANDALONE=y 4 | CONFIG_DEVEL=y 5 | 6 | # File System Drivers 7 | CONFIG_PACKAGE_kmod-fs-autofs4=y 8 | CONFIG_PACKAGE_kmod-fs-btrfs=y 9 | CONFIG_PACKAGE_kmod-fs-cifs=y 10 | CONFIG_PACKAGE_kmod-fs-exfat=y 11 | CONFIG_PACKAGE_kmod-fs-exportfs=y 12 | CONFIG_PACKAGE_kmod-fs-ext4=y 13 | CONFIG_PACKAGE_kmod-fs-f2fs=y 14 | CONFIG_PACKAGE_kmod-fs-hfs=y 15 | CONFIG_PACKAGE_kmod-fs-hfsplus=y 16 | CONFIG_PACKAGE_kmod-fs-isofs=y 17 | CONFIG_PACKAGE_kmod-fs-msdos=y 18 | CONFIG_PACKAGE_kmod-fs-nfs=y 19 | CONFIG_PACKAGE_kmod-fs-nfs-common=y 20 | CONFIG_PACKAGE_kmod-fs-nfs-common-rpcsec=y 21 | CONFIG_PACKAGE_kmod-fs-nfs-v3=y 22 | CONFIG_PACKAGE_kmod-fs-nfs-v4=y 23 | CONFIG_PACKAGE_kmod-fs-nfsd=y 24 | CONFIG_PACKAGE_kmod-fs-ntfs3=y 25 | CONFIG_PACKAGE_kmod-fs-smbfs-common=y 26 | CONFIG_PACKAGE_kmod-fs-squashfs=y 27 | CONFIG_PACKAGE_kmod-fs-udf=y 28 | CONFIG_PACKAGE_kmod-fs-vfat=y 29 | CONFIG_PACKAGE_kmod-fs-xfs=y 30 | CONFIG_PACKAGE_kmod-fuse=y 31 | 32 | # USB Storage Drivers 33 | CONFIG_PACKAGE_kmod-usb-ohci=y 34 | CONFIG_PACKAGE_kmod-usb-printer=y 35 | CONFIG_PACKAGE_kmod-usb-roles=y 36 | CONFIG_PACKAGE_kmod-usb-serial-ch341=y 37 | CONFIG_PACKAGE_kmod-usb-serial-cp210x=y 38 | CONFIG_PACKAGE_kmod-usb-serial-ftdi=y 39 | CONFIG_PACKAGE_kmod-usb-serial-ipw=y 40 | CONFIG_PACKAGE_kmod-usb-serial-pl2303=y 41 | CONFIG_PACKAGE_kmod-usb-serial-qualcomm=y 42 | CONFIG_PACKAGE_kmod-usb-serial-sierrawireless=y 43 | CONFIG_PACKAGE_kmod-usb-storage=y 44 | CONFIG_PACKAGE_kmod-usb-storage-extras=y 45 | CONFIG_PACKAGE_kmod-usb-uhci=y 46 | CONFIG_PACKAGE_kmod-usb-wdm=y 47 | CONFIG_PACKAGE_kmod-usb-xhci-hcd=y 48 | CONFIG_PACKAGE_kmod-usb2=y 49 | CONFIG_PACKAGE_kmod-usb3=y 50 | CONFIG_PACKAGE_kmod-usbip=y 51 | CONFIG_PACKAGE_kmod-usbip-client=y 52 | CONFIG_PACKAGE_kmod-usbip-server=y 53 | CONFIG_PACKAGE_kmod-usbmon=y 54 | 55 | # USB Net Drivers 56 | CONFIG_PACKAGE_kmod-usb-audio=y 57 | CONFIG_PACKAGE_kmod-usb-core=y 58 | CONFIG_PACKAGE_kmod-usb-dwc2=y 59 | CONFIG_PACKAGE_kmod-usb-dwc3=y 60 | CONFIG_PACKAGE_kmod-usb-ehci=y 61 | CONFIG_PACKAGE_kmod-usb-hid=y 62 | CONFIG_PACKAGE_kmod-usb-net=y 63 | CONFIG_PACKAGE_kmod-usb-net-asix=y 64 | CONFIG_PACKAGE_kmod-usb-net-asix-ax88179=y 65 | CONFIG_PACKAGE_kmod-usb-net-cdc-eem=y 66 | CONFIG_PACKAGE_kmod-usb-net-cdc-ether=y 67 | CONFIG_PACKAGE_kmod-usb-net-cdc-mbim=y 68 | CONFIG_PACKAGE_kmod-usb-net-cdc-ncm=y 69 | CONFIG_PACKAGE_kmod-usb-net-cdc-subset=y 70 | CONFIG_PACKAGE_kmod-usb-net-dm9601-ether=y 71 | CONFIG_PACKAGE_kmod-usb-net-hso=y 72 | CONFIG_PACKAGE_kmod-usb-net-huawei-cdc-ncm=y 73 | CONFIG_PACKAGE_kmod-usb-net-ipheth=y 74 | CONFIG_PACKAGE_kmod-usb-net-kalmia=y 75 | CONFIG_PACKAGE_kmod-usb-net-kaweth=y 76 | CONFIG_PACKAGE_kmod-usb-net-mcs7830=y 77 | CONFIG_PACKAGE_kmod-usb-net-pegasus=y 78 | CONFIG_PACKAGE_kmod-usb-net-pl=y 79 | CONFIG_PACKAGE_kmod-usb-net-qmi-wwan=y 80 | CONFIG_PACKAGE_kmod-usb-net-rndis=y 81 | CONFIG_PACKAGE_kmod-usb-net-rtl8150=y 82 | CONFIG_PACKAGE_kmod-usb-net-rtl8152=y 83 | CONFIG_PACKAGE_kmod-usb-net-sierrawireless=y 84 | CONFIG_PACKAGE_kmod-usb-net-smsc95xx=y 85 | CONFIG_PACKAGE_kmod-usb-net-sr9700=y 86 | 87 | # USB Wireless Card Drivers 88 | CONFIG_PACKAGE_kmod-ath=y 89 | CONFIG_PACKAGE_kmod-ath10k=y 90 | CONFIG_PACKAGE_kmod-ath10k-pci=y 91 | CONFIG_PACKAGE_kmod-ath11k=y 92 | CONFIG_PACKAGE_kmod-ath11k-pci=y 93 | CONFIG_PACKAGE_kmod-ath5k=y 94 | CONFIG_PACKAGE_kmod-ath9k=y 95 | CONFIG_PACKAGE_kmod-ath9k-common=y 96 | CONFIG_PACKAGE_kmod-brcmfmac=y 97 | CONFIG_PACKAGE_kmod-brcmutil=y 98 | CONFIG_PACKAGE_kmod-carl9170=y 99 | CONFIG_PACKAGE_kmod-cfg80211=y 100 | CONFIG_PACKAGE_kmod-iwlwifi=y 101 | CONFIG_PACKAGE_kmod-mac80211=y 102 | CONFIG_PACKAGE_kmod-mt76-connac=y 103 | CONFIG_PACKAGE_kmod-mt76-core=y 104 | CONFIG_PACKAGE_kmod-mt76-usb=y 105 | CONFIG_PACKAGE_kmod-mt7601u=y 106 | CONFIG_PACKAGE_kmod-mt7615-common=y 107 | CONFIG_PACKAGE_kmod-mt7615e=y 108 | CONFIG_PACKAGE_kmod-mt7663-usb-sdio=y 109 | CONFIG_PACKAGE_kmod-mt7663u=y 110 | CONFIG_PACKAGE_kmod-mt76x0-common=y 111 | CONFIG_PACKAGE_kmod-mt76x02-common=y 112 | CONFIG_PACKAGE_kmod-mt76x02-usb=y 113 | CONFIG_PACKAGE_kmod-mt76x0u=y 114 | CONFIG_PACKAGE_kmod-mt76x2-common=y 115 | CONFIG_PACKAGE_kmod-mt76x2u=y 116 | CONFIG_PACKAGE_kmod-mt7916-firmware=y 117 | CONFIG_PACKAGE_kmod-mt7921-common=y 118 | CONFIG_PACKAGE_kmod-mt7921-firmware=y 119 | CONFIG_PACKAGE_kmod-mt7921e=y 120 | CONFIG_PACKAGE_kmod-mt7922-firmware=y 121 | CONFIG_PACKAGE_kmod-rsi91x=y 122 | CONFIG_PACKAGE_kmod-rsi91x-usb=y 123 | CONFIG_PACKAGE_kmod-rt2800-lib=y 124 | CONFIG_PACKAGE_kmod-rt2800-usb=y 125 | CONFIG_PACKAGE_kmod-rt2x00-lib=y 126 | CONFIG_PACKAGE_kmod-rt2x00-usb=y 127 | CONFIG_PACKAGE_kmod-rtl8192c-common=y 128 | CONFIG_PACKAGE_kmod-rtl8192cu=y 129 | CONFIG_PACKAGE_kmod-rtl8723bs=y 130 | CONFIG_PACKAGE_kmod-rtlwifi=y 131 | CONFIG_PACKAGE_kmod-rtlwifi-usb=y 132 | 133 | # Wireless Card Firmware 134 | CONFIG_PACKAGE_ath10k-board-qca9377=y 135 | CONFIG_PACKAGE_ath10k-board-qca9984=y 136 | CONFIG_PACKAGE_ath10k-board-qca99x0=y 137 | CONFIG_PACKAGE_ath10k-firmware-qca6174=y 138 | CONFIG_PACKAGE_ath10k-firmware-qca9377=y 139 | CONFIG_PACKAGE_ath10k-firmware-qca9984=y 140 | CONFIG_PACKAGE_ath10k-firmware-qca99x0=y 141 | CONFIG_PACKAGE_ath11k-firmware-wcn6855=y 142 | CONFIG_PACKAGE_ath9k-htc-firmware=y 143 | CONFIG_PACKAGE_carl9170-firmware=y 144 | CONFIG_PACKAGE_iwlwifi-firmware-ax200=y 145 | CONFIG_PACKAGE_iwlwifi-firmware-ax201=y 146 | CONFIG_PACKAGE_iwlwifi-firmware-ax210=y 147 | CONFIG_PACKAGE_iwlwifi-firmware-iwl3160=y 148 | CONFIG_PACKAGE_iwlwifi-firmware-iwl3168=y 149 | CONFIG_PACKAGE_iwlwifi-firmware-iwl7260=y 150 | CONFIG_PACKAGE_iwlwifi-firmware-iwl7265=y 151 | CONFIG_PACKAGE_iwlwifi-firmware-iwl7265d=y 152 | CONFIG_PACKAGE_iwlwifi-firmware-iwl8260c=y 153 | CONFIG_PACKAGE_iwlwifi-firmware-iwl8265=y 154 | CONFIG_PACKAGE_iwlwifi-firmware-iwl9000=y 155 | CONFIG_PACKAGE_iwlwifi-firmware-iwl9260=y 156 | CONFIG_PACKAGE_mt7601u-firmware=y 157 | CONFIG_PACKAGE_mt7921bt-firmware=y 158 | CONFIG_PACKAGE_mt7922bt-firmware=y 159 | CONFIG_PACKAGE_p54-usb-firmware=y 160 | CONFIG_PACKAGE_r8152-firmware=y 161 | CONFIG_PACKAGE_rs9113-firmware=y 162 | CONFIG_PACKAGE_rt2800-usb-firmware=y 163 | CONFIG_PACKAGE_rt73-usb-firmware=y 164 | CONFIG_PACKAGE_rtl8192cu-firmware=y 165 | 166 | # Applications 167 | CONFIG_PACKAGE_luci-app-accesscontrol=y 168 | CONFIG_PACKAGE_luci-app-adbyby-plus=y 169 | CONFIG_PACKAGE_luci-app-adguardhome=y 170 | CONFIG_PACKAGE_luci-app-airplay2=y 171 | CONFIG_PACKAGE_luci-app-alist=y 172 | # CONFIG_PACKAGE_luci-app-aliyundrive-fuse is not set 173 | # CONFIG_PACKAGE_luci-app-aliyundrive-webdav is not set 174 | # CONFIG_PACKAGE_luci-app-amule is not set 175 | CONFIG_PACKAGE_luci-app-argon-config=y 176 | CONFIG_PACKAGE_luci-app-aria2=y 177 | CONFIG_PACKAGE_luci-app-arpbind=y 178 | CONFIG_PACKAGE_luci-app-autoreboot=y 179 | CONFIG_PACKAGE_luci-app-cifs-mount=y 180 | CONFIG_PACKAGE_luci-app-cpufreq=y 181 | CONFIG_PACKAGE_luci-app-ddns=y 182 | # CONFIG_PACKAGE_luci-app-ddnsto is not set 183 | CONFIG_PACKAGE_luci-app-diskman=y 184 | CONFIG_PACKAGE_luci-app-diskman_INCLUDE_btrfs_progs=y 185 | CONFIG_PACKAGE_luci-app-diskman_INCLUDE_lsblk=y 186 | CONFIG_PACKAGE_luci-app-dockerman=y 187 | CONFIG_PACKAGE_luci-app-eqos=y 188 | CONFIG_PACKAGE_luci-app-filebrowser=y 189 | CONFIG_PACKAGE_luci-app-filetransfer=y 190 | CONFIG_PACKAGE_luci-app-firewall=y 191 | CONFIG_PACKAGE_luci-app-frpc=y 192 | CONFIG_PACKAGE_luci-app-frps=y 193 | # CONFIG_PACKAGE_luci-app-guest-wifi is not set 194 | CONFIG_PACKAGE_luci-app-hd-idle=y 195 | CONFIG_PACKAGE_luci-app-ikoolproxy=y 196 | CONFIG_PACKAGE_luci-app-ipsec-vpnd=y 197 | CONFIG_PACKAGE_luci-app-kodexplorer=y 198 | CONFIG_PACKAGE_luci-app-minidlna=y 199 | # CONFIG_PACKAGE_luci-app-mjpg-streamer is not set 200 | CONFIG_PACKAGE_luci-app-mosdns=y 201 | CONFIG_PACKAGE_luci-app-msd_lite=y 202 | # CONFIG_PACKAGE_luci-app-music-remote-center is not set 203 | CONFIG_PACKAGE_luci-app-mwan3=y 204 | CONFIG_PACKAGE_luci-app-mwan3helper=y 205 | CONFIG_PACKAGE_luci-app-n2n=y 206 | CONFIG_PACKAGE_luci-app-netdata=y 207 | CONFIG_PACKAGE_luci-app-nfs=y 208 | CONFIG_PACKAGE_luci-app-nlbwmon=y 209 | CONFIG_PACKAGE_luci-app-nps=y 210 | CONFIG_PACKAGE_luci-app-oaf=y 211 | CONFIG_PACKAGE_luci-app-onliner=y 212 | CONFIG_PACKAGE_luci-app-openclash=y 213 | CONFIG_PACKAGE_luci-app-openvpn-server=y 214 | CONFIG_PACKAGE_luci-app-passwall=y 215 | CONFIG_PACKAGE_luci-app-passwall_Iptables_Transparent_Proxy=y 216 | CONFIG_PACKAGE_luci-app-passwall_Nftables_Transparent_Proxy=y 217 | CONFIG_PACKAGE_luci-app-passwall_INCLUDE_Brook=y 218 | CONFIG_PACKAGE_luci-app-passwall_INCLUDE_Hysteria=y 219 | CONFIG_PACKAGE_luci-app-passwall_INCLUDE_NaiveProxy=y 220 | CONFIG_PACKAGE_luci-app-passwall_INCLUDE_Shadowsocks_Rust_Client=y 221 | CONFIG_PACKAGE_luci-app-passwall_INCLUDE_Shadowsocks_Rust_Server=y 222 | CONFIG_PACKAGE_luci-app-passwall_INCLUDE_ShadowsocksR_Libev_Server=y 223 | CONFIG_PACKAGE_luci-app-passwall_INCLUDE_Trojan_GO=y 224 | CONFIG_PACKAGE_luci-app-passwall_INCLUDE_tuic_client=y 225 | CONFIG_PACKAGE_luci-app-passwall_INCLUDE_V2ray_Geodata=y 226 | CONFIG_PACKAGE_luci-app-passwall_INCLUDE_Xray_Plugin=y 227 | CONFIG_PACKAGE_luci-app-passwall2=y 228 | CONFIG_PACKAGE_luci-app-passwall2_Iptables_Transparent_Proxy=y 229 | CONFIG_PACKAGE_luci-app-passwall2_Nftables_Transparent_Proxy=y 230 | CONFIG_PACKAGE_luci-app-passwall2_INCLUDE_Brook=y 231 | CONFIG_PACKAGE_luci-app-passwall2_INCLUDE_Hysteria=y 232 | CONFIG_PACKAGE_luci-app-passwall2_INCLUDE_IPv6_Nat=y 233 | CONFIG_PACKAGE_luci-app-passwall2_INCLUDE_NaiveProxy=y 234 | CONFIG_PACKAGE_luci-app-passwall2_INCLUDE_Shadowsocks_Libev_Server=y 235 | CONFIG_PACKAGE_luci-app-passwall2_INCLUDE_Shadowsocks_Rust_Client=y 236 | CONFIG_PACKAGE_luci-app-passwall2_INCLUDE_Shadowsocks_Rust_Server=y 237 | CONFIG_PACKAGE_luci-app-passwall2_INCLUDE_ShadowsocksR_Libev_Server=y 238 | CONFIG_PACKAGE_luci-app-passwall2_INCLUDE_tuic_client=y 239 | CONFIG_PACKAGE_luci-app-poweroff=y 240 | CONFIG_PACKAGE_luci-app-pptp-server=y 241 | CONFIG_PACKAGE_luci-app-pushbot=y 242 | CONFIG_PACKAGE_luci-app-qbittorrent=y 243 | # CONFIG_PACKAGE_luci-app-qbittorrent_static is not set 244 | CONFIG_PACKAGE_luci-app-qbittorrent_dynamic=y 245 | CONFIG_PACKAGE_luci-app-ramfree=y 246 | CONFIG_PACKAGE_luci-app-rclone=y 247 | # CONFIG_PACKAGE_luci-app-samba is not set 248 | CONFIG_PACKAGE_luci-app-samba4=y 249 | CONFIG_PACKAGE_luci-app-serverchan=y 250 | CONFIG_PACKAGE_luci-app-smartdns=y 251 | CONFIG_PACKAGE_luci-app-socat=y 252 | CONFIG_PACKAGE_luci-app-softethervpn=y 253 | CONFIG_PACKAGE_luci-app-sqm=y 254 | CONFIG_PACKAGE_luci-app-ssr-plus=y 255 | CONFIG_PACKAGE_luci-app-ssr-plus_INCLUDE_Hysteria=y 256 | CONFIG_PACKAGE_luci-app-ssr-plus_INCLUDE_IPT2Socks=y 257 | CONFIG_PACKAGE_luci-app-ssr-plus_INCLUDE_Kcptun=y 258 | CONFIG_PACKAGE_luci-app-ssr-plus_INCLUDE_NaiveProxy=y 259 | CONFIG_PACKAGE_luci-app-ssr-plus_INCLUDE_Redsocks2=y 260 | CONFIG_PACKAGE_luci-app-ssr-plus_INCLUDE_Shadow_TLS=y 261 | # CONFIG_PACKAGE_luci-app-ssr-plus_INCLUDE_Shadowsocks_Libev_Server is not set 262 | CONFIG_PACKAGE_luci-app-ssr-plus_INCLUDE_Shadowsocks_Rust_Server=y 263 | CONFIG_PACKAGE_luci-app-ssr-plus_INCLUDE_Trojan=y 264 | CONFIG_PACKAGE_luci-app-ssr-plus_INCLUDE_Tuic_Client=y 265 | CONFIG_PACKAGE_luci-app-store=y 266 | CONFIG_PACKAGE_luci-app-syncdial=y 267 | CONFIG_PACKAGE_luci-app-transmission=y 268 | CONFIG_PACKAGE_luci-app-ttyd=y 269 | CONFIG_PACKAGE_luci-app-turboacc=y 270 | CONFIG_PACKAGE_luci-app-turboacc_INCLUDE_OFFLOADING=y 271 | # CONFIG_PACKAGE_luci-app-turboacc_INCLUDE_DNSFORWARDER is not set 272 | # CONFIG_PACKAGE_luci-app-turboacc_INCLUDE_DNSPROXY is not set 273 | CONFIG_PACKAGE_luci-app-udpxy=y 274 | CONFIG_PACKAGE_luci-app-uhttpd=y 275 | CONFIG_PACKAGE_luci-app-unblockmusic=y 276 | CONFIG_PACKAGE_luci-app-unblockmusic_INCLUDE_UnblockNeteaseMusic_Go=y 277 | CONFIG_PACKAGE_luci-app-unblockmusic_INCLUDE_UnblockNeteaseMusic_NodeJS=y 278 | CONFIG_PACKAGE_luci-app-upnp=y 279 | CONFIG_PACKAGE_luci-app-usb-printer=y 280 | CONFIG_PACKAGE_luci-app-uugamebooster=y 281 | CONFIG_PACKAGE_luci-app-v2ray-server=y 282 | CONFIG_PACKAGE_luci-app-verysync=y 283 | CONFIG_PACKAGE_luci-app-vlmcsd=y 284 | CONFIG_PACKAGE_luci-app-vsftpd=y 285 | CONFIG_PACKAGE_luci-app-vssr=y 286 | CONFIG_PACKAGE_luci-app-vssr_INCLUDE_Kcptun=y 287 | # CONFIG_PACKAGE_luci-app-watchcat is not set 288 | # CONFIG_PACKAGE_luci-app-webadmin is not set 289 | # CONFIG_PACKAGE_luci-app-wifischedule is not set 290 | CONFIG_PACKAGE_luci-app-wireguard=y 291 | CONFIG_PACKAGE_luci-app-wol=y 292 | CONFIG_PACKAGE_luci-app-wrtbwmon=y 293 | CONFIG_PACKAGE_luci-app-xlnetacc=y 294 | CONFIG_PACKAGE_luci-app-zerotier=y 295 | 296 | # Themes 297 | CONFIG_PACKAGE_luci-theme-argon=y 298 | CONFIG_PACKAGE_luci-theme-atmaterial=y 299 | CONFIG_PACKAGE_luci-theme-edge=y 300 | CONFIG_PACKAGE_luci-theme-infinityfreedom=y 301 | CONFIG_PACKAGE_luci-theme-design=y 302 | CONFIG_PACKAGE_luci-theme-netgear=y 303 | CONFIG_PACKAGE_luci-theme-opentomcat=y 304 | 305 | # 3G/4G Support 306 | CONFIG_PACKAGE_comgt-ncm=y 307 | CONFIG_PACKAGE_comgt=y 308 | CONFIG_PACKAGE_kmod-mii=y 309 | CONFIG_PACKAGE_kmod-usb-acm=y 310 | CONFIG_PACKAGE_kmod-usb-serial=y 311 | CONFIG_PACKAGE_kmod-usb-serial-option=y 312 | CONFIG_PACKAGE_kmod-usb-serial-wwan=y 313 | CONFIG_PACKAGE_luci-proto-3g=y 314 | CONFIG_PACKAGE_luci-proto-ncm=y 315 | CONFIG_PACKAGE_luci-proto-qmi=y 316 | CONFIG_PACKAGE_qmi-utils=y 317 | CONFIG_PACKAGE_umbim=y 318 | CONFIG_PACKAGE_uqmi=y 319 | CONFIG_PACKAGE_usb-modeswitch=y 320 | 321 | # Python3 322 | CONFIG_PACKAGE_python-pip-conf=y 323 | CONFIG_PACKAGE_python3=y 324 | 325 | # Software 326 | CONFIG_PACKAGE_ariang=y 327 | CONFIG_PACKAGE_automount=y 328 | CONFIG_PACKAGE_autosamba=y 329 | CONFIG_PACKAGE_bsdtar=y 330 | CONFIG_PACKAGE_ddns-scripts_cloudflare.com-v4=y 331 | CONFIG_PACKAGE_ddns-scripts_freedns_42_pl=y 332 | CONFIG_PACKAGE_ddns-scripts_godaddy.com-v1=y 333 | CONFIG_PACKAGE_ddns-scripts_no-ip_com=y 334 | CONFIG_PACKAGE_ddns-scripts_nsupdate=y 335 | CONFIG_PACKAGE_ddns-scripts_route53-v1=y 336 | CONFIG_PACKAGE_diffutils=y 337 | CONFIG_PACKAGE_docker-compose=y 338 | CONFIG_PACKAGE_e2fsprogs=y 339 | CONFIG_PACKAGE_f2fs-tools=y 340 | CONFIG_PACKAGE_f2fsck=y 341 | CONFIG_PACKAGE_fdisk=y 342 | CONFIG_PACKAGE_gpiod-tools=y 343 | CONFIG_PACKAGE_gzip=y 344 | CONFIG_PACKAGE_hostapd-common=y 345 | CONFIG_PACKAGE_htop=y 346 | CONFIG_PACKAGE_iperf3=y 347 | CONFIG_PACKAGE_lsblk=y 348 | CONFIG_PACKAGE_lscpu=y 349 | CONFIG_PACKAGE_nano-plus=y 350 | CONFIG_PACKAGE_nginx=y 351 | CONFIG_PACKAGE_openssh-sftp-client=y 352 | CONFIG_PACKAGE_openssh-sftp-server=y 353 | CONFIG_PACKAGE_resize2fs=y 354 | CONFIG_PACKAGE_snmpd=y 355 | CONFIG_PACKAGE_tmux=y 356 | CONFIG_PACKAGE_tree=y 357 | CONFIG_PACKAGE_unzip=y 358 | CONFIG_PACKAGE_usbutils=y 359 | CONFIG_PACKAGE_vim-fuller=y 360 | CONFIG_PACKAGE_whereis=y 361 | CONFIG_PACKAGE_wireless-tools=y 362 | CONFIG_PACKAGE_wpad-openssl=y 363 | CONFIG_PACKAGE_zsh=y 364 | 365 | # Shortcut-Fe 366 | CONFIG_PACKAGE_kmod-shortcut-fe=y 367 | CONFIG_PACKAGE_kmod-shortcut-fe-cm=y 368 | 369 | # Ipv6 Support 370 | CONFIG_PACKAGE_6in4=y 371 | CONFIG_PACKAGE_ipv6helper=y 372 | CONFIG_PACKAGE_ip6tables=y 373 | CONFIG_PACKAGE_ip6tables-extra=y 374 | CONFIG_PACKAGE_ip6tables-mod-nat=y 375 | -------------------------------------------------------------------------------- /configs/rockchip.config: -------------------------------------------------------------------------------- 1 | # Target Config 2 | CONFIG_TARGET_rockchip=y 3 | CONFIG_TARGET_rockchip_armv8=y 4 | CONFIG_TARGET_MULTI_PROFILE=y 5 | CONFIG_TARGET_DEVICE_rockchip_armv8_DEVICE_ezpro_mrkaio-m68s=y 6 | CONFIG_TARGET_DEVICE_rockchip_armv8_DEVICE_ezpro_mrkaio-m68s-plus=y 7 | CONFIG_TARGET_DEVICE_rockchip_armv8_DEVICE_fastrhino_r66s=y 8 | CONFIG_TARGET_DEVICE_rockchip_armv8_DEVICE_fastrhino_r68s=y 9 | CONFIG_TARGET_DEVICE_rockchip_armv8_DEVICE_firefly_station-p2=y 10 | CONFIG_TARGET_DEVICE_rockchip_armv8_DEVICE_friendlyarm_nanopi-neo3=y 11 | CONFIG_TARGET_DEVICE_rockchip_armv8_DEVICE_friendlyarm_nanopi-r2c=y 12 | CONFIG_TARGET_DEVICE_rockchip_armv8_DEVICE_friendlyarm_nanopi-r2s=y 13 | CONFIG_TARGET_DEVICE_rockchip_armv8_DEVICE_friendlyarm_nanopi-r4s=y 14 | CONFIG_TARGET_DEVICE_rockchip_armv8_DEVICE_friendlyarm_nanopi-r4se=y 15 | CONFIG_TARGET_DEVICE_rockchip_armv8_DEVICE_friendlyarm_nanopi-r5c=y 16 | CONFIG_TARGET_DEVICE_rockchip_armv8_DEVICE_friendlyarm_nanopi-r5s=y 17 | CONFIG_TARGET_DEVICE_rockchip_armv8_DEVICE_hinlink_opc-h66k=y 18 | CONFIG_TARGET_DEVICE_rockchip_armv8_DEVICE_hinlink_opc-h68k=y 19 | CONFIG_TARGET_DEVICE_rockchip_armv8_DEVICE_hinlink_opc-h69k=y 20 | CONFIG_TARGET_DEVICE_rockchip_armv8_DEVICE_lyt_t68m=y 21 | CONFIG_TARGET_DEVICE_rockchip_armv8_DEVICE_xunlong_orangepi-r1-plus=y 22 | CONFIG_TARGET_DEVICE_rockchip_armv8_DEVICE_xunlong_orangepi-r1-plus-lts=y 23 | 24 | # Set Firmware Size 25 | CONFIG_TARGET_KERNEL_PARTSIZE=64 26 | CONFIG_TARGET_ROOTFS_PARTSIZE=960 27 | 28 | # Firmware Type 29 | CONFIG_TARGET_ROOTFS_TARGZ=y 30 | # CONFIG_TARGET_ROOTFS_EXT4FS is not set 31 | CONFIG_TARGET_ROOTFS_SQUASHFS=y 32 | -------------------------------------------------------------------------------- /configs/rpi3.config: -------------------------------------------------------------------------------- 1 | # Target Config 2 | CONFIG_TARGET_bcm27xx=y 3 | CONFIG_TARGET_bcm27xx_bcm2710=y 4 | CONFIG_TARGET_bcm27xx_bcm2710_DEVICE_rpi-3=y 5 | 6 | # Set Firmware Size 7 | CONFIG_TARGET_KERNEL_PARTSIZE=64 8 | CONFIG_TARGET_ROOTFS_PARTSIZE=960 9 | 10 | # Firmware Type 11 | CONFIG_TARGET_ROOTFS_TARGZ=y 12 | # CONFIG_TARGET_ROOTFS_EXT4FS is not set 13 | CONFIG_TARGET_ROOTFS_SQUASHFS=y 14 | -------------------------------------------------------------------------------- /configs/rpi4.config: -------------------------------------------------------------------------------- 1 | # Target Config 2 | CONFIG_TARGET_bcm27xx=y 3 | CONFIG_TARGET_bcm27xx_bcm2711=y 4 | CONFIG_TARGET_bcm27xx_bcm2711_DEVICE_rpi-4=y 5 | 6 | # Set Firmware Size 7 | CONFIG_TARGET_KERNEL_PARTSIZE=64 8 | CONFIG_TARGET_ROOTFS_PARTSIZE=960 9 | 10 | # Firmware Type 11 | CONFIG_TARGET_ROOTFS_TARGZ=y 12 | # CONFIG_TARGET_ROOTFS_EXT4FS is not set 13 | CONFIG_TARGET_ROOTFS_SQUASHFS=y 14 | -------------------------------------------------------------------------------- /configs/x86_64-mini.config: -------------------------------------------------------------------------------- 1 | # Target Config 2 | CONFIG_TARGET_x86=y 3 | CONFIG_TARGET_x86_64=y 4 | CONFIG_TARGET_x86_64_DEVICE_generic=y 5 | 6 | # Set Firmware Size 7 | CONFIG_TARGET_KERNEL_PARTSIZE=16 8 | CONFIG_TARGET_ROOTFS_PARTSIZE=400 9 | 10 | # Firmware Type 11 | # CONFIG_GRUB_CONSOLE is not set 12 | CONFIG_GRUB_IMAGES=y 13 | CONFIG_GRUB_EFI_IMAGES=y 14 | CONFIG_TARGET_IMAGES_GZIP=y 15 | # CONFIG_TARGET_ROOTFS_EXT4FS is not set 16 | CONFIG_TARGET_ROOTFS_SQUASHFS=y 17 | CONFIG_TARGET_ROOTFS_TARGZ=y 18 | # CONFIG_VMDK_IMAGES is not set 19 | 20 | # Applications 21 | # CONFIG_PACKAGE_luci-app-accesscontrol is not set 22 | # CONFIG_PACKAGE_luci-app-adbyby-plus is not set 23 | CONFIG_PACKAGE_luci-app-adguardhome=y 24 | CONFIG_PACKAGE_luci-app-alist=y 25 | CONFIG_PACKAGE_luci-app-argon-config=y 26 | CONFIG_PACKAGE_luci-app-arpbind=y 27 | CONFIG_PACKAGE_luci-app-autoreboot=y 28 | # CONFIG_PACKAGE_luci-app-cifs-mount is not set 29 | CONFIG_PACKAGE_luci-app-ddns=y 30 | CONFIG_PACKAGE_luci-app-diskman=y 31 | # CONFIG_PACKAGE_luci-app-dockerman is not set 32 | CONFIG_PACKAGE_luci-app-filetransfer=y 33 | CONFIG_PACKAGE_luci-app-firewall=y 34 | # CONFIG_PACKAGE_luci-app-frpc is not set 35 | # CONFIG_PACKAGE_luci-app-ipsec-vpnd is not set 36 | CONFIG_PACKAGE_luci-app-mosdns=y 37 | CONFIG_PACKAGE_luci-app-netdata=y 38 | CONFIG_PACKAGE_luci-app-nlbwmon=y 39 | CONFIG_PACKAGE_luci-app-onliner=y 40 | CONFIG_PACKAGE_luci-app-openclash=y 41 | CONFIG_PACKAGE_luci-app-passwall=y 42 | CONFIG_PACKAGE_luci-app-passwall_Iptables_Transparent_Proxy=y 43 | CONFIG_PACKAGE_luci-app-passwall_INCLUDE_Brook=y 44 | CONFIG_PACKAGE_luci-app-passwall_INCLUDE_Hysteria=y 45 | CONFIG_PACKAGE_luci-app-passwall_INCLUDE_NaiveProxy=y 46 | CONFIG_PACKAGE_luci-app-passwall_INCLUDE_Shadowsocks_Rust_Client=y 47 | CONFIG_PACKAGE_luci-app-passwall_INCLUDE_Shadowsocks_Rust_Server=y 48 | CONFIG_PACKAGE_luci-app-passwall_INCLUDE_ShadowsocksR_Libev_Server=y 49 | CONFIG_PACKAGE_luci-app-passwall_INCLUDE_Trojan_GO=y 50 | CONFIG_PACKAGE_luci-app-passwall_INCLUDE_tuic_client=y 51 | # CONFIG_PACKAGE_luci-app-passwall2 is not set 52 | # CONFIG_PACKAGE_luci-app-ramfree is not set 53 | # CONFIG_PACKAGE_luci-app-rclone_INCLUDE_rclone-ng is not set 54 | # CONFIG_PACKAGE_luci-app-rclone_INCLUDE_rclone-webui is not set 55 | # CONFIG_PACKAGE_luci-app-samba is not set 56 | CONFIG_PACKAGE_luci-app-samba4=y 57 | # CONFIG_PACKAGE_luci-app-smartdns is not set 58 | CONFIG_PACKAGE_luci-app-ssr-plus=y 59 | CONFIG_PACKAGE_luci-app-ssr-plus_INCLUDE_Hysteria=y 60 | CONFIG_PACKAGE_luci-app-ssr-plus_INCLUDE_IPT2Socks=y 61 | CONFIG_PACKAGE_luci-app-ssr-plus_INCLUDE_Kcptun=y 62 | CONFIG_PACKAGE_luci-app-ssr-plus_INCLUDE_NaiveProxy=y 63 | CONFIG_PACKAGE_luci-app-ssr-plus_INCLUDE_Redsocks2=y 64 | CONFIG_PACKAGE_luci-app-ssr-plus_INCLUDE_Shadow_TLS=y 65 | # CONFIG_PACKAGE_luci-app-ssr-plus_INCLUDE_Shadowsocks_Libev_Server is not set 66 | CONFIG_PACKAGE_luci-app-ssr-plus_INCLUDE_Shadowsocks_Rust_Server=y 67 | CONFIG_PACKAGE_luci-app-ssr-plus_INCLUDE_Trojan=y 68 | CONFIG_PACKAGE_luci-app-ssr-plus_INCLUDE_Tuic_Client=y 69 | CONFIG_PACKAGE_luci-app-ttyd=y 70 | CONFIG_PACKAGE_luci-app-turboacc=y 71 | CONFIG_PACKAGE_luci-app-turboacc_INCLUDE_OFFLOADING=y 72 | # CONFIG_PACKAGE_luci-app-turboacc_INCLUDE_DNSFORWARDER is not set 73 | # CONFIG_PACKAGE_luci-app-turboacc_INCLUDE_DNSPROXY is not set 74 | CONFIG_PACKAGE_luci-app-unblockmusic=y 75 | CONFIG_PACKAGE_luci-app-upnp=y 76 | # CONFIG_PACKAGE_luci-app-vlmcsd is not set 77 | # CONFIG_PACKAGE_luci-app-vsftpd is not set 78 | # CONFIG_PACKAGE_luci-app-vssr is not set 79 | # CONFIG_PACKAGE_luci-app-vssr_INCLUDE_Kcptun is not set 80 | # CONFIG_PACKAGE_luci-app-wireguard is not set 81 | # CONFIG_PACKAGE_luci-app-wol is not set 82 | # CONFIG_PACKAGE_luci-app-wrtbwmon is not set 83 | # CONFIG_PACKAGE_luci-app-xlnetacc is not set 84 | CONFIG_PACKAGE_luci-app-zerotier=y 85 | 86 | # Themes 87 | CONFIG_PACKAGE_luci-theme-argon=y 88 | CONFIG_PACKAGE_luci-theme-design=y 89 | CONFIG_PACKAGE_luci-theme-infinityfreedom=y 90 | CONFIG_PACKAGE_luci-theme-opentomcat=y 91 | 92 | # Software 93 | CONFIG_PACKAGE_autosamba=y 94 | CONFIG_PACKAGE_ddns-scripts_cloudflare.com-v4=y 95 | CONFIG_PACKAGE_htop=y 96 | CONFIG_PACKAGE_iperf3=y 97 | CONFIG_PACKAGE_nano-plus=y 98 | CONFIG_PACKAGE_openssh-sftp-server=y 99 | CONFIG_PACKAGE_snmpd=y 100 | CONFIG_PACKAGE_vim-fuller=y 101 | CONFIG_PACKAGE_zsh=y 102 | 103 | # Shortcut-Fe 104 | CONFIG_PACKAGE_kmod-shortcut-fe=y 105 | CONFIG_PACKAGE_kmod-shortcut-fe-cm=y 106 | 107 | # Ipv6 Support 108 | CONFIG_PACKAGE_6in4=y 109 | CONFIG_PACKAGE_ipv6helper=y 110 | CONFIG_PACKAGE_ip6tables=y 111 | CONFIG_PACKAGE_ip6tables-extra=y 112 | CONFIG_PACKAGE_ip6tables-mod-nat=y 113 | -------------------------------------------------------------------------------- /configs/x86_64.config: -------------------------------------------------------------------------------- 1 | # Target Config 2 | CONFIG_TARGET_x86=y 3 | CONFIG_TARGET_x86_64=y 4 | CONFIG_TARGET_x86_64_DEVICE_generic=y 5 | 6 | # Set Firmware Size 7 | CONFIG_TARGET_KERNEL_PARTSIZE=64 8 | CONFIG_TARGET_ROOTFS_PARTSIZE=960 9 | 10 | # Firmware Type 11 | # CONFIG_GRUB_CONSOLE is not set 12 | CONFIG_GRUB_IMAGES=y 13 | CONFIG_GRUB_EFI_IMAGES=y 14 | CONFIG_TARGET_IMAGES_GZIP=y 15 | # CONFIG_TARGET_ROOTFS_EXT4FS is not set 16 | CONFIG_TARGET_ROOTFS_SQUASHFS=y 17 | CONFIG_TARGET_ROOTFS_TARGZ=y 18 | # CONFIG_VMDK_IMAGES is not set 19 | 20 | # Image Builder 21 | CONFIG_IB=y 22 | CONFIG_IB_STANDALONE=y 23 | CONFIG_DEVEL=y 24 | 25 | # File System Drivers 26 | CONFIG_PACKAGE_kmod-fs-autofs4=y 27 | CONFIG_PACKAGE_kmod-fs-btrfs=y 28 | CONFIG_PACKAGE_kmod-fs-cifs=y 29 | CONFIG_PACKAGE_kmod-fs-exfat=y 30 | CONFIG_PACKAGE_kmod-fs-exportfs=y 31 | CONFIG_PACKAGE_kmod-fs-ext4=y 32 | CONFIG_PACKAGE_kmod-fs-f2fs=y 33 | CONFIG_PACKAGE_kmod-fs-hfs=y 34 | CONFIG_PACKAGE_kmod-fs-hfsplus=y 35 | CONFIG_PACKAGE_kmod-fs-isofs=y 36 | CONFIG_PACKAGE_kmod-fs-msdos=y 37 | CONFIG_PACKAGE_kmod-fs-nfs=y 38 | CONFIG_PACKAGE_kmod-fs-nfs-common=y 39 | CONFIG_PACKAGE_kmod-fs-nfs-common-rpcsec=y 40 | CONFIG_PACKAGE_kmod-fs-nfs-v3=y 41 | CONFIG_PACKAGE_kmod-fs-nfs-v4=y 42 | CONFIG_PACKAGE_kmod-fs-nfsd=y 43 | CONFIG_PACKAGE_kmod-fs-ntfs3=y 44 | CONFIG_PACKAGE_kmod-fs-smbfs-common=y 45 | CONFIG_PACKAGE_kmod-fs-squashfs=y 46 | CONFIG_PACKAGE_kmod-fs-udf=y 47 | CONFIG_PACKAGE_kmod-fs-vfat=y 48 | CONFIG_PACKAGE_kmod-fs-xfs=y 49 | CONFIG_PACKAGE_kmod-fuse=y 50 | 51 | # USB Storage Drivers 52 | CONFIG_PACKAGE_kmod-usb-ohci=y 53 | CONFIG_PACKAGE_kmod-usb-printer=y 54 | CONFIG_PACKAGE_kmod-usb-roles=y 55 | CONFIG_PACKAGE_kmod-usb-serial-ch341=y 56 | CONFIG_PACKAGE_kmod-usb-serial-cp210x=y 57 | CONFIG_PACKAGE_kmod-usb-serial-ftdi=y 58 | CONFIG_PACKAGE_kmod-usb-serial-ipw=y 59 | CONFIG_PACKAGE_kmod-usb-serial-pl2303=y 60 | CONFIG_PACKAGE_kmod-usb-serial-qualcomm=y 61 | CONFIG_PACKAGE_kmod-usb-serial-sierrawireless=y 62 | CONFIG_PACKAGE_kmod-usb-storage=y 63 | CONFIG_PACKAGE_kmod-usb-storage-extras=y 64 | CONFIG_PACKAGE_kmod-usb-uhci=y 65 | CONFIG_PACKAGE_kmod-usb-wdm=y 66 | CONFIG_PACKAGE_kmod-usb-xhci-hcd=y 67 | CONFIG_PACKAGE_kmod-usb2=y 68 | CONFIG_PACKAGE_kmod-usb3=y 69 | CONFIG_PACKAGE_kmod-usbip=y 70 | CONFIG_PACKAGE_kmod-usbip-client=y 71 | CONFIG_PACKAGE_kmod-usbip-server=y 72 | CONFIG_PACKAGE_kmod-usbmon=y 73 | 74 | # USB Net Drivers 75 | CONFIG_PACKAGE_kmod-usb-audio=y 76 | CONFIG_PACKAGE_kmod-usb-core=y 77 | CONFIG_PACKAGE_kmod-usb-dwc2=y 78 | CONFIG_PACKAGE_kmod-usb-dwc3=y 79 | CONFIG_PACKAGE_kmod-usb-ehci=y 80 | CONFIG_PACKAGE_kmod-usb-hid=y 81 | CONFIG_PACKAGE_kmod-usb-net=y 82 | CONFIG_PACKAGE_kmod-usb-net-asix=y 83 | CONFIG_PACKAGE_kmod-usb-net-asix-ax88179=y 84 | CONFIG_PACKAGE_kmod-usb-net-cdc-eem=y 85 | CONFIG_PACKAGE_kmod-usb-net-cdc-ether=y 86 | CONFIG_PACKAGE_kmod-usb-net-cdc-mbim=y 87 | CONFIG_PACKAGE_kmod-usb-net-cdc-ncm=y 88 | CONFIG_PACKAGE_kmod-usb-net-cdc-subset=y 89 | CONFIG_PACKAGE_kmod-usb-net-dm9601-ether=y 90 | CONFIG_PACKAGE_kmod-usb-net-hso=y 91 | CONFIG_PACKAGE_kmod-usb-net-huawei-cdc-ncm=y 92 | CONFIG_PACKAGE_kmod-usb-net-ipheth=y 93 | CONFIG_PACKAGE_kmod-usb-net-kalmia=y 94 | CONFIG_PACKAGE_kmod-usb-net-kaweth=y 95 | CONFIG_PACKAGE_kmod-usb-net-mcs7830=y 96 | CONFIG_PACKAGE_kmod-usb-net-pegasus=y 97 | CONFIG_PACKAGE_kmod-usb-net-pl=y 98 | CONFIG_PACKAGE_kmod-usb-net-qmi-wwan=y 99 | CONFIG_PACKAGE_kmod-usb-net-rndis=y 100 | CONFIG_PACKAGE_kmod-usb-net-rtl8150=y 101 | CONFIG_PACKAGE_kmod-usb-net-rtl8152=y 102 | CONFIG_PACKAGE_kmod-usb-net-sierrawireless=y 103 | CONFIG_PACKAGE_kmod-usb-net-smsc95xx=y 104 | CONFIG_PACKAGE_kmod-usb-net-sr9700=y 105 | 106 | # USB Wireless Card Drivers 107 | CONFIG_PACKAGE_kmod-ath=y 108 | CONFIG_PACKAGE_kmod-ath10k=y 109 | CONFIG_PACKAGE_kmod-ath10k-pci=y 110 | CONFIG_PACKAGE_kmod-ath11k=y 111 | CONFIG_PACKAGE_kmod-ath11k-pci=y 112 | CONFIG_PACKAGE_kmod-ath5k=y 113 | CONFIG_PACKAGE_kmod-ath9k=y 114 | CONFIG_PACKAGE_kmod-ath9k-common=y 115 | CONFIG_PACKAGE_kmod-brcmfmac=y 116 | CONFIG_PACKAGE_kmod-brcmutil=y 117 | CONFIG_PACKAGE_kmod-carl9170=y 118 | CONFIG_PACKAGE_kmod-cfg80211=y 119 | CONFIG_PACKAGE_kmod-iwlwifi=y 120 | CONFIG_PACKAGE_kmod-mac80211=y 121 | CONFIG_PACKAGE_kmod-mt76-connac=y 122 | CONFIG_PACKAGE_kmod-mt76-core=y 123 | CONFIG_PACKAGE_kmod-mt76-usb=y 124 | CONFIG_PACKAGE_kmod-mt7601u=y 125 | CONFIG_PACKAGE_kmod-mt7615-common=y 126 | CONFIG_PACKAGE_kmod-mt7615e=y 127 | CONFIG_PACKAGE_kmod-mt7663-usb-sdio=y 128 | CONFIG_PACKAGE_kmod-mt7663u=y 129 | CONFIG_PACKAGE_kmod-mt76x0-common=y 130 | CONFIG_PACKAGE_kmod-mt76x02-common=y 131 | CONFIG_PACKAGE_kmod-mt76x02-usb=y 132 | CONFIG_PACKAGE_kmod-mt76x0u=y 133 | CONFIG_PACKAGE_kmod-mt76x2-common=y 134 | CONFIG_PACKAGE_kmod-mt76x2u=y 135 | CONFIG_PACKAGE_kmod-mt7916-firmware=y 136 | CONFIG_PACKAGE_kmod-mt7921-common=y 137 | CONFIG_PACKAGE_kmod-mt7921-firmware=y 138 | CONFIG_PACKAGE_kmod-mt7921e=y 139 | CONFIG_PACKAGE_kmod-mt7922-firmware=y 140 | CONFIG_PACKAGE_kmod-rsi91x=y 141 | CONFIG_PACKAGE_kmod-rsi91x-usb=y 142 | CONFIG_PACKAGE_kmod-rt2800-lib=y 143 | CONFIG_PACKAGE_kmod-rt2800-usb=y 144 | CONFIG_PACKAGE_kmod-rt2x00-lib=y 145 | CONFIG_PACKAGE_kmod-rt2x00-usb=y 146 | CONFIG_PACKAGE_kmod-rtl8192c-common=y 147 | CONFIG_PACKAGE_kmod-rtl8192cu=y 148 | CONFIG_PACKAGE_kmod-rtl8723bs=y 149 | CONFIG_PACKAGE_kmod-rtlwifi=y 150 | CONFIG_PACKAGE_kmod-rtlwifi-usb=y 151 | 152 | # Wireless Card Firmware 153 | CONFIG_PACKAGE_ath10k-board-qca9377=y 154 | CONFIG_PACKAGE_ath10k-board-qca9984=y 155 | CONFIG_PACKAGE_ath10k-board-qca99x0=y 156 | CONFIG_PACKAGE_ath10k-firmware-qca6174=y 157 | CONFIG_PACKAGE_ath10k-firmware-qca9377=y 158 | CONFIG_PACKAGE_ath10k-firmware-qca9984=y 159 | CONFIG_PACKAGE_ath10k-firmware-qca99x0=y 160 | CONFIG_PACKAGE_ath11k-firmware-wcn6855=y 161 | CONFIG_PACKAGE_ath9k-htc-firmware=y 162 | CONFIG_PACKAGE_carl9170-firmware=y 163 | CONFIG_PACKAGE_iwlwifi-firmware-ax200=y 164 | CONFIG_PACKAGE_iwlwifi-firmware-ax201=y 165 | CONFIG_PACKAGE_iwlwifi-firmware-ax210=y 166 | CONFIG_PACKAGE_iwlwifi-firmware-iwl3160=y 167 | CONFIG_PACKAGE_iwlwifi-firmware-iwl3168=y 168 | CONFIG_PACKAGE_iwlwifi-firmware-iwl7260=y 169 | CONFIG_PACKAGE_iwlwifi-firmware-iwl7265=y 170 | CONFIG_PACKAGE_iwlwifi-firmware-iwl7265d=y 171 | CONFIG_PACKAGE_iwlwifi-firmware-iwl8260c=y 172 | CONFIG_PACKAGE_iwlwifi-firmware-iwl8265=y 173 | CONFIG_PACKAGE_iwlwifi-firmware-iwl9000=y 174 | CONFIG_PACKAGE_iwlwifi-firmware-iwl9260=y 175 | CONFIG_PACKAGE_mt7601u-firmware=y 176 | CONFIG_PACKAGE_mt7921bt-firmware=y 177 | CONFIG_PACKAGE_mt7922bt-firmware=y 178 | CONFIG_PACKAGE_p54-usb-firmware=y 179 | CONFIG_PACKAGE_r8152-firmware=y 180 | CONFIG_PACKAGE_rs9113-firmware=y 181 | CONFIG_PACKAGE_rt2800-usb-firmware=y 182 | CONFIG_PACKAGE_rt73-usb-firmware=y 183 | CONFIG_PACKAGE_rtl8192cu-firmware=y 184 | 185 | # Applications 186 | CONFIG_PACKAGE_luci-app-accesscontrol=y 187 | CONFIG_PACKAGE_luci-app-adbyby-plus=y 188 | CONFIG_PACKAGE_luci-app-adguardhome=y 189 | CONFIG_PACKAGE_luci-app-airplay2=y 190 | CONFIG_PACKAGE_luci-app-alist=y 191 | # CONFIG_PACKAGE_luci-app-aliyundrive-fuse is not set 192 | # CONFIG_PACKAGE_luci-app-aliyundrive-webdav is not set 193 | # CONFIG_PACKAGE_luci-app-amule is not set 194 | CONFIG_PACKAGE_luci-app-argon-config=y 195 | CONFIG_PACKAGE_luci-app-aria2=y 196 | CONFIG_PACKAGE_luci-app-arpbind=y 197 | CONFIG_PACKAGE_luci-app-autoreboot=y 198 | CONFIG_PACKAGE_luci-app-cifs-mount=y 199 | CONFIG_PACKAGE_luci-app-commands=y 200 | CONFIG_PACKAGE_luci-app-ddns=y 201 | # CONFIG_PACKAGE_luci-app-ddnsto is not set 202 | CONFIG_PACKAGE_luci-app-diskman=y 203 | CONFIG_PACKAGE_luci-app-diskman_INCLUDE_btrfs_progs=y 204 | CONFIG_PACKAGE_luci-app-diskman_INCLUDE_lsblk=y 205 | CONFIG_PACKAGE_luci-app-dockerman=y 206 | CONFIG_PACKAGE_luci-app-eqos=y 207 | CONFIG_PACKAGE_luci-app-filebrowser=y 208 | CONFIG_PACKAGE_luci-app-filetransfer=y 209 | CONFIG_PACKAGE_luci-app-firewall=y 210 | CONFIG_PACKAGE_luci-app-frpc=y 211 | CONFIG_PACKAGE_luci-app-frps=y 212 | # CONFIG_PACKAGE_luci-app-guest-wifi is not set 213 | CONFIG_PACKAGE_luci-app-hd-idle=y 214 | CONFIG_PACKAGE_luci-app-ikoolproxy=y 215 | CONFIG_PACKAGE_luci-app-ipsec-vpnd=y 216 | CONFIG_PACKAGE_luci-app-kodexplorer=y 217 | CONFIG_PACKAGE_luci-app-minidlna=y 218 | # CONFIG_PACKAGE_luci-app-mjpg-streamer is not set 219 | CONFIG_PACKAGE_luci-app-mosdns=y 220 | CONFIG_PACKAGE_luci-app-msd_lite=y 221 | # CONFIG_PACKAGE_luci-app-music-remote-center is not set 222 | CONFIG_PACKAGE_luci-app-mwan3=y 223 | CONFIG_PACKAGE_luci-app-mwan3helper=y 224 | CONFIG_PACKAGE_luci-app-n2n=y 225 | CONFIG_PACKAGE_luci-app-netdata=y 226 | CONFIG_PACKAGE_luci-app-nfs=y 227 | CONFIG_PACKAGE_luci-app-nlbwmon=y 228 | CONFIG_PACKAGE_luci-app-nps=y 229 | CONFIG_PACKAGE_luci-app-oaf=y 230 | CONFIG_PACKAGE_luci-app-onliner=y 231 | CONFIG_PACKAGE_luci-app-openclash=y 232 | CONFIG_PACKAGE_luci-app-openvpn-server=y 233 | CONFIG_PACKAGE_luci-app-passwall=y 234 | CONFIG_PACKAGE_luci-app-passwall_Iptables_Transparent_Proxy=y 235 | CONFIG_PACKAGE_luci-app-passwall_Nftables_Transparent_Proxy=y 236 | CONFIG_PACKAGE_luci-app-passwall_INCLUDE_Brook=y 237 | CONFIG_PACKAGE_luci-app-passwall_INCLUDE_Hysteria=y 238 | CONFIG_PACKAGE_luci-app-passwall_INCLUDE_NaiveProxy=y 239 | CONFIG_PACKAGE_luci-app-passwall_INCLUDE_Shadowsocks_Rust_Client=y 240 | CONFIG_PACKAGE_luci-app-passwall_INCLUDE_Shadowsocks_Rust_Server=y 241 | CONFIG_PACKAGE_luci-app-passwall_INCLUDE_ShadowsocksR_Libev_Server=y 242 | CONFIG_PACKAGE_luci-app-passwall_INCLUDE_Trojan_GO=y 243 | CONFIG_PACKAGE_luci-app-passwall_INCLUDE_tuic_client=y 244 | CONFIG_PACKAGE_luci-app-passwall_INCLUDE_V2ray_Geodata=y 245 | CONFIG_PACKAGE_luci-app-passwall_INCLUDE_Xray_Plugin=y 246 | CONFIG_PACKAGE_luci-app-passwall2=y 247 | CONFIG_PACKAGE_luci-app-passwall2_Iptables_Transparent_Proxy=y 248 | CONFIG_PACKAGE_luci-app-passwall2_Nftables_Transparent_Proxy=y 249 | CONFIG_PACKAGE_luci-app-passwall2_INCLUDE_Brook=y 250 | CONFIG_PACKAGE_luci-app-passwall2_INCLUDE_Hysteria=y 251 | CONFIG_PACKAGE_luci-app-passwall2_INCLUDE_IPv6_Nat=y 252 | CONFIG_PACKAGE_luci-app-passwall2_INCLUDE_NaiveProxy=y 253 | CONFIG_PACKAGE_luci-app-passwall2_INCLUDE_Shadowsocks_Libev_Server=y 254 | CONFIG_PACKAGE_luci-app-passwall2_INCLUDE_Shadowsocks_Rust_Client=y 255 | CONFIG_PACKAGE_luci-app-passwall2_INCLUDE_Shadowsocks_Rust_Server=y 256 | CONFIG_PACKAGE_luci-app-passwall2_INCLUDE_ShadowsocksR_Libev_Server=y 257 | CONFIG_PACKAGE_luci-app-passwall2_INCLUDE_tuic_client=y 258 | CONFIG_PACKAGE_luci-app-poweroff=y 259 | CONFIG_PACKAGE_luci-app-pptp-server=y 260 | CONFIG_PACKAGE_luci-app-pushbot=y 261 | CONFIG_PACKAGE_luci-app-qbittorrent=y 262 | # CONFIG_PACKAGE_luci-app-qbittorrent_static is not set 263 | CONFIG_PACKAGE_luci-app-qbittorrent_dynamic=y 264 | CONFIG_PACKAGE_luci-app-ramfree=y 265 | CONFIG_PACKAGE_luci-app-rclone=y 266 | # CONFIG_PACKAGE_luci-app-samba is not set 267 | CONFIG_PACKAGE_luci-app-samba4=y 268 | CONFIG_PACKAGE_luci-app-serverchan=y 269 | CONFIG_PACKAGE_luci-app-smartdns=y 270 | CONFIG_PACKAGE_luci-app-socat=y 271 | CONFIG_PACKAGE_luci-app-softethervpn=y 272 | CONFIG_PACKAGE_luci-app-sqm=y 273 | CONFIG_PACKAGE_luci-app-ssr-plus=y 274 | CONFIG_PACKAGE_luci-app-ssr-plus_INCLUDE_Hysteria=y 275 | CONFIG_PACKAGE_luci-app-ssr-plus_INCLUDE_IPT2Socks=y 276 | CONFIG_PACKAGE_luci-app-ssr-plus_INCLUDE_Kcptun=y 277 | CONFIG_PACKAGE_luci-app-ssr-plus_INCLUDE_NaiveProxy=y 278 | CONFIG_PACKAGE_luci-app-ssr-plus_INCLUDE_Redsocks2=y 279 | CONFIG_PACKAGE_luci-app-ssr-plus_INCLUDE_Shadow_TLS=y 280 | # CONFIG_PACKAGE_luci-app-ssr-plus_INCLUDE_Shadowsocks_Libev_Server is not set 281 | CONFIG_PACKAGE_luci-app-ssr-plus_INCLUDE_Shadowsocks_Rust_Server=y 282 | CONFIG_PACKAGE_luci-app-ssr-plus_INCLUDE_Trojan=y 283 | CONFIG_PACKAGE_luci-app-ssr-plus_INCLUDE_Tuic_Client=y 284 | CONFIG_PACKAGE_luci-app-store=y 285 | CONFIG_PACKAGE_luci-app-syncdial=y 286 | CONFIG_PACKAGE_luci-app-transmission=y 287 | CONFIG_PACKAGE_luci-app-ttyd=y 288 | CONFIG_PACKAGE_luci-app-turboacc=y 289 | CONFIG_PACKAGE_luci-app-turboacc_INCLUDE_OFFLOADING=y 290 | # CONFIG_PACKAGE_luci-app-turboacc_INCLUDE_DNSFORWARDER is not set 291 | # CONFIG_PACKAGE_luci-app-turboacc_INCLUDE_DNSPROXY is not set 292 | CONFIG_PACKAGE_luci-app-udpxy=y 293 | CONFIG_PACKAGE_luci-app-uhttpd=y 294 | CONFIG_PACKAGE_luci-app-unblockmusic=y 295 | CONFIG_PACKAGE_luci-app-unblockmusic_INCLUDE_UnblockNeteaseMusic_Go=y 296 | CONFIG_PACKAGE_luci-app-unblockmusic_INCLUDE_UnblockNeteaseMusic_NodeJS=y 297 | CONFIG_PACKAGE_luci-app-upnp=y 298 | CONFIG_PACKAGE_luci-app-usb-printer=y 299 | CONFIG_PACKAGE_luci-app-uugamebooster=y 300 | CONFIG_PACKAGE_luci-app-v2ray-server=y 301 | CONFIG_PACKAGE_luci-app-verysync=y 302 | CONFIG_PACKAGE_luci-app-vlmcsd=y 303 | CONFIG_PACKAGE_luci-app-vsftpd=y 304 | CONFIG_PACKAGE_luci-app-vssr=y 305 | CONFIG_PACKAGE_luci-app-vssr_INCLUDE_Kcptun=y 306 | # CONFIG_PACKAGE_luci-app-watchcat is not set 307 | # CONFIG_PACKAGE_luci-app-webadmin is not set 308 | # CONFIG_PACKAGE_luci-app-wifischedule is not set 309 | CONFIG_PACKAGE_luci-app-wireguard=y 310 | CONFIG_PACKAGE_luci-app-wol=y 311 | CONFIG_PACKAGE_luci-app-wrtbwmon=y 312 | CONFIG_PACKAGE_luci-app-xlnetacc=y 313 | CONFIG_PACKAGE_luci-app-zerotier=y 314 | 315 | # Themes 316 | CONFIG_PACKAGE_luci-theme-argon=y 317 | CONFIG_PACKAGE_luci-theme-atmaterial=y 318 | CONFIG_PACKAGE_luci-theme-edge=y 319 | CONFIG_PACKAGE_luci-theme-infinityfreedom=y 320 | CONFIG_PACKAGE_luci-theme-design=y 321 | CONFIG_PACKAGE_luci-theme-netgear=y 322 | CONFIG_PACKAGE_luci-theme-opentomcat=y 323 | 324 | # 3G/4G Support 325 | CONFIG_PACKAGE_comgt-ncm=y 326 | CONFIG_PACKAGE_comgt=y 327 | CONFIG_PACKAGE_kmod-mii=y 328 | CONFIG_PACKAGE_kmod-usb-acm=y 329 | CONFIG_PACKAGE_kmod-usb-serial=y 330 | CONFIG_PACKAGE_kmod-usb-serial-option=y 331 | CONFIG_PACKAGE_kmod-usb-serial-wwan=y 332 | CONFIG_PACKAGE_luci-proto-3g=y 333 | CONFIG_PACKAGE_luci-proto-ncm=y 334 | CONFIG_PACKAGE_luci-proto-qmi=y 335 | CONFIG_PACKAGE_qmi-utils=y 336 | CONFIG_PACKAGE_umbim=y 337 | CONFIG_PACKAGE_uqmi=y 338 | CONFIG_PACKAGE_usb-modeswitch=y 339 | 340 | # SDCard Support 341 | CONFIG_PACKAGE_kmod-sdhci=y 342 | 343 | # Mobile Net Sharing 344 | CONFIG_PACKAGE_libimobiledevice-utils=y 345 | CONFIG_PACKAGE_libplist=y 346 | CONFIG_PACKAGE_libusbmuxd-utils=y 347 | CONFIG_PACKAGE_usbmuxd=y 348 | 349 | # Python3 350 | CONFIG_PACKAGE_python-pip-conf=y 351 | CONFIG_PACKAGE_python3=y 352 | 353 | # Software 354 | CONFIG_PACKAGE_ariang=y 355 | CONFIG_PACKAGE_automount=y 356 | CONFIG_PACKAGE_autosamba=y 357 | CONFIG_PACKAGE_bsdtar=y 358 | CONFIG_PACKAGE_ddns-scripts_cloudflare.com-v4=y 359 | CONFIG_PACKAGE_ddns-scripts_freedns_42_pl=y 360 | CONFIG_PACKAGE_ddns-scripts_godaddy.com-v1=y 361 | CONFIG_PACKAGE_ddns-scripts_no-ip_com=y 362 | CONFIG_PACKAGE_ddns-scripts_nsupdate=y 363 | CONFIG_PACKAGE_ddns-scripts_route53-v1=y 364 | CONFIG_PACKAGE_diffutils=y 365 | CONFIG_PACKAGE_docker-compose=y 366 | CONFIG_PACKAGE_e2fsprogs=y 367 | CONFIG_PACKAGE_f2fs-tools=y 368 | CONFIG_PACKAGE_f2fsck=y 369 | CONFIG_PACKAGE_fdisk=y 370 | CONFIG_PACKAGE_gpiod-tools=y 371 | CONFIG_PACKAGE_gzip=y 372 | CONFIG_PACKAGE_hostapd-common=y 373 | CONFIG_PACKAGE_htop=y 374 | CONFIG_PACKAGE_iperf3=y 375 | CONFIG_PACKAGE_lsblk=y 376 | CONFIG_PACKAGE_lscpu=y 377 | CONFIG_PACKAGE_nano-plus=y 378 | CONFIG_PACKAGE_nginx=y 379 | CONFIG_PACKAGE_openssh-sftp-client=y 380 | CONFIG_PACKAGE_openssh-sftp-server=y 381 | CONFIG_PACKAGE_resize2fs=y 382 | CONFIG_PACKAGE_snmpd=y 383 | CONFIG_PACKAGE_tmux=y 384 | CONFIG_PACKAGE_tree=y 385 | CONFIG_PACKAGE_unzip=y 386 | CONFIG_PACKAGE_usbutils=y 387 | CONFIG_PACKAGE_vim-fuller=y 388 | CONFIG_PACKAGE_whereis=y 389 | CONFIG_PACKAGE_wireless-tools=y 390 | CONFIG_PACKAGE_wpad-openssl=y 391 | CONFIG_PACKAGE_zsh=y 392 | 393 | # Shortcut-Fe 394 | CONFIG_PACKAGE_kmod-shortcut-fe=y 395 | CONFIG_PACKAGE_kmod-shortcut-fe-cm=y 396 | 397 | # Ipv6 Support 398 | CONFIG_PACKAGE_6in4=y 399 | CONFIG_PACKAGE_ipv6helper=y 400 | CONFIG_PACKAGE_ip6tables=y 401 | CONFIG_PACKAGE_ip6tables-extra=y 402 | CONFIG_PACKAGE_ip6tables-mod-nat=y 403 | -------------------------------------------------------------------------------- /diy-mini.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | # 修改默认IP 4 | # sed -i 's/192.168.1.1/10.0.0.1/g' package/base-files/files/bin/config_generate 5 | 6 | # 更改默认 Shell 为 zsh 7 | # sed -i 's/\/bin\/ash/\/usr\/bin\/zsh/g' package/base-files/files/etc/passwd 8 | 9 | # TTYD 免登录 10 | # sed -i 's|/bin/login|/bin/login -f root|g' feeds/packages/utils/ttyd/files/ttyd.config 11 | 12 | # 移除要替换的包 13 | rm -rf feeds/packages/net/mosdns 14 | rm -rf feeds/packages/net/msd_lite 15 | rm -rf feeds/packages/net/smartdns 16 | rm -rf feeds/luci/themes/luci-theme-argon 17 | rm -rf feeds/luci/applications/luci-app-mosdns 18 | rm -rf feeds/luci/applications/luci-app-netdata 19 | 20 | # Git稀疏克隆,只克隆指定目录到本地 21 | function git_sparse_clone() { 22 | branch="$1" repourl="$2" && shift 2 23 | git clone --depth=1 -b $branch --single-branch --filter=blob:none --sparse $repourl 24 | repodir=$(echo $repourl | awk -F '/' '{print $(NF)}') 25 | cd $repodir && git sparse-checkout set $@ 26 | mv -f $@ ../package 27 | cd .. && rm -rf $repodir 28 | } 29 | 30 | # 添加额外插件 31 | git clone --depth=1 https://github.com/kongfl888/luci-app-adguardhome package/luci-app-adguardhome 32 | git clone --depth=1 https://github.com/Jason6111/luci-app-netdata package/luci-app-netdata 33 | # git_sparse_clone master https://github.com/syb999/openwrt-19.07.1 package/network/services/msd_lite 34 | 35 | # 科学上网插件 36 | git clone --depth=1 -b main https://github.com/fw876/helloworld package/luci-app-ssr-plus 37 | git clone --depth=1 https://github.com/xiaorouji/openwrt-passwall-packages package/openwrt-passwall 38 | git clone --depth=1 https://github.com/xiaorouji/openwrt-passwall package/luci-app-passwall 39 | git clone --depth=1 https://github.com/xiaorouji/openwrt-passwall2 package/luci-app-passwall2 40 | git_sparse_clone master https://github.com/vernesong/OpenClash luci-app-openclash 41 | 42 | # Themes 43 | git clone --depth=1 -b 18.06 https://github.com/kiddin9/luci-theme-edge package/luci-theme-edge 44 | git clone --depth=1 -b 18.06 https://github.com/jerrykuku/luci-theme-argon package/luci-theme-argon 45 | git clone --depth=1 https://github.com/jerrykuku/luci-app-argon-config package/luci-app-argon-config 46 | git clone --depth=1 https://github.com/xiaoqingfengATGH/luci-theme-infinityfreedom package/luci-theme-infinityfreedom 47 | git_sparse_clone main https://github.com/haiibo/packages luci-theme-opentomcat 48 | 49 | # 更改 Argon 主题背景 50 | cp -f $GITHUB_WORKSPACE/images/bg1.jpg package/luci-theme-argon/htdocs/luci-static/argon/img/bg1.jpg 51 | 52 | # 晶晨宝盒 53 | git_sparse_clone main https://github.com/ophub/luci-app-amlogic luci-app-amlogic 54 | sed -i "s|firmware_repo.*|firmware_repo 'https://github.com/haiibo/OpenWrt'|g" package/luci-app-amlogic/root/etc/config/amlogic 55 | # sed -i "s|kernel_path.*|kernel_path 'https://github.com/ophub/kernel'|g" package/luci-app-amlogic/root/etc/config/amlogic 56 | sed -i "s|ARMv8|ARMv8_MINI|g" package/luci-app-amlogic/root/etc/config/amlogic 57 | 58 | # SmartDNS 59 | git clone --depth=1 -b lede https://github.com/pymumu/luci-app-smartdns package/luci-app-smartdns 60 | git clone --depth=1 https://github.com/pymumu/openwrt-smartdns package/smartdns 61 | 62 | # msd_lite 63 | git clone --depth=1 https://github.com/ximiTech/luci-app-msd_lite package/luci-app-msd_lite 64 | git clone --depth=1 https://github.com/ximiTech/msd_lite package/msd_lite 65 | 66 | # MosDNS 67 | git clone --depth=1 https://github.com/sbwml/luci-app-mosdns package/luci-app-mosdns 68 | 69 | # Alist 70 | git clone --depth=1 https://github.com/sbwml/luci-app-alist package/luci-app-alist 71 | 72 | # iStore 73 | git_sparse_clone main https://github.com/linkease/istore-ui app-store-ui 74 | git_sparse_clone main https://github.com/linkease/istore luci 75 | 76 | # 在线用户 77 | git_sparse_clone main https://github.com/haiibo/packages luci-app-onliner 78 | sed -i '$i uci set nlbwmon.@nlbwmon[0].refresh_interval=2s' package/lean/default-settings/files/zzz-default-settings 79 | sed -i '$i uci commit nlbwmon' package/lean/default-settings/files/zzz-default-settings 80 | chmod 755 package/luci-app-onliner/root/usr/share/onliner/setnlbw.sh 81 | 82 | # x86 型号只显示 CPU 型号 83 | sed -i 's/${g}.*/${a}${b}${c}${d}${e}${f}${hydrid}/g' package/lean/autocore/files/x86/autocore 84 | 85 | # 修改本地时间格式 86 | sed -i 's/os.date()/os.date("%a %Y-%m-%d %H:%M:%S")/g' package/lean/autocore/files/*/index.htm 87 | 88 | # 修改版本为编译日期 89 | date_version=$(date +"%y.%m.%d") 90 | orig_version=$(cat "package/lean/default-settings/files/zzz-default-settings" | grep DISTRIB_REVISION= | awk -F "'" '{print $2}') 91 | sed -i "s/${orig_version}/R${date_version} by Haiibo/g" package/lean/default-settings/files/zzz-default-settings 92 | 93 | # 修复 hostapd 报错 94 | cp -f $GITHUB_WORKSPACE/scripts/011-fix-mbo-modules-build.patch package/network/services/hostapd/patches/011-fix-mbo-modules-build.patch 95 | 96 | # 修复 armv8 设备 xfsprogs 报错 97 | sed -i 's/TARGET_CFLAGS.*/TARGET_CFLAGS += -DHAVE_MAP_SYNC -D_LARGEFILE64_SOURCE/g' feeds/packages/utils/xfsprogs/Makefile 98 | 99 | # 修改 Makefile 100 | find package/*/ -maxdepth 2 -path "*/Makefile" | xargs -i sed -i 's/..\/..\/luci.mk/$(TOPDIR)\/feeds\/luci\/luci.mk/g' {} 101 | find package/*/ -maxdepth 2 -path "*/Makefile" | xargs -i sed -i 's/..\/..\/lang\/golang\/golang-package.mk/$(TOPDIR)\/feeds\/packages\/lang\/golang\/golang-package.mk/g' {} 102 | find package/*/ -maxdepth 2 -path "*/Makefile" | xargs -i sed -i 's/PKG_SOURCE_URL:=@GHREPO/PKG_SOURCE_URL:=https:\/\/github.com/g' {} 103 | find package/*/ -maxdepth 2 -path "*/Makefile" | xargs -i sed -i 's/PKG_SOURCE_URL:=@GHCODELOAD/PKG_SOURCE_URL:=https:\/\/codeload.github.com/g' {} 104 | 105 | # 取消主题默认设置 106 | find package/luci-theme-*/* -type f -name '*luci-theme-*' -print -exec sed -i '/set luci.main.mediaurlbase/d' {} \; 107 | 108 | # 调整 Docker 到 服务 菜单 109 | sed -i 's/"admin"/"admin", "services"/g' feeds/luci/applications/luci-app-dockerman/luasrc/controller/*.lua 110 | sed -i 's/"admin"/"admin", "services"/g; s/admin\//admin\/services\//g' feeds/luci/applications/luci-app-dockerman/luasrc/model/cbi/dockerman/*.lua 111 | sed -i 's/admin\//admin\/services\//g' feeds/luci/applications/luci-app-dockerman/luasrc/view/dockerman/*.htm 112 | sed -i 's|admin\\|admin\\/services\\|g' feeds/luci/applications/luci-app-dockerman/luasrc/view/dockerman/container.htm 113 | 114 | # 调整 ZeroTier 到 服务 菜单 115 | # sed -i 's/vpn/services/g; s/VPN/Services/g' feeds/luci/applications/luci-app-zerotier/luasrc/controller/zerotier.lua 116 | # sed -i 's/vpn/services/g' feeds/luci/applications/luci-app-zerotier/luasrc/view/zerotier/zerotier_status.htm 117 | 118 | # 取消对 samba4 的菜单调整 119 | # sed -i '/samba4/s/^/#/' package/lean/default-settings/files/zzz-default-settings 120 | 121 | ./scripts/feeds update -a 122 | ./scripts/feeds install -a 123 | -------------------------------------------------------------------------------- /diy-script.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | # 修改默认IP 4 | # sed -i 's/192.168.1.1/10.0.0.1/g' package/base-files/files/bin/config_generate 5 | 6 | # 更改默认 Shell 为 zsh 7 | # sed -i 's/\/bin\/ash/\/usr\/bin\/zsh/g' package/base-files/files/etc/passwd 8 | 9 | # TTYD 免登录 10 | # sed -i 's|/bin/login|/bin/login -f root|g' feeds/packages/utils/ttyd/files/ttyd.config 11 | 12 | # 移除要替换的包 13 | rm -rf feeds/packages/net/mosdns 14 | rm -rf feeds/packages/net/msd_lite 15 | rm -rf feeds/packages/net/smartdns 16 | rm -rf feeds/luci/themes/luci-theme-argon 17 | rm -rf feeds/luci/themes/luci-theme-netgear 18 | rm -rf feeds/luci/applications/luci-app-mosdns 19 | rm -rf feeds/luci/applications/luci-app-netdata 20 | rm -rf feeds/luci/applications/luci-app-serverchan 21 | 22 | # Git稀疏克隆,只克隆指定目录到本地 23 | function git_sparse_clone() { 24 | branch="$1" repourl="$2" && shift 2 25 | git clone --depth=1 -b $branch --single-branch --filter=blob:none --sparse $repourl 26 | repodir=$(echo $repourl | awk -F '/' '{print $(NF)}') 27 | cd $repodir && git sparse-checkout set $@ 28 | mv -f $@ ../package 29 | cd .. && rm -rf $repodir 30 | } 31 | 32 | # 添加额外插件 33 | git clone --depth=1 https://github.com/kongfl888/luci-app-adguardhome package/luci-app-adguardhome 34 | git clone --depth=1 -b openwrt-18.06 https://github.com/tty228/luci-app-wechatpush package/luci-app-serverchan 35 | git clone --depth=1 https://github.com/ilxp/luci-app-ikoolproxy package/luci-app-ikoolproxy 36 | git clone --depth=1 https://github.com/esirplayground/luci-app-poweroff package/luci-app-poweroff 37 | git clone --depth=1 https://github.com/destan19/OpenAppFilter package/OpenAppFilter 38 | git clone --depth=1 https://github.com/Jason6111/luci-app-netdata package/luci-app-netdata 39 | git_sparse_clone main https://github.com/Lienol/openwrt-package luci-app-filebrowser luci-app-ssr-mudb-server 40 | git_sparse_clone openwrt-18.06 https://github.com/immortalwrt/luci applications/luci-app-eqos 41 | # git_sparse_clone master https://github.com/syb999/openwrt-19.07.1 package/network/services/msd_lite 42 | 43 | # 科学上网插件 44 | git clone --depth=1 -b main https://github.com/fw876/helloworld package/luci-app-ssr-plus 45 | git clone --depth=1 https://github.com/xiaorouji/openwrt-passwall-packages package/openwrt-passwall 46 | git clone --depth=1 https://github.com/xiaorouji/openwrt-passwall package/luci-app-passwall 47 | git clone --depth=1 https://github.com/xiaorouji/openwrt-passwall2 package/luci-app-passwall2 48 | git_sparse_clone master https://github.com/vernesong/OpenClash luci-app-openclash 49 | 50 | # Themes 51 | git clone --depth=1 -b 18.06 https://github.com/kiddin9/luci-theme-edge package/luci-theme-edge 52 | git clone --depth=1 -b 18.06 https://github.com/jerrykuku/luci-theme-argon package/luci-theme-argon 53 | git clone --depth=1 https://github.com/jerrykuku/luci-app-argon-config package/luci-app-argon-config 54 | git clone --depth=1 https://github.com/xiaoqingfengATGH/luci-theme-infinityfreedom package/luci-theme-infinityfreedom 55 | git_sparse_clone main https://github.com/haiibo/packages luci-theme-atmaterial luci-theme-opentomcat luci-theme-netgear 56 | 57 | # 更改 Argon 主题背景 58 | cp -f $GITHUB_WORKSPACE/images/bg1.jpg package/luci-theme-argon/htdocs/luci-static/argon/img/bg1.jpg 59 | 60 | # 晶晨宝盒 61 | git_sparse_clone main https://github.com/ophub/luci-app-amlogic luci-app-amlogic 62 | sed -i "s|firmware_repo.*|firmware_repo 'https://github.com/haiibo/OpenWrt'|g" package/luci-app-amlogic/root/etc/config/amlogic 63 | # sed -i "s|kernel_path.*|kernel_path 'https://github.com/ophub/kernel'|g" package/luci-app-amlogic/root/etc/config/amlogic 64 | sed -i "s|ARMv8|ARMv8_PLUS|g" package/luci-app-amlogic/root/etc/config/amlogic 65 | 66 | # SmartDNS 67 | git clone --depth=1 -b lede https://github.com/pymumu/luci-app-smartdns package/luci-app-smartdns 68 | git clone --depth=1 https://github.com/pymumu/openwrt-smartdns package/smartdns 69 | 70 | # msd_lite 71 | git clone --depth=1 https://github.com/ximiTech/luci-app-msd_lite package/luci-app-msd_lite 72 | git clone --depth=1 https://github.com/ximiTech/msd_lite package/msd_lite 73 | 74 | # MosDNS 75 | git clone --depth=1 https://github.com/sbwml/luci-app-mosdns package/luci-app-mosdns 76 | 77 | # Alist 78 | git clone --depth=1 https://github.com/sbwml/luci-app-alist package/luci-app-alist 79 | 80 | # DDNS.to 81 | git_sparse_clone main https://github.com/linkease/nas-packages-luci luci/luci-app-ddnsto 82 | git_sparse_clone master https://github.com/linkease/nas-packages network/services/ddnsto 83 | 84 | # iStore 85 | git_sparse_clone main https://github.com/linkease/istore-ui app-store-ui 86 | git_sparse_clone main https://github.com/linkease/istore luci 87 | 88 | # 在线用户 89 | git_sparse_clone main https://github.com/haiibo/packages luci-app-onliner 90 | sed -i '$i uci set nlbwmon.@nlbwmon[0].refresh_interval=2s' package/lean/default-settings/files/zzz-default-settings 91 | sed -i '$i uci commit nlbwmon' package/lean/default-settings/files/zzz-default-settings 92 | chmod 755 package/luci-app-onliner/root/usr/share/onliner/setnlbw.sh 93 | 94 | # x86 型号只显示 CPU 型号 95 | sed -i 's/${g}.*/${a}${b}${c}${d}${e}${f}${hydrid}/g' package/lean/autocore/files/x86/autocore 96 | 97 | # 修改本地时间格式 98 | sed -i 's/os.date()/os.date("%a %Y-%m-%d %H:%M:%S")/g' package/lean/autocore/files/*/index.htm 99 | 100 | # 修改版本为编译日期 101 | date_version=$(date +"%y.%m.%d") 102 | orig_version=$(cat "package/lean/default-settings/files/zzz-default-settings" | grep DISTRIB_REVISION= | awk -F "'" '{print $2}') 103 | sed -i "s/${orig_version}/R${date_version} by Haiibo/g" package/lean/default-settings/files/zzz-default-settings 104 | 105 | # 修复 hostapd 报错 106 | cp -f $GITHUB_WORKSPACE/scripts/011-fix-mbo-modules-build.patch package/network/services/hostapd/patches/011-fix-mbo-modules-build.patch 107 | 108 | # 修复 armv8 设备 xfsprogs 报错 109 | sed -i 's/TARGET_CFLAGS.*/TARGET_CFLAGS += -DHAVE_MAP_SYNC -D_LARGEFILE64_SOURCE/g' feeds/packages/utils/xfsprogs/Makefile 110 | 111 | # 修改 Makefile 112 | find package/*/ -maxdepth 2 -path "*/Makefile" | xargs -i sed -i 's/..\/..\/luci.mk/$(TOPDIR)\/feeds\/luci\/luci.mk/g' {} 113 | find package/*/ -maxdepth 2 -path "*/Makefile" | xargs -i sed -i 's/..\/..\/lang\/golang\/golang-package.mk/$(TOPDIR)\/feeds\/packages\/lang\/golang\/golang-package.mk/g' {} 114 | find package/*/ -maxdepth 2 -path "*/Makefile" | xargs -i sed -i 's/PKG_SOURCE_URL:=@GHREPO/PKG_SOURCE_URL:=https:\/\/github.com/g' {} 115 | find package/*/ -maxdepth 2 -path "*/Makefile" | xargs -i sed -i 's/PKG_SOURCE_URL:=@GHCODELOAD/PKG_SOURCE_URL:=https:\/\/codeload.github.com/g' {} 116 | 117 | # 取消主题默认设置 118 | find package/luci-theme-*/* -type f -name '*luci-theme-*' -print -exec sed -i '/set luci.main.mediaurlbase/d' {} \; 119 | 120 | # 调整 V2ray服务器 到 VPN 菜单 121 | # sed -i 's/services/vpn/g' feeds/luci/applications/luci-app-v2ray-server/luasrc/controller/*.lua 122 | # sed -i 's/services/vpn/g' feeds/luci/applications/luci-app-v2ray-server/luasrc/model/cbi/v2ray_server/*.lua 123 | # sed -i 's/services/vpn/g' feeds/luci/applications/luci-app-v2ray-server/luasrc/view/v2ray_server/*.htm 124 | 125 | ./scripts/feeds update -a 126 | ./scripts/feeds install -a 127 | -------------------------------------------------------------------------------- /docker/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM scratch 2 | ADD openwrt-armvirt-64-default-rootfs-patched.tar / 3 | EXPOSE 22 53 80 443 7681 4 | # using exec format so that /sbin/init is proc 1 (see procd docs) 5 | ENTRYPOINT ["/sbin/init"] 6 | -------------------------------------------------------------------------------- /docker/buildImageX.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | TMPDIR=openwrt-armvirt 4 | ROOTFS=openwrt-armvirt-64-generic-rootfs.tar.gz 5 | 6 | [ -d "$TMPDIR" ] && rm -rf "$TMPDIR" 7 | mkdir -p "$TMPDIR" && gzip -dc ${ROOTFS} | ( cd "$TMPDIR" && tar xf - && rm -rf ./lib/firmware/* && rm -rf ./lib/modules/*) 8 | 9 | [ -x $TMPDIR/bin/bash ] && \ 10 | cp -f patches/30-sysinfo.sh $TMPDIR/etc/profile.d/ && \ 11 | sed -e "s/\/bin\/ash/\/bin\/bash/" -i $TMPDIR/etc/passwd && \ 12 | sed -e "s/\/bin\/ash/\/bin\/bash/" -i $TMPDIR/usr/libexec/login.sh 13 | 14 | [ -f patches/banner ] && \ 15 | cp -f patches/banner $TMPDIR/etc/ && \ 16 | echo "The docker aarch64 special edition" >> $TMPDIR/etc/banner 17 | 18 | cat >> $TMPDIR/etc/sysupgrade.conf <> "$TMPDIR/etc/crontabs/root" 60 | 61 | [ -f ${TMPDIR}/etc/config/qbittorrent ] && sed -e 's/\/opt/\/etc/' -i "${TMPDIR}/etc/config/qbittorrent" 62 | 63 | [ -f ${TMPDIR}/etc/ssh/sshd_config ] && sed -e "s/#PermitRootLogin prohibit-password/PermitRootLogin yes/" -i "${TMPDIR}/etc/ssh/sshd_config" 64 | 65 | [ -f ${TMPDIR}/etc/samba/smb.conf.template ] && cat patches/smb4.11_enable_smb1.patch | (cd "$TMPDIR" && [ -f etc/samba/smb.conf.template ] && patch -p1) 66 | 67 | sss=$(date +%s) && \ 68 | ddd=$((sss/86400)) && \ 69 | sed -e "s/:0:0:99999:7:::/:${ddd}:0:99999:7:::/" -i "${TMPDIR}/etc/shadow" && \ 70 | sed -e "s/root::/root:\$1\$0yUsq67p\$RC5cEtaQpM6KHQfhUSIAl\.:/" -i "${TMPDIR}/etc/shadow" 71 | 72 | (cd "$TMPDIR" && tar cf ../openwrt-armvirt-64-default-rootfs-patched.tar .) && \ 73 | rm -rf "$TMPDIR" 74 | -------------------------------------------------------------------------------- /docker/patches/30-sysinfo.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | # 3 | # DO NOT EDIT THIS FILE but add config options to /etc/default/motd 4 | # any changes will be lost on board support package update 5 | # 6 | export PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin 7 | [ -x /usr/bin/dmesg ] && alias dmesg='dmesg --color=auto' 8 | 9 | THIS_SCRIPT="sysinfo" 10 | MOTD_DISABLE="" 11 | 12 | SHOW_IP_PATTERN="^[ewr].*|^br.*|^lt.*|^umts.*" 13 | 14 | DATA_STORAGE=/userdisk/data 15 | MEDIA_STORAGE=/userdisk/snail 16 | 17 | [[ -f /etc/default/motd ]] && . /etc/default/motd 18 | for f in $MOTD_DISABLE; do 19 | [[ $f == $THIS_SCRIPT ]] && exit 0 20 | done 21 | 22 | # don't edit below here 23 | function display() 24 | { 25 | # $1=name $2=value $3=red_limit $4=minimal_show_limit $5=unit $6=after $7=acs/desc{ 26 | # battery red color is opposite, lower number 27 | if [[ "$1" == "Battery" ]]; then 28 | local great="<"; 29 | else 30 | local great=">"; 31 | fi 32 | if [[ -n "$2" && "$2" > "0" && (( "${2%.*}" -ge "$4" )) ]]; then 33 | printf "%-14s%s" "$1:" 34 | if awk "BEGIN{exit ! ($2 $great $3)}"; then 35 | echo -ne "\e[0;91m $2"; 36 | else 37 | echo -ne "\e[0;92m $2"; 38 | fi 39 | printf "%-1s%s\x1B[0m" "$5" 40 | printf "%-11s%s\t" "$6" 41 | return 1 42 | fi 43 | } # display 44 | 45 | 46 | function get_ip_addresses() 47 | { 48 | local ips=() 49 | for f in /sys/class/net/*; do 50 | local intf=$(basename $f) 51 | # match only interface names starting with e (Ethernet), br (bridge), w (wireless), r (some Ralink drivers use ra format) 52 | if [[ $intf =~ $SHOW_IP_PATTERN ]]; then 53 | local tmp=$(ip -4 addr show dev $intf | awk '/inet/ {print $2}' | cut -d'/' -f1) 54 | # add both name and IP - can be informative but becomes ugly with long persistent/predictable device names 55 | #[[ -n $tmp ]] && ips+=("$intf: $tmp") 56 | # add IP only 57 | [[ -n $tmp ]] && ips+=("$tmp") 58 | fi 59 | done 60 | echo "${ips[@]}" 61 | } # get_ip_addresses 62 | 63 | 64 | function storage_info() 65 | { 66 | # storage info 67 | RootInfo=$(df -h /) 68 | root_usage=$(awk '/\// {print $(NF-1)}' <<<${RootInfo} | sed 's/%//g') 69 | root_total=$(awk '/\// {print $(NF-4)}' <<<${RootInfo}) 70 | 71 | StorageInfo=$(df -h $MEDIA_STORAGE 2>/dev/null | grep $MEDIA_STORAGE) 72 | if [[ -n "${StorageInfo}" && ${RootInfo} != *$MEDIA_STORAGE* ]]; then 73 | media_usage=$(awk '/\// {print $(NF-1)}' <<<${StorageInfo} | sed 's/%//g') 74 | media_total=$(awk '/\// {print $(NF-4)}' <<<${StorageInfo}) 75 | fi 76 | 77 | StorageInfo=$(df -h $DATA_STORAGE 2>/dev/null | grep $DATA_STORAGE) 78 | if [[ -n "${StorageInfo}" && ${RootInfo} != *$DATA_STORAGE* ]]; then 79 | data_usage=$(awk '/\// {print $(NF-1)}' <<<${StorageInfo} | sed 's/%//g') 80 | data_total=$(awk '/\// {print $(NF-4)}' <<<${StorageInfo}) 81 | fi 82 | } # storage_info 83 | 84 | function get_data_storage() 85 | { 86 | if which lsblk >/dev/null;then 87 | root_name=$(lsblk -l -o NAME,MOUNTPOINT | awk '$2~/^\/$/ {print $1'}) 88 | mmc_name=$(echo $root_name | awk '{print substr($1,1,length($1)-2);}') 89 | if echo $mmc_name | grep mmcblk >/dev/null;then 90 | DATA_STORAGE="/mnt/${mmc_name}p4" 91 | fi 92 | fi 93 | } 94 | 95 | # query various systems and send some stuff to the background for overall faster execution. 96 | # Works only with ambienttemp and batteryinfo since A20 is slow enough :) 97 | ip_address=$(get_ip_addresses &) 98 | get_data_storage 99 | storage_info 100 | critical_load=$(( 1 + $(grep -c processor /proc/cpuinfo) / 2 )) 101 | 102 | # get uptime, logged in users and load in one take 103 | if [ -x /usr/bin/cpustat ];then 104 | time=$(/usr/bin/cpustat -u) 105 | load=$(/usr/bin/cpustat -l) 106 | else 107 | UptimeString=$(uptime | tr -d ',') 108 | time=$(awk -F" " '{print $3" "$4}' <<<"${UptimeString}") 109 | load="$(awk -F"average: " '{print $2}'<<<"${UptimeString}")" 110 | case ${time} in 111 | 1:*) # 1-2 hours 112 | time=$(awk -F" " '{print $3" 小时"}' <<<"${UptimeString}") 113 | ;; 114 | *:*) # 2-24 hours 115 | time=$(awk -F" " '{print $3" 小时"}' <<<"${UptimeString}") 116 | ;; 117 | *day) # days 118 | days=$(awk -F" " '{print $3"天"}' <<<"${UptimeString}") 119 | time=$(awk -F" " '{print $5}' <<<"${UptimeString}") 120 | time="$days "$(awk -F":" '{print $1"小时 "$2"分钟"}' <<<"${time}") 121 | ;; 122 | esac 123 | fi 124 | 125 | # memory and swap 126 | mem_info=$(LC_ALL=C free -w 2>/dev/null | grep "^Mem" || LC_ALL=C free | grep "^Mem") 127 | memory_usage=$(awk '{printf("%.0f",(($2-($4+$6))/$2) * 100)}' <<<${mem_info}) 128 | memory_total=$(awk '{printf("%d",$2/1024)}' <<<${mem_info}) 129 | swap_info=$(LC_ALL=C free -m | grep "^Swap") 130 | swap_usage=$( (awk '/Swap/ { printf("%3.0f", $3/$2*100) }' <<<${swap_info} 2>/dev/null || echo 0) | tr -c -d '[:digit:]') 131 | swap_total=$(awk '{print $(2)}' <<<${swap_info}) 132 | 133 | if grep -q "ipq40xx" "/etc/openwrt_release"; then 134 | cpu_temp="$(sensors | grep -Eo '\+[0-9]+.+C' | sed ':a;N;$!ba;s/\n/ /g;s/+//g')" 135 | else 136 | cpu_temp="$(awk '{ printf("%.1f °C", $0 / 1000) }' /sys/class/thermal/thermal_zone0/temp)" 137 | fi 138 | cpu_tempx=`echo $cpu_temp | sed 's/°C//g'` 139 | 140 | if [ -x /usr/bin/cpustat ];then 141 | sys_temp=$(/usr/bin/cpustat -A) 142 | else 143 | sys_temp=$(cat /proc/cpuinfo | grep name | cut -f2 -d: | uniq -c) 144 | fi 145 | sys_tempx=`echo $sys_temp | sed 's/ / /g'` 146 | 147 | # display info 148 | 149 | machine_model=$(cat /proc/device-tree/model|tr -d "\000") 150 | echo -e "设备信息: \033[93m${machine_model}\033[0m" 151 | printf "CPU 型号: \x1B[93m%s\x1B[0m" "$sys_tempx" 152 | echo "" 153 | display "系统负载" "${load%% *}" "${critical_load}" "0" "" "${load#* }" 154 | printf "运行时间: \x1B[92m%s\x1B[0m\t\t" "$time" 155 | echo "" 156 | 157 | display "环境温度" "$cpu_tempx" "60" "0" "°C" "" 158 | if [ -x /usr/bin/cpustat ];then 159 | cpu_freq=$(/usr/bin/cpustat -F1500) 160 | echo -n "当前频率: $cpu_freq" 161 | else 162 | display "当前频率" "$cpu_freq" "1500" "0" " Mhz" "" 163 | fi 164 | echo "" 165 | 166 | display "内存已用" "$memory_usage" "70" "0" "%" " of ${memory_total}MB" 167 | printf "IP 地址: \x1B[92m%s\x1B[0m" "$ip_address" 168 | #display "交换内存" "$swap_usage" "10" "0" "%" " of $swap_total""Mb" 169 | echo "" 170 | 171 | #echo "" # fixed newline 172 | 173 | display "启动存储" "$boot_usage" "90" "1" "%" " of $boot_total" 174 | display "系统存储" "$root_usage" "90" "1" "%" " of $root_total" 175 | echo "" 176 | 177 | if [ "$data_usage" != "" ];then 178 | display "数据存储" "$data_usage" "90" "1" "%" " of $data_total" 179 | echo "" 180 | fi 181 | if [ "$media_usage" != "" ];then 182 | display "媒体存储" "$media_usage" "90" "1" "%" " of $media_total" 183 | echo "" 184 | fi 185 | echo "" 186 | 187 | 188 | -------------------------------------------------------------------------------- /docker/patches/99-custom.conf: -------------------------------------------------------------------------------- 1 | # 内核网络参数调整 2 | ###################################################### 3 | # 默认值 (供参考) 4 | # 5 | # net.ipv4.tcp_fastopen = 1 6 | # net.core.netdev_max_backlog = 1000 7 | # net.core.rmem_default = 212992 8 | # net.core.wmem_default = 212992 9 | # net.core.rmem_max = 4194304 10 | # net.core.wmem_max = 1048576 11 | # net.ipv4.tcp_max_syn_backlog = 128 12 | # net.ipv4.tcp_rmem = 4096 131072 6291456 13 | # net.ipv4.tcp_wmem = 4096 16384 4194304 14 | # 15 | ###################################################### 16 | 17 | ###################################################### 18 | # 优化值(供参考) 19 | net.ipv4.tcp_fastopen = 3 20 | net.core.netdev_max_backlog = 9000 21 | net.core.rmem_default = 67108864 22 | net.core.wmem_default = 67108864 23 | net.core.rmem_max = 104857600 24 | net.core.wmem_max = 104857600 25 | net.ipv4.tcp_max_syn_backlog = 1024 26 | net.ipv4.tcp_rmem = 10240 87380 67108864 27 | net.ipv4.tcp_wmem = 10240 87380 67108864 28 | 29 | # default value: 8000 30 | net.core.netdev_budget_usecs = 16000 31 | 32 | # default value: 300 33 | net.core.netdev_budget = 600 34 | 35 | # default value: 64 36 | net.core.dev_weight = 128 37 | 38 | # default value: 65535 39 | net.netfilter.nf_conntrack_max = 327680 40 | 41 | # default value: 16384 42 | net.netfilter.nf_conntrack_buckets = 81920 43 | 44 | # 45 | ####################################################### 46 | 47 | net.netfilter.nf_conntrack_tcp_no_window_check = 1 48 | # 系统最少保留内存 (default: 16384) 49 | vm.min_free_kbytes = 32768 50 | -------------------------------------------------------------------------------- /docker/patches/banner: -------------------------------------------------------------------------------- 1 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2 | \ ____ _ __ __ / 3 | \ / __ \____ ___ ____| | / /____/ /_ / 4 | \ / / / / __ \/ _ \/ __ \ | /| / / ___/ __/ / 5 | \ / /_/ / /_/ / __/ / / / |/ |/ / / / /_ / 6 | \ \____/ .___/\___/_/ /_/|__/|__/_/ \__/ / 7 | \ /_/ W I R E L E S S F R E E D O M / 8 | \ / 9 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 10 | -------------------------------------------------------------------------------- /docker/patches/cbi_turboacc.patch: -------------------------------------------------------------------------------- 1 | --- a/usr/lib/lua/luci/model/cbi/turboacc.lua 2 | +++ b/usr/lib/lua/luci/model/cbi/turboacc.lua 3 | @@ -10,7 +10,7 @@ s = m:section(TypedSection, "turboacc", 4 | s.addremove = false 5 | s.anonymous = true 6 | 7 | -if nixio.fs.access("/lib/modules/" .. kernel_version .. "/xt_FLOWOFFLOAD.ko") then 8 | +if luci.sys.call("modinfo xt_FLOWOFFLOAD >/dev/null") == 0 then 9 | sw_flow = s:option(Flag, "sw_flow", translate("Software flow offloading")) 10 | sw_flow.default = 0 11 | sw_flow.description = translate("Software based offloading for routing/NAT") 12 | @@ -24,20 +24,20 @@ hw_flow.description = translate("Require 13 | hw_flow:depends("sw_flow", 1) 14 | end 15 | 16 | -if nixio.fs.access("/lib/modules/" .. kernel_version .. "/shortcut-fe-cm.ko") then 17 | +if luci.sys.call("modinfo shortcut-fe-cm >/dev/null") == 0 then 18 | sfe_flow = s:option(Flag, "sfe_flow", translate("Shortcut-FE flow offloading")) 19 | sfe_flow.default = 0 20 | sfe_flow.description = translate("Shortcut-FE based offloading for routing/NAT") 21 | sfe_flow:depends("sw_flow", 0) 22 | end 23 | 24 | -if nixio.fs.access("/lib/modules/" .. kernel_version .. "/tcp_bbr.ko") then 25 | +if luci.sys.call("modinfo tcp_bbr >/dev/null") == 0 then 26 | bbr_cca = s:option(Flag, "bbr_cca", translate("BBR CCA")) 27 | bbr_cca.default = 0 28 | bbr_cca.description = translate("Using BBR CCA can improve TCP network performance effectively") 29 | end 30 | 31 | -if nixio.fs.access("/lib/modules/" .. kernel_version .. "/xt_FULLCONENAT.ko") then 32 | +if luci.sys.call("modinfo xt_FULLCONENAT >/dev/null") == 0 then 33 | fullcone_nat = s:option(Flag, "fullcone_nat", translate("FullCone NAT")) 34 | fullcone_nat.default = 0 35 | fullcone_nat.description = translate("Using FullCone NAT can improve gaming performance effectively") 36 | -------------------------------------------------------------------------------- /docker/patches/cbi_turboacc_new.patch: -------------------------------------------------------------------------------- 1 | --- a/usr/lib/lua/luci/model/cbi/turboacc.lua 2 | +++ b/usr/lib/lua/luci/model/cbi/turboacc.lua 3 | @@ -10,42 +10,42 @@ s = m:section(TypedSection, "turboacc", 4 | s.addremove = false 5 | s.anonymous = true 6 | 7 | -if nixio.fs.access("/lib/modules/" .. kernel_version .. "/xt_FLOWOFFLOAD.ko") and not nixio.fs.access("/lib/modules/" .. kernel_version .. "/mtkhnat.ko") then 8 | +if luci.sys.call("modinfo xt_FLOWOFFLOAD >/dev/null 2>&1") == 0 and luci.sys.call("modinfo mtkhnat >/dev/null") ~= 0 then 9 | sw_flow = s:option(Flag, "sw_flow", translate("Software flow offloading")) 10 | sw_flow.default = 0 11 | sw_flow.description = translate("Software based offloading for routing/NAT") 12 | -if nixio.fs.access("/lib/modules/" .. kernel_version .. "/mtkhnat.ko") then 13 | +if luci.sys.call("modinfo mtkhnat >/dev/null 2>&1") == 0 then 14 | sw_flow:depends("hw_flow", 0) 15 | else 16 | sw_flow:depends("sfe_flow", 0) 17 | end 18 | end 19 | 20 | -if luci.sys.call("cat /etc/openwrt_release | grep -q mt762") == 0 and not nixio.fs.access("/lib/modules/" .. kernel_version .. "/mtkhnat.ko") then 21 | +if luci.sys.call("cat /etc/openwrt_release | grep -q mt762") == 0 and luci.sys.call("modinfo mtkhnat >/dev/null 2>&1") ~= 0 then 22 | hw_flow = s:option(Flag, "hw_flow", translate("Hardware flow offloading")) 23 | hw_flow.default = 0 24 | hw_flow.description = translate("Requires hardware NAT support. Implemented at least for mt762x") 25 | -if nixio.fs.access("/lib/modules/" .. kernel_version .. "/mtkhnat.ko") then 26 | +if luci.sys.call("modinfo mtkhnat >/dev/null 2>&1") == 0 then 27 | hw_flow:depends("sw_flow", 0) 28 | else 29 | hw_flow:depends("sw_flow", 1) 30 | end 31 | end 32 | 33 | -if nixio.fs.access("/lib/modules/" .. kernel_version .. "/shortcut-fe-cm.ko") or nixio.fs.access("/lib/modules/" .. kernel_version .. "/fast-classifier.ko") then 34 | +if luci.sys.call("modinfo shortcut-fe-cm >/dev/null 2>&1") == 0 or luci.sys.call("modinfo fast-classifier >/dev/null 2>&1") == 0 then 35 | sfe_flow = s:option(Flag, "sfe_flow", translate("Shortcut-FE flow offloading")) 36 | sfe_flow.default = 0 37 | sfe_flow.description = translate("Shortcut-FE based offloading for routing/NAT") 38 | sfe_flow:depends("sw_flow", 0) 39 | end 40 | 41 | -if nixio.fs.access("/lib/modules/" .. kernel_version .. "/tcp_bbr.ko") then 42 | +if luci.sys.call("modinfo tcp_bbr >/dev/null 2>&1") == 0 then 43 | bbr_cca = s:option(Flag, "bbr_cca", translate("BBR CCA")) 44 | bbr_cca.default = 0 45 | bbr_cca.description = translate("Using BBR CCA can improve TCP network performance effectively") 46 | end 47 | 48 | -if nixio.fs.access("/lib/modules/" .. kernel_version .. "/xt_FULLCONENAT.ko") then 49 | +if luci.sys.call("modinfo xt_FULLCONENAT >/dev/null 2>&1") == 0 then 50 | fullcone_nat = s:option(Flag, "fullcone_nat", translate("FullCone NAT")) 51 | fullcone_nat.default = 0 52 | fullcone_nat.description = translate("Using FullCone NAT can improve gaming performance effectively") 53 | -------------------------------------------------------------------------------- /docker/patches/coremark.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | LOG=/etc/bench.log 4 | echo "
" > $LOG 5 | 6 | GOV="/sys/devices/system/cpu/cpufreq/policy0/scaling_governor" 7 | if [ -f "$GOV" ];then 8 | CURRENT_GOVERNOR=$(cat $GOV) 9 | GOV_FLAG=1 10 | else 11 | GOV_FLAG=0 12 | fi 13 | 14 | trap "echo killed;test $GOV_FLAG -eq 1 && echo ${CURRENT_GOVERNOR} > ${GOV} 2>/dev/null;echo '
' >> $LOG;rm -f /tmp/*.score;exit" 1 2 3 9 15 15 | 16 | GOV_HOME='/sys/devices/system/cpu/cpufreq/' 17 | govs=() 18 | if [ $GOV_FLAG -eq 1 ];then 19 | POLICIES=$(cd $GOV_HOME && ls -d policy*) 20 | i=1 21 | for POLICY in $POLICIES;do 22 | CUR_GOV="${GOV_HOME}/${POLICY}/scaling_governor" 23 | govs[$i]=$(cat $CUR_GOV) 24 | echo "performance" > ${CUR_GOV} 2>/dev/null 25 | i=$((i+1)) 26 | done 27 | fi 28 | 29 | echo "testing coremark ... " 30 | sleep 1 31 | COREMARK=$(/bin/coremark | tail -n 1 | awk '{print $4}') 32 | # 分数取整 33 | #COREMARK=${COREMARK%.*} 34 | echo "CPU CoreMark : $COREMARK" 35 | echo "CPU CoreMark$COREMARK" >> $LOG 36 | 37 | if [ -x /usr/bin/openssl ];then 38 | CORES=$(grep processor /proc/cpuinfo | wc -l) 39 | 40 | PROJS="aes-128-gcm aes-256-gcm chacha20-poly1305" 41 | for P in $PROJS;do 42 | echo "testing $P ..." 43 | sleep 1 44 | /usr/bin/openssl speed -multi $CORES -evp $P 1>/tmp/${P}.score 2>/dev/null || echo "NA" >/tmp/${P}.score 45 | S=$(tail -n 1 /tmp/${P}.score | awk '{print $5}') 46 | echo "${P}(1K) : ${S}" 47 | echo "${P}(1K)$S" >> $LOG 48 | rm -f /tmp/${P}.score 49 | done 50 | 51 | fi 52 | 53 | echo "" >> $LOG 54 | 55 | if [ $GOV_FLAG -eq 1 ];then 56 | i=1 57 | for POLICY in $POLICIES;do 58 | CUR_GOV="${GOV_HOME}/${POLICY}/scaling_governor" 59 | echo "${govs[$i]}" > ${CUR_GOV} 2>/dev/null 60 | i=$((i+1)) 61 | done 62 | fi 63 | 64 | if [ -f "$LOG" ]; then 65 | sed -i '/coremark/d' /etc/crontabs/root 66 | crontab /etc/crontabs/root 67 | fi 68 | -------------------------------------------------------------------------------- /docker/patches/cpustat: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env perl 2 | use strict; 3 | use utf8; 4 | use Config; 5 | use Time::HiRes qw /usleep/; 6 | binmode(STDOUT, ":utf8"); 7 | 8 | sub get_soc_temp { 9 | my $t=shift; 10 | my @fnames=( 11 | '/sys/devices/virtual/thermal/thermal_zone0/temp', 12 | '/sys/devices/platform/scpi/scpi:sensors/hwmon/hwmon0/temp1_input', 13 | ); 14 | my $temp = "Unknown"; 15 | for my $fname (@fnames) { 16 | if( -f $fname ) { 17 | open my $fh, "<", $fname; 18 | if($t) { 19 | $temp = sprintf "%0.1f", <$fh> / 1000; 20 | } else { 21 | $temp = sprintf "%0.1f℃", <$fh> / 1000; 22 | } 23 | close $fh; 24 | return $temp; 25 | } 26 | } 27 | 28 | return $temp; 29 | } 30 | 31 | sub get_cpu_freq { 32 | my $f=shift; 33 | my @fnames=; 34 | my $freq_str = ""; 35 | for (my $i=0; $i < $#fnames + 1; $i++) { 36 | my $fname = $fnames[$i]; 37 | open my $fh, "<", $fname; 38 | usleep(50000); 39 | my $freq; 40 | if($f =~ /-F(\d*)/) { 41 | my $alert_mhz = 1500; 42 | if($1 ne "") { 43 | $alert_mhz = $1; 44 | } 45 | my $color = "\x1b[92m"; 46 | $freq = <$fh> / 1000; 47 | if($freq > $alert_mhz) { 48 | $color = "\x1b[91m"; 49 | } 50 | $freq = sprintf "%s%d Mhz\x1b[0m", $color, $freq; 51 | } else { 52 | $freq = sprintf "%dMhz", <$fh> / 1000; 53 | } 54 | close $fh; 55 | $freq_str .= $freq; 56 | if($i < $#fnames) { 57 | $freq_str .= " & "; 58 | } 59 | } 60 | 61 | if($#fnames > 0 && $f eq "") { 62 | $freq_str = "(" . $freq_str . ")"; 63 | } 64 | 65 | if($freq_str eq "") { 66 | $freq_str = "Unknown"; 67 | } 68 | return $freq_str; 69 | } 70 | 71 | sub get_arch_info { 72 | my $a=shift; 73 | my @cpus = ; 74 | my @cpu_groups; 75 | my %group_core_count; 76 | for my $cpu (@cpus) { 77 | open my $fh, "<", "${cpu}/uevent"; 78 | while(<$fh>) { 79 | chomp; 80 | my($key,$value) = split /=/; 81 | if($key eq "OF_COMPATIBLE_0") { 82 | my($cortex, $a) = split /-/, (split /,/, $value)[1]; 83 | my $core_type_name = ucfirst($cortex) . "-" . ucfirst($a); 84 | if(not exists $group_core_count{$core_type_name}) { 85 | push @cpu_groups, $core_type_name; 86 | $group_core_count{$core_type_name} = 0; 87 | } 88 | $group_core_count{$core_type_name} += 1; 89 | } 90 | } 91 | close $fh; 92 | } 93 | 94 | my $arch_info; 95 | if($a) { 96 | $arch_info = "AArch64 : " if ($a); 97 | } else { 98 | $arch_info = "AArch64 Processor : "; 99 | } 100 | for (my $i = 0; $i < $#cpu_groups + 1; $i++) { 101 | my $group = $cpu_groups[$i]; 102 | #if($i == 0) { 103 | # $arch_info .= ""; 104 | #} 105 | $arch_info .= $group; 106 | if($a) { 107 | $arch_info .= " x "; 108 | } else { 109 | $arch_info .= " * "; 110 | } 111 | $arch_info .= $group_core_count{$group}; 112 | if($i < $#cpu_groups) { 113 | $arch_info .= " & "; 114 | } #else { 115 | # $arch_info .= ""; 116 | #} 117 | } 118 | 119 | return "$arch_info"; 120 | } 121 | 122 | sub get_uptime { 123 | my $fh; 124 | my $result; 125 | open $fh, "<", "/proc/uptime" or die; 126 | my $str_uptime = <$fh>; 127 | if($str_uptime =~ /(\d*)/) { 128 | my $day = int($1/86400); 129 | my $hour = int(($1%86400)/3600); 130 | my $min = int(($1%3600)/60); 131 | my $sec = $1%60; 132 | 133 | my $sday = $day . "天 " if($day>0); 134 | my $shour = $hour . "小时 " if($hour>0 || $day>0) ; 135 | my $smin = $min . "分钟 "; 136 | my $ssec = $sec . "秒"; 137 | $result .= $sday . $shour . $smin . $ssec; 138 | } 139 | close $fh; 140 | return $result; 141 | } 142 | 143 | sub get_avgload { 144 | my $fh; 145 | my $result; 146 | open $fh, "<", "/proc/loadavg" or die; 147 | my $str = <$fh>; 148 | $result = join(' ', (split(/\s+/, $str))[0,1,2]); 149 | close $fh; 150 | return $result; 151 | } 152 | 153 | sub get_eth_name { 154 | my $eth = shift; 155 | return (split /\//, $eth)[-1]; 156 | } 157 | 158 | sub get_eth_operstate { 159 | my $eth = shift; 160 | my $fh; 161 | open $fh, "<", "$eth/operstate" or warn $!; 162 | my $operstate = <$fh>; 163 | close $fh; 164 | $operstate =~ s/\n//; 165 | return $operstate; 166 | } 167 | 168 | sub get_eth_driver { 169 | my $eth = shift; 170 | my $fh; 171 | open $fh, "<", "$eth/device/uevent" or warn $!; 172 | my $driver; 173 | while(<$fh>) { 174 | chomp; 175 | if(/^DRIVER=/) { 176 | $driver = (split /=/, $_)[-1]; 177 | last; 178 | } 179 | } 180 | close $fh; 181 | return $driver; 182 | } 183 | 184 | sub get_eth_duplex { 185 | my $eth = shift; 186 | my $fh; 187 | open $fh, "<", "$eth/duplex" or warn $!; 188 | my $duplex = <$fh>; 189 | close $fh; 190 | $duplex =~ s/\n//; 191 | return $duplex; 192 | } 193 | 194 | sub get_eth_speed { 195 | my $eth = shift; 196 | my $fh; 197 | open $fh, "<", "$eth/speed" or warn $!; 198 | my $speed = <$fh>; 199 | close $fh; 200 | $speed =~ s/\n//; 201 | if($speed == -1) { 202 | my $driver = &get_eth_driver("$eth"); 203 | if($driver eq "virtio_net") { 204 | $speed = "Maximum"; 205 | } else { 206 | $speed = ""; 207 | } 208 | } elsif($speed <= 100) { 209 | $speed .= "Mb/s"; 210 | } else { 211 | $speed = sprintf "%.1fGb/s", $speed / 1000; 212 | } 213 | $speed =~ s/\.0//; 214 | return $speed; 215 | } 216 | 217 | sub get_eth_temperature { 218 | my($driver, $eth_name) = @_; 219 | my $ret = ""; 220 | return $ret if (! -d "/proc/net/r8125/$eth_name"); 221 | if($driver eq 'r8125') { 222 | my $fh; 223 | open $fh, "<", "/proc/net/r8125/$eth_name/temp" or die $!; 224 | while(<$fh>) { 225 | chomp; 226 | if(/^Cel:/) { 227 | $ret = (split /:/, $_)[-1]."℃"; 228 | last; 229 | } 230 | } 231 | close $fh; 232 | } 233 | return $ret; 234 | } 235 | 236 | sub get_ethlist() { 237 | my $board = &get_boardinfo; 238 | if($board eq "FastRhino R66S") { 239 | return reverse sort (); 240 | } elsif($board =~ m/NLnet Watermelon Pi/i) { 241 | return reverse sort (); 242 | } else { 243 | return sort (); 244 | } 245 | } 246 | 247 | sub get_ethcount() { 248 | my @eth_ary = &get_ethlist; 249 | return $#eth_ary + 1; 250 | } 251 | 252 | sub get_ethinfo { 253 | my @eth_ary = &get_ethlist; 254 | my $ret = "[\n"; 255 | for (my $i = 0; $i <= $#eth_ary; $i++) { 256 | $ret .= " {\n"; 257 | my $eth_name = &get_eth_name($eth_ary[$i]); 258 | my $driver = &get_eth_driver($eth_ary[$i]); 259 | my $operstate = &get_eth_operstate($eth_ary[$i]) eq "up" ? 1 : 0; 260 | my $speed = &get_eth_speed($eth_ary[$i]); 261 | my $duplex = &get_eth_duplex($eth_ary[$i]); 262 | my $temperature = &get_eth_temperature($driver, $eth_name); 263 | if($temperature eq "") { 264 | $temperature = "☰"; 265 | } 266 | 267 | if(($duplex eq "unknown")) { 268 | if(($driver eq "virtio_net") && ($operstate == 1)) { 269 | $duplex = "full"; 270 | } 271 | } 272 | 273 | if($operstate == 1) { 274 | $speed .= " $duplex duplex"; 275 | } else { 276 | $speed = "☷"; 277 | } 278 | 279 | $ret .= qq| "name": "| . $eth_name . qq|",\n|; 280 | $ret .= qq| "driver": "| . $driver . qq|",\n|; 281 | $ret .= qq| "temperature": "| . $temperature . qq|",\n|; 282 | $ret .= qq| "operstate": | . $operstate . ",\n"; 283 | $ret .= qq| "speed": "| . $speed . qq|"\n|; 284 | if($i < $#eth_ary) { 285 | $ret .= " },\n"; 286 | } else { 287 | $ret .= " }\n"; 288 | } 289 | } 290 | $ret .= "]"; 291 | return $ret; 292 | } 293 | 294 | sub get_archname() { 295 | return $Config{archname}; 296 | } 297 | 298 | sub get_boardinfo() { 299 | my $ret="unknown"; 300 | my $arch=&get_archname; 301 | if($arch =~ /^aarch64/) { 302 | if(-f "/proc/device-tree/model") { 303 | open my $fh, "<", "/proc/device-tree/model" or warn $!; 304 | read $fh, $ret, 100; 305 | close $fh; 306 | $ret =~ s/\0//; 307 | } elsif(-d "/sys/firmware/qemu_fw_cfg") { 308 | $ret = "QEMU KVM Virtual Machine"; 309 | } 310 | } elsif($arch =~ /^x86/) { 311 | open my $fh, "<", "/proc/cpuinfo" or warn $!; 312 | while(<$fh>) { 313 | chomp; 314 | if(/^model name/) { 315 | $ret = (split /:/, $_)[-1]; 316 | $ret =~ s/\A\s+//; 317 | } 318 | } 319 | } 320 | return $ret; 321 | } 322 | 323 | sub get_dc_voltage() { 324 | my $precision = shift; 325 | my $board = &get_boardinfo; 326 | my $up_res = 0; 327 | my $down_res = 0; 328 | my $iio_channel; 329 | my $ret = 0; 330 | my $fh; 331 | if($board =~ m/Radxa ROCK 5B/) { 332 | $up_res = 100; 333 | $down_res = 8.2; 334 | $iio_channel = 6; 335 | $ret = "(Probably) 12"; 336 | } 337 | 338 | if($up_res && $down_res) { 339 | my $voltage_raw = 0; 340 | my $voltage_scale = 0; 341 | open $fh, "<", "/sys/bus/iio/devices/iio:device0/in_voltage_scale" or die; 342 | read $fh, $voltage_scale, 40; 343 | close $fh; 344 | 345 | open $fh, "<", "/sys/bus/iio/devices/iio:device0/in_voltage${iio_channel}_raw" or die; 346 | read $fh, $voltage_raw, 40; 347 | close $fh; 348 | 349 | if($voltage_raw && $voltage_scale && (($voltage_raw + 1) * $voltage_scale < 1800)) { 350 | $precision = 0 unless $precision; 351 | my $fmt = "%0.${precision}f"; 352 | $ret = sprintf $fmt, $voltage_raw * $voltage_scale * ($up_res + $down_res) / $down_res / 1000.0; 353 | } 354 | } 355 | return $ret; 356 | } 357 | 358 | ##### main program ##### 359 | my $argc = scalar( @ARGV ); 360 | if($argc == 0) { 361 | print &get_cpu_freq, " / ", &get_soc_temp, "\n"; 362 | } elsif($ARGV[0] eq "-a") { 363 | print &get_arch_info, "\n"; 364 | } elsif($ARGV[0] eq "-A") { 365 | print &get_arch_info("A"), "\n"; 366 | } elsif($ARGV[0] eq "-t") { 367 | print &get_soc_temp, "\n"; 368 | } elsif($ARGV[0] eq "-T") { 369 | print &get_soc_temp("T"), "\n"; 370 | } elsif($ARGV[0] eq "-f") { 371 | print &get_cpu_freq, "\n"; 372 | } elsif($ARGV[0] =~ /-F/) { 373 | print &get_cpu_freq($ARGV[0]), "\n"; 374 | } elsif($ARGV[0] eq "-u") { 375 | print &get_uptime, "\n"; 376 | } elsif($ARGV[0] eq "-l") { 377 | print &get_avgload, "\n"; 378 | } elsif($ARGV[0] eq "-e") { 379 | print &get_ethinfo, "\n"; 380 | } elsif($ARGV[0] eq "-ec") { 381 | print &get_ethcount, "\n"; 382 | } elsif($ARGV[0] eq "-b") { 383 | print &get_boardinfo, "\n"; 384 | } elsif($ARGV[0] =~ m/-V(\d{0,1})/) { 385 | print &get_dc_voltage($1), "\n"; 386 | } 387 | -------------------------------------------------------------------------------- /docker/patches/getcpu: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env perl 2 | #use strict; 3 | 4 | sub get_stat { 5 | open IN, "<", "/proc/stat"; 6 | $_ = ; 7 | chomp; 8 | close(IN); 9 | my ($cpu, $user, $nice, $system, $idle, $iowait, $irq, $softirq, $steal, $guest, $guest_nice) = split; 10 | my $Idle = $idle + $iowait; 11 | my $Non_Idle = $user + $nice + $system + $irq + $softirq + $steal + $guest + $guest_nice; 12 | return ($Idle, $Non_Idle); 13 | } 14 | 15 | my($prev_idle, $prev_non_idle) = &get_stat; 16 | my $prev_total = $prev_idle + $prev_non_idle; 17 | sleep(3); 18 | my($idle, $non_idle) = &get_stat; 19 | my $total = $idle + $non_idle; 20 | 21 | my $totald = $total - $prev_total; 22 | my $idled = $idle - $prev_idle; 23 | my $cpu_percentage = ($totald - $idled) / $totald * 100; 24 | 25 | $| = 1; 26 | open OUT, ">", "/tmp/cpuusage"; 27 | printf OUT "%0.1f\%", $cpu_percentage; 28 | close(OUT); 29 | 30 | exit(0); 31 | -------------------------------------------------------------------------------- /docker/patches/index.html.patches/luci-admin-status-index-html.patch: -------------------------------------------------------------------------------- 1 | --- a/usr/lib/lua/luci/view/admin_status/index.htm 2 | +++ b/usr/lib/lua/luci/view/admin_status/index.htm 3 | @@ -9,10 +9,18 @@ 4 | local util = require "luci.util" 5 | local stat = require "luci.tools.status" 6 | local ver = require "luci.version" 7 | + local uci = require("luci.model.uci").cursor() 8 | 9 | local has_ipv6 = fs.access("/usr/sbin/ip6tables") 10 | local has_dhcp = fs.access("/etc/config/dhcp") 11 | local has_wifi = ((fs.stat("/etc/config/wireless", "size") or 0) > 0) 12 | + local has_switch = false 13 | + 14 | + uci:foreach("network", "switch", 15 | + function(s) 16 | + has_switch = true 17 | + return false 18 | + end) 19 | 20 | local sysinfo = luci.util.ubus("system", "info") or { } 21 | local boardinfo = luci.util.ubus("system", "board") or { } 22 | @@ -43,12 +51,14 @@ 23 | fs.readfile("/proc/sys/net/netfilter/nf_conntrack_count") or "") or 0 24 | 25 | local conn_max = tonumber(luci.sys.exec( 26 | - "sysctl -n -e net.nf_conntrack_max net.ipv4.netfilter.ip_conntrack_max" 27 | - ):match("%d+")) or 4096 28 | + "sysctl -n -e net.netfilter.nf_conntrack_max net.nf_conntrack_max net.ipv4.netfilter.ip_conntrack_max | head -n 1"):match("%d+")) or 4096 29 | 30 | - local user_info = luci.sys.exec("cat /proc/net/arp | grep 'br-lan' | grep '0x2' | wc -l") 31 | + local user_info = luci.sys.exec("cat /proc/net/arp | grep -E 'br-lan|eth0' | grep '0x2' | wc -l") 32 | 33 | local cpu_usage = (luci.sys.exec("expr 100 - $(top -n 1 | grep 'CPU:' | awk -F '%' '{print$4}' | awk -F ' ' '{print$2}')") or "6") .. "%" 34 | + local cpu_stat = luci.sys.exec("/usr/bin/cpustat 2>/dev/null") or { } 35 | + local eth_info = luci.sys.exec("/usr/bin/cpustat -e 2>/dev/null") 36 | + local eth_cnt = luci.sys.exec("/usr/bin/cpustat -ec 2>/dev/null") 37 | 38 | local rv = { 39 | cpuusage = cpu_usage, 40 | @@ -59,11 +69,14 @@ 41 | memory = meminfo, 42 | memcached = mem_cached, 43 | swap = swapinfo, 44 | + ethinfo = eth_info, 45 | + ethcount = eth_cnt, 46 | connmax = conn_max, 47 | conncount = conn_count, 48 | leases = stat.dhcp_leases(), 49 | leases6 = stat.dhcp6_leases(), 50 | - wifinets = stat.wifi_networks() 51 | + wifinets = stat.wifi_networks(), 52 | + cpustat = cpu_stat 53 | } 54 | 55 | if wan then 56 | @@ -641,9 +654,30 @@ 57 | 58 | var e; 59 | 60 | + if (e = document.getElementById('ethinfo')) { 61 | + var ports = eval('(' + info.ethinfo + ')'); 62 | + var avg_width = info.ethcount ? 100 / info.ethcount : 100; 63 | + var tmp = ""; 64 | + for (var i in ports) 65 | + { 66 | + tmp = tmp + String.format( 67 | + '%s

%s
%s
%s
', 68 | + avg_width, 69 | + ports[i].name, 70 | + ports[i].operstate ? 'port_up.png' : 'port_down.png', 71 | + ports[i].driver, 72 | + ports[i].speed, 73 | + ports[i].temperature); 74 | + }; 75 | + e.innerHTML = "" + tmp + ""; 76 | + } 77 | + 78 | if (e = document.getElementById('localtime')) 79 | e.innerHTML = info.localtime; 80 | 81 | + if (e = document.getElementById('cpustat')) 82 | + e.innerHTML = info.cpustat; 83 | + 84 | if (e = document.getElementById('uptime')) 85 | e.innerHTML = String.format('%t', info.uptime); 86 | 87 | @@ -700,7 +734,7 @@ 88 | 89 | 90 | 91 | - 92 | + 93 | 98 | 99 | 100 | + 101 | 102 | 103 |
<%:Hostname%><%=luci.sys.hostname() or "?"%>
<%:Model%><%=pcdata(boardinfo.model or "?")%> <%=luci.sys.exec("cat /etc/bench.log") or " "%>
<%:Architecture%><%=pcdata(boardinfo.system or "ARMv8 Processor")%> x <%=luci.sys.exec("cat /proc/cpuinfo | grep 'processor' | wc -l") or "1"%>
<%:Architecture%><%=luci.sys.exec("/usr/bin/cpustat -a 2>/dev/null")%>
<%:Firmware Version%> 94 | <%=pcdata(ver.distname)%> <%=pcdata(ver.distversion)%> / 95 | <%=pcdata(ver.luciname)%> (<%=pcdata(ver.luciversion)%>) 96 | @@ -708,6 +742,7 @@ 97 |
<%:Kernel Version%><%=unameinfo.release or "?"%>
<%:Local Time%>-
<%:Uptime%>-
<%:CPU状态%>-
<%:Load Average%>-
<%:CPU usage (%)%>-
104 | @@ -732,6 +767,15 @@ 105 | 106 | 107 | <% end %> 108 | + 109 | +<% if not has_switch then %> 110 | +
111 | + <%:Interfaces%> 112 | + 113 | + 114 | +
115 | +
116 | +<% end %> 117 | 118 |
119 | <%:Network%> 120 | -------------------------------------------------------------------------------- /docker/patches/init.d_turboacc.patch: -------------------------------------------------------------------------------- 1 | --- a/etc/init.d/turboacc 2 | +++ b/etc/init.d/turboacc 3 | @@ -21,10 +21,10 @@ inital_conf(){ 4 | config_get "dns_caching_mode" "config" "dns_caching_mode" "0" 5 | config_get "dns_caching_dns" "config" "dns_caching_dns" 6 | 7 | - [ -e "/lib/modules/$(uname -r)/mtkhnat.ko" ] && { sw_flow="0"; hw_flow="1"; } 8 | - [ ! -e "/lib/modules/$(uname -r)/xt_FLOWOFFLOAD.ko" ] && { sw_flow="0"; hw_flow="0"; } 9 | - [ ! -e "/lib/modules/$(uname -r)/tcp_bbr.ko" ] && bbr_cca="0" 10 | - [ ! -e "/lib/modules/$(uname -r)/xt_FULLCONENAT.ko" ] && fullcone_nat="0" 11 | + modinfo mtkhnat >/dev/null 2>&1 && { sw_flow="0"; hw_flow="1"; } 12 | + modinfo xt_FLOWOFFLOAD >/dev/null 2>&1 || { sw_flow="0"; hw_flow="0"; } 13 | + modinfo tcp_bbr >/dev/null 2>&1 || bbr_cca="0" 14 | + modinfo xt_FULLCONENAT >/dev/null 2>&1 || fullcone_nat="0" 15 | } 16 | 17 | start_pdnsd() { 18 | @@ -228,8 +228,8 @@ revert_dns() { 19 | load_sfe() { 20 | local kernel_version=$(uname -r) 21 | 22 | - [ -e "/lib/modules/$kernel_version/shortcut-fe-cm.ko" ] && modprobe shortcut-fe-cm 23 | - [ -e "/lib/modules/$kernel_version/fast-classifier.ko" ] && modprobe fast-classifier 24 | + modinfo shortcut-fe-cm >/dev/null 2>&1 && modprobe shortcut-fe-cm 25 | + modinfo fast-classifier >/dev/null 2>&1 && modprobe fast-classifier 26 | } 27 | 28 | unload_sfe() { 29 | -------------------------------------------------------------------------------- /docker/patches/kmod: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/haiibo/OpenWrt/c51c06381c1deff2ab8dad37a05e4a5bae6afb31/docker/patches/kmod -------------------------------------------------------------------------------- /docker/patches/rc.local: -------------------------------------------------------------------------------- 1 | # 修复在某些docker环境下网络卡顿的问题, 如果非必要请勿删除! 2 | cat > /etc/resolv.conf < 3 | Date: Sun, 28 May 2023 13:44:07 +0900 4 | Subject: [PATCH] fix build 5 | 6 | --- 7 | wpa_supplicant/Makefile | 1 + 8 | 1 file changed, 1 insertion(+) 9 | 10 | diff --git a/wpa_supplicant/Makefile b/wpa_supplicant/Makefile 11 | index ef36b56..55f0c76 100644 12 | --- a/wpa_supplicant/Makefile 13 | +++ b/wpa_supplicant/Makefile 14 | @@ -339,6 +339,7 @@ endif 15 | 16 | ifdef CONFIG_MBO 17 | CONFIG_WNM=y 18 | +NEED_GAS=y 19 | endif 20 | 21 | ifdef CONFIG_WNM 22 | -- 23 | 2.17.1 24 | -------------------------------------------------------------------------------- /scripts/init-settings.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | # Set default theme to luci-theme-argon 4 | uci set luci.main.mediaurlbase='/luci-static/argon' 5 | uci commit luci 6 | 7 | # Disable IPV6 ula prefix 8 | # sed -i 's/^[^#].*option ula/#&/' /etc/config/network 9 | 10 | # Check file system during boot 11 | # uci set fstab.@global[0].check_fs=1 12 | # uci commit fstab 13 | 14 | exit 0 15 | -------------------------------------------------------------------------------- /scripts/preset-adguard-core.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | mkdir -p files/usr/bin/AdGuardHome 4 | 5 | AGH_CORE=$(curl -sL https://api.github.com/repos/AdguardTeam/AdGuardHome/releases/latest | grep /AdGuardHome_linux_${1} | awk -F '"' '{print $4}') 6 | 7 | wget -qO- $AGH_CORE | tar xOvz > files/usr/bin/AdGuardHome/AdGuardHome 8 | 9 | chmod +x files/usr/bin/AdGuardHome/AdGuardHome 10 | -------------------------------------------------------------------------------- /scripts/preset-clash-core.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | mkdir -p files/etc/openclash/core 4 | 5 | CLASH_DEV_URL="https://raw.githubusercontent.com/vernesong/OpenClash/core/master/dev/clash-linux-${1}.tar.gz" 6 | CLASH_TUN_URL=$(curl -fsSL https://api.github.com/repos/vernesong/OpenClash/contents/master/premium\?ref\=core | grep download_url | grep $1 | awk -F '"' '{print $4}' | grep -v 'v3') 7 | CLASH_META_URL="https://raw.githubusercontent.com/vernesong/OpenClash/core/master/meta/clash-linux-${1}.tar.gz" 8 | GEOIP_URL="https://github.com/Loyalsoldier/v2ray-rules-dat/releases/latest/download/geoip.dat" 9 | GEOSITE_URL="https://github.com/Loyalsoldier/v2ray-rules-dat/releases/latest/download/geosite.dat" 10 | 11 | wget -qO- $CLASH_DEV_URL | tar xOvz > files/etc/openclash/core/clash 12 | wget -qO- $CLASH_TUN_URL | gunzip -c > files/etc/openclash/core/clash_tun 13 | wget -qO- $CLASH_META_URL | tar xOvz > files/etc/openclash/core/clash_meta 14 | wget -qO- $GEOIP_URL > files/etc/openclash/GeoIP.dat 15 | wget -qO- $GEOSITE_URL > files/etc/openclash/GeoSite.dat 16 | 17 | chmod +x files/etc/openclash/core/clash* 18 | -------------------------------------------------------------------------------- /scripts/preset-terminal-tools.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | mkdir -p files/root 4 | pushd files/root 5 | 6 | # Clone oh-my-zsh repository 7 | git clone --depth=1 https://github.com/ohmyzsh/ohmyzsh ./.oh-my-zsh 8 | 9 | # Install extra plugins 10 | git clone --depth=1 https://github.com/zsh-users/zsh-autosuggestions ./.oh-my-zsh/custom/plugins/zsh-autosuggestions 11 | git clone --depth=1 https://github.com/zsh-users/zsh-syntax-highlighting ./.oh-my-zsh/custom/plugins/zsh-syntax-highlighting 12 | git clone --depth=1 https://github.com/zsh-users/zsh-completions ./.oh-my-zsh/custom/plugins/zsh-completions 13 | 14 | # Get .zshrc dotfile 15 | cp $GITHUB_WORKSPACE/scripts/.zshrc . 16 | 17 | popd 18 | --------------------------------------------------------------------------------