├── README.md ├── diy └── mt798x │ ├── op1.sh │ └── op2.sh └── .github └── workflows ├── Delete-1day.yml ├── Build_mt7986_ax6000.yml └── Build_mt7981.yml /README.md: -------------------------------------------------------------------------------- 1 | ## EasyWrt 2 | 3 | #### 此项目仅是骨头包,源码默认配置,不额外带更多的插件,仅加上 iStore 应用中心。 4 | 5 | ``` 6 | 固件管理ip:192.168.2.1 7 | 用户名:root 8 | 密码:为空 或 password 9 | ``` 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /diy/mt798x/op1.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | #================================================= 3 | # DaoDao's script 4 | #================================================= 5 | ##添加自己的插件库 6 | echo -e "\nsrc-git extraipk https://github.com/xiangfeidexiaohuo/extra-ipk" >> feeds.conf.default 7 | -------------------------------------------------------------------------------- /.github/workflows/Delete-1day.yml: -------------------------------------------------------------------------------- 1 | name: Delete-1day 2 | 3 | on: 4 | repository_dispatch: 5 | workflow_dispatch: 6 | 7 | # 定时触发编译 8 | # schedule: 9 | # - cron: 0 0 * * 0 10 | 11 | jobs: 12 | Delete-1day: 13 | runs-on: ubuntu-latest 14 | steps: 15 | - name: Clone Repository 16 | uses: actions/checkout@v4 17 | 18 | - name: Set git 19 | run : | 20 | git config --global user.email "github-actions[bot]@users.noreply.github.com" 21 | git config --global user.name "github-actions[bot]" 22 | sudo timedatectl set-timezone "Asia/Shanghai" 23 | 24 | - name: Delete workflow runs 25 | uses: Mattraks/delete-workflow-runs@main 26 | continue-on-error: true 27 | with: 28 | retain_days: 1 29 | keep_minimum_runs: 0 30 | -------------------------------------------------------------------------------- /.github/workflows/Build_mt7986_ax6000.yml: -------------------------------------------------------------------------------- 1 | name: Build_mt7986_ax6000 2 | 3 | on: 4 | repository_dispatch: 5 | workflow_dispatch: 6 | 7 | # 定时触发编译 8 | schedule: 9 | - cron: 1 18 * * 5 10 | 11 | # 点赞☆Star触发编译 12 | # watch: 13 | # types: [started] 14 | 15 | jobs: 16 | Build_mt7986_ax6000: 17 | runs-on: ubuntu-latest 18 | steps: 19 | - name: Clone Repository 20 | uses: actions/checkout@v4 21 | 22 | - name: Initialization environment 23 | env: 24 | DEBIAN_FRONTEND: noninteractive 25 | run: | 26 | sudo timedatectl set-timezone "Asia/Shanghai" 27 | sudo -E swapoff -a 28 | sudo -E rm -f /swapfile 29 | sudo -E docker image prune -a -f 30 | sudo -E snap set system refresh.retain=2 31 | sudo -E apt-get -y purge dotnet* firefox ghc* google* llvm* mono* mysql* openjdk* php* zulu* 32 | sudo -E apt-get -y autoremove --purge 33 | sudo -E rm -rf /usr/share/dotnet /usr/local/lib/android/sdk /etc/mysql /etc/php /usr/local/share/boost 34 | [ -n "$AGENT_TOOLSDIRECTORY" ] && sudo rm -rf "$AGENT_TOOLSDIRECTORY" 35 | sudo -E apt-get update -y 36 | sudo -E apt-get install -y ack antlr3 aria2 asciidoc autoconf automake autopoint binutils bison build-essential bzip2 ccache cmake cpio curl device-tree-compiler fastjar flex gawk gettext gcc-multilib g++-multilib git gperf haveged help2man intltool libc6-dev-i386 libelf-dev libglib2.0-dev libgmp3-dev libltdl-dev libmpc-dev libmpfr-dev libncurses5-dev libncursesw5-dev libreadline-dev libssl-dev libtool lrzsz mkisofs msmtp nano ninja-build p7zip p7zip-full patch pkgconf g++ file clang nano genisoimage python3.8 python3-pip libpython3-dev qemu-utils rsync scons squashfs-tools subversion swig texinfo uglifyjs upx-ucl unzip vim wget xmlto xxd zlib1g-dev libfuse-dev libfuse-dev python3-setuptools 37 | pip install aligo 38 | sudo -E apt-get clean 39 | git config --global user.name 'GitHub Actions' && git config --global user.email 'noreply@github.com' 40 | df -h 41 | 42 | - name: Clone source code 43 | env: 44 | REPO_URL: https://github.com/hanwckf/immortalwrt-mt798x 45 | REPO_BRANCH: openwrt-21.02 46 | run: | 47 | git clone --depth 1 $REPO_URL -b $REPO_BRANCH openwrt 48 | cd openwrt 49 | cp -f ../diy/mt798x/op1.sh ./ 50 | chmod +x ./op1.sh && ./op1.sh 51 | 52 | - name: Update & Install feeds 53 | working-directory: ./openwrt 54 | run: | 55 | ./scripts/feeds update -a 56 | 57 | ./scripts/feeds install -a 58 | 59 | cp -f ../diy/mt798x/op2.sh ./ 60 | chmod +x ./op2.sh && ./op2.sh 61 | 62 | sed -i "s/DISTRIB_DESCRIPTION='*.*'/DISTRIB_DESCRIPTION='EasyWrt-Redmi-AX6000-$(date +%Y%m%d)'/g" package/base-files/files/etc/openwrt_release 63 | 64 | - name: Configuration Customization - Build_mt7986_ax6000 65 | env: 66 | CONFIG_FILE: './configs/ARM/mt798x/mt7986_ax6000.config' 67 | run: | 68 | [ -e $CONFIG_FILE ] && mv $CONFIG_FILE openwrt/.config 69 | cd openwrt && make defconfig 70 | 71 | - name: Download package 72 | working-directory: ./openwrt 73 | run: | 74 | make download -j$(nproc) 75 | find dl -size -1024c -exec ls -l {} \; 76 | find dl -size -1024c -exec rm -f {} \; 77 | 78 | - name: Build firmware 79 | working-directory: ./openwrt 80 | run: | 81 | make -j$(nproc) V=s 82 | 83 | - name: Assemble Artifact 84 | id: assemble_artifact 85 | run: | 86 | rm -rf ./ARM_Out 87 | mkdir -p ./ARM_Out/ 88 | cp -a ./openwrt/.config ./ARM_Out/ae86.config 89 | 90 | getmd5() 91 | { 92 | md5sum=`md5sum $1` 93 | md5=`echo ${md5sum% *}` 94 | md5=`echo ${md5:0:10}` 95 | } 96 | 97 | rom=openwrt/bin/targets/mediatek/mt7986/immortalwrt-mediatek-mt7986-xiaomi_redmi-router-ax6000-squashfs-sysupgrade.bin 98 | getmd5 $rom 99 | cp -a $rom ./ARM_Out/EasyWrt-Redmi-AX6000-5.4-$(date +%Y%m%d)_${md5}.bin 100 | 101 | - name: Upload Firmwares 102 | uses: actions/upload-artifact@main 103 | with: 104 | name: AX6000-OpenWrt 105 | path: ARM_Out/*.bin 106 | 107 | - name: Upload config 108 | uses: actions/upload-artifact@main 109 | with: 110 | name: ax6000-config 111 | path: ARM_Out/ae86.config 112 | 113 | - name: Upload Packages 114 | uses: actions/upload-artifact@main 115 | with: 116 | name: AX6000-Packages 117 | path: openwrt/bin/packages 118 | 119 | - name: Generate Tag & Release Name 120 | id: generate_name 121 | run: | 122 | time=$(date +%Y%m%d%H%M%S) 123 | release_tag="$time" 124 | release_name="EasyWrt-红米AX6000-$(date +%Y%m%d)" 125 | echo "release_name=$release_name" >> $GITHUB_OUTPUT 126 | echo "release_tag=$release_tag" >> $GITHUB_OUTPUT 127 | 128 | - name: Create Release & Upload 129 | uses: ncipollo/release-action@v1.14.0 130 | with: 131 | artifacts: ARM_Out/*.bin 132 | name: ${{ steps.generate_name.outputs.release_name }} 133 | tag: ${{ steps.generate_name.outputs.release_tag }} 134 | token: ${{ secrets.GITHUB_TOKEN }} 135 | 136 | -------------------------------------------------------------------------------- /diy/mt798x/op2.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | #================================================= 3 | # DaoDao's script 4 | #================================================= 5 | 6 | 7 | ## 8 | echo -e "\nmsgid \"Control\"" >> feeds/luci/modules/luci-base/po/zh_Hans/base.po 9 | echo -e "msgstr \"控制\"" >> feeds/luci/modules/luci-base/po/zh_Hans/base.po 10 | 11 | echo -e "\nmsgid \"NAS\"" >> feeds/luci/modules/luci-base/po/zh_Hans/base.po 12 | echo -e "msgstr \"网络存储\"" >> feeds/luci/modules/luci-base/po/zh_Hans/base.po 13 | 14 | 15 | ##配置IP 16 | sed -i 's/192.168.1.1/192.168.2.1/g' package/base-files/files/bin/config_generate 17 | 18 | ## 19 | rm -rf ./feeds/extraipk/theme/luci-theme-argon-18.06 20 | rm -rf ./feeds/extraipk/theme/luci-app-argon-config-18.06 21 | rm -rf ./feeds/extraipk/theme/luci-theme-design 22 | rm -rf ./feeds/extraipk/theme/luci-theme-edge 23 | rm -rf ./feeds/extraipk/theme/luci-theme-ifit 24 | rm -rf ./feeds/extraipk/theme/luci-theme-opentopd 25 | rm -rf ./feeds/extraipk/theme/luci-theme-neobird 26 | 27 | rm -rf ./package/feeds/extraipk/luci-theme-argon-18.06 28 | rm -rf ./package/feeds/extraipk/luci-app-argon-config-18.06 29 | rm -rf ./package/feeds/extraipk/theme/luci-theme-design 30 | rm -rf ./package/feeds/extraipk/theme/luci-theme-edge 31 | rm -rf ./package/feeds/extraipk/theme/luci-theme-ifit 32 | rm -rf ./package/feeds/extraipk/theme/luci-theme-opentopd 33 | rm -rf ./package/feeds/extraipk/theme/luci-theme-neobird 34 | 35 | 36 | ##取消bootstrap为默认主题 37 | sed -i '/set luci.main.mediaurlbase=\/luci-static\/bootstrap/d' feeds/luci/themes/luci-theme-bootstrap/root/etc/uci-defaults/30_luci-theme-bootstrap 38 | sed -i 's/luci-theme-bootstrap/luci-theme-argon/g' feeds/luci/collections/luci/Makefile 39 | sed -i 's/luci-theme-bootstrap/luci-theme-argon/g' feeds/luci/collections/luci-nginx/Makefile 40 | 41 | ##更改主机名 42 | sed -i "s/hostname='.*'/hostname='EasyWrt'/g" package/base-files/files/bin/config_generate 43 | 44 | ##加入作者信息 45 | sed -i "s/DISTRIB_DESCRIPTION='*.*'/DISTRIB_DESCRIPTION='EasyWrt-$(date +%Y%m%d)'/g" package/base-files/files/etc/openwrt_release 46 | sed -i "s/DISTRIB_REVISION='*.*'/DISTRIB_REVISION=' By DaoDao'/g" package/base-files/files/etc/openwrt_release 47 | cp -af feeds/extraipk/patch/diy/banner-easy package/base-files/files/etc/banner 48 | 49 | sed -i "2iuci set istore.istore.channel='easy_daodao'" package/emortal/default-settings/files/99-default-settings 50 | sed -i "3iuci commit istore" package/emortal/default-settings/files/99-default-settings 51 | 52 | 53 | ##WiFi 54 | sed -i "s/MT7986_AX6000_2.4G/EasyWrt-2.4G/g" package/mtk/drivers/wifi-profile/files/mt7986/mt7986-ax6000.dbdc.b0.dat 55 | sed -i "s/MT7986_AX6000_5G/EasyWrt-5G/g" package/mtk/drivers/wifi-profile/files/mt7986/mt7986-ax6000.dbdc.b1.dat 56 | 57 | sed -i "s/MT7981_AX3000_2.4G/EasyWrt-2.4G/g" package/mtk/drivers/wifi-profile/files/mt7981/mt7981.dbdc.b0.dat 58 | sed -i "s/MT7981_AX3000_5G/EasyWrt-5G/g" package/mtk/drivers/wifi-profile/files/mt7981/mt7981.dbdc.b1.dat 59 | 60 | ##New WiFi 61 | sed -i "s/ImmortalWrt-2.4G/EasyWrt-2.4G/g" package/mtk/applications/mtwifi-cfg/files/mtwifi.sh 62 | sed -i "s/ImmortalWrt-5G/EasyWrt-5G/g" package/mtk/applications/mtwifi-cfg/files/mtwifi.sh 63 | 64 | 65 | ##FQ全部调到VPN菜单 66 | sed -i 's/services/vpn/g' package/feeds/luci/luci-app-ssr-plus/luasrc/controller/*.lua 67 | sed -i 's/services/vpn/g' package/feeds/luci/luci-app-ssr-plus/luasrc/model/cbi/shadowsocksr/*.lua 68 | sed -i 's/services/vpn/g' package/feeds/luci/luci-app-ssr-plus/luasrc/view/shadowsocksr/*.htm 69 | 70 | sed -i 's/services/vpn/g' package/feeds/luci/luci-app-passwall/luasrc/controller/*.lua 71 | sed -i 's/services/vpn/g' package/feeds/luci/luci-app-passwall/luasrc/passwall/*.lua 72 | sed -i 's/services/vpn/g' package/feeds/luci/luci-app-passwall/luasrc/model/cbi/passwall/client/*.lua 73 | sed -i 's/services/vpn/g' package/feeds/luci/luci-app-passwall/luasrc/model/cbi/passwall/server/*.lua 74 | sed -i 's/services/vpn/g' package/feeds/luci/luci-app-passwall/luasrc/view/passwall/app_update/*.htm 75 | sed -i 's/services/vpn/g' package/feeds/luci/luci-app-passwall/luasrc/view/passwall/socks_auto_switch/*.htm 76 | sed -i 's/services/vpn/g' package/feeds/luci/luci-app-passwall/luasrc/view/passwall/global/*.htm 77 | sed -i 's/services/vpn/g' package/feeds/luci/luci-app-passwall/luasrc/view/passwall/haproxy/*.htm 78 | sed -i 's/services/vpn/g' package/feeds/luci/luci-app-passwall/luasrc/view/passwall/log/*.htm 79 | sed -i 's/services/vpn/g' package/feeds/luci/luci-app-passwall/luasrc/view/passwall/node_list/*.htm 80 | sed -i 's/services/vpn/g' package/feeds/luci/luci-app-passwall/luasrc/view/passwall/rule/*.htm 81 | sed -i 's/services/vpn/g' package/feeds/luci/luci-app-passwall/luasrc/view/passwall/server/*.htm 82 | 83 | sed -i 's/services/vpn/g' package/feeds/extraipk/luci-app-passwall2/luasrc/controller/*.lua 84 | sed -i 's/services/vpn/g' package/feeds/extraipk/luci-app-passwall2/luasrc/passwall2/*.lua 85 | sed -i 's/services/vpn/g' package/feeds/extraipk/luci-app-passwall2/luasrc/model/cbi/passwall2/client/*.lua 86 | sed -i 's/services/vpn/g' package/feeds/extraipk/luci-app-passwall2/luasrc/model/cbi/passwall2/server/*.lua 87 | sed -i 's/services/vpn/g' package/feeds/extraipk/luci-app-passwall2/luasrc/view/passwall2/app_update/*.htm 88 | sed -i 's/services/vpn/g' package/feeds/extraipk/luci-app-passwall2/luasrc/view/passwall2/socks_auto_switch/*.htm 89 | sed -i 's/services/vpn/g' package/feeds/extraipk/luci-app-passwall2/luasrc/view/passwall2/global/*.htm 90 | sed -i 's/services/vpn/g' package/feeds/extraipk/luci-app-passwall2/luasrc/view/passwall2/haproxy/*.htm 91 | sed -i 's/services/vpn/g' package/feeds/extraipk/luci-app-passwall2/luasrc/view/passwall2/log/*.htm 92 | sed -i 's/services/vpn/g' package/feeds/extraipk/luci-app-passwall2/luasrc/view/passwall2/node_list/*.htm 93 | sed -i 's/services/vpn/g' package/feeds/extraipk/luci-app-passwall2/luasrc/view/passwall2/rule/*.htm 94 | sed -i 's/services/vpn/g' package/feeds/extraipk/luci-app-passwall2/luasrc/view/passwall2/server/*.htm 95 | 96 | sed -i 's/services/vpn/g' package/feeds/luci/luci-app-vssr/luasrc/controller/*.lua 97 | sed -i 's/services/vpn/g' package/feeds/luci/luci-app-vssr/luasrc/model/cbi/vssr/*.lua 98 | sed -i 's/services/vpn/g' package/feeds/luci/luci-app-vssr/luasrc/view/vssr/*.htm 99 | 100 | sed -i 's/services/vpn/g' package/feeds/luci/luci-app-openclash/luasrc/controller/*.lua 101 | sed -i 's/services/vpn/g' package/feeds/luci/luci-app-openclash/luasrc/*.lua 102 | sed -i 's/services/vpn/g' package/feeds/luci/luci-app-openclash/luasrc/model/cbi/openclash/*.lua 103 | sed -i 's/services/vpn/g' package/feeds/luci/luci-app-openclash/luasrc/view/openclash/*.htm 104 | 105 | sed -i 's/services/vpn/g' package/feeds/extraipk/luci-app-bypass/luasrc/controller/*.lua 106 | sed -i 's/services/vpn/g' package/feeds/extraipk/luci-app-bypass/luasrc/model/cbi/bypass/*.lua 107 | sed -i 's/services/vpn/g' package/feeds/extraipk/luci-app-bypass/luasrc/view/bypass/*.htm 108 | 109 | -------------------------------------------------------------------------------- /.github/workflows/Build_mt7981.yml: -------------------------------------------------------------------------------- 1 | name: Build_mt7981 2 | 3 | on: 4 | repository_dispatch: 5 | workflow_dispatch: 6 | 7 | # 定时触发编译 8 | schedule: 9 | - cron: 5 18 * * 5 10 | 11 | # 点赞☆Star触发编译 12 | # watch: 13 | # types: [started] 14 | 15 | jobs: 16 | Build_mt7981: 17 | runs-on: ubuntu-latest 18 | steps: 19 | - name: Clone Repository 20 | uses: actions/checkout@v4 21 | 22 | - name: Initialization environment 23 | env: 24 | DEBIAN_FRONTEND: noninteractive 25 | run: | 26 | sudo timedatectl set-timezone "Asia/Shanghai" 27 | sudo -E swapoff -a 28 | sudo -E rm -f /swapfile 29 | sudo -E docker image prune -a -f 30 | sudo -E snap set system refresh.retain=2 31 | sudo -E apt-get -y purge dotnet* firefox ghc* google* llvm* mono* mysql* openjdk* php* zulu* 32 | sudo -E apt-get -y autoremove --purge 33 | sudo -E rm -rf /usr/share/dotnet /usr/local/lib/android/sdk /etc/mysql /etc/php /usr/local/share/boost 34 | [ -n "$AGENT_TOOLSDIRECTORY" ] && sudo rm -rf "$AGENT_TOOLSDIRECTORY" 35 | sudo -E apt-get update -y 36 | sudo -E apt-get install -y ack antlr3 aria2 asciidoc autoconf automake autopoint binutils bison build-essential bzip2 ccache cmake cpio curl device-tree-compiler fastjar flex gawk gettext gcc-multilib g++-multilib git gperf haveged help2man intltool libc6-dev-i386 libelf-dev libglib2.0-dev libgmp3-dev libltdl-dev libmpc-dev libmpfr-dev libncurses5-dev libncursesw5-dev libreadline-dev libssl-dev libtool lrzsz mkisofs msmtp nano ninja-build p7zip p7zip-full patch pkgconf g++ file clang nano genisoimage python3.8 python3-pip libpython3-dev qemu-utils rsync scons squashfs-tools subversion swig texinfo uglifyjs upx-ucl unzip vim wget xmlto xxd zlib1g-dev libfuse-dev libfuse-dev python3-setuptools 37 | pip install aligo 38 | sudo -E apt-get clean 39 | git config --global user.name 'GitHub Actions' && git config --global user.email 'noreply@github.com' 40 | df -h 41 | 42 | - name: Clone source code 43 | env: 44 | REPO_URL: https://github.com/hanwckf/immortalwrt-mt798x 45 | REPO_BRANCH: openwrt-21.02 46 | run: | 47 | git clone --depth 1 $REPO_URL -b $REPO_BRANCH openwrt 48 | cd openwrt 49 | cp -f ../diy/mt798x/op1.sh ./ 50 | chmod +x ./op1.sh && ./op1.sh 51 | 52 | - name: Update & Install feeds 53 | working-directory: ./openwrt 54 | run: | 55 | ./scripts/feeds update -a 56 | 57 | ./scripts/feeds install -a 58 | 59 | cp -f ../diy/mt798x/op2.sh ./ 60 | chmod +x ./op2.sh && ./op2.sh 61 | 62 | sed -i "s/DISTRIB_DESCRIPTION='*.*'/DISTRIB_DESCRIPTION='EasyWrt-MT7981-$(date +%Y%m%d)'/g" package/base-files/files/etc/openwrt_release 63 | 64 | - name: Configuration Customization - Build_mt7981 65 | env: 66 | CONFIG_FILE: './configs/ARM/mt798x/mt7981.config' 67 | run: | 68 | [ -e $CONFIG_FILE ] && mv $CONFIG_FILE openwrt/.config 69 | cd openwrt && make defconfig 70 | 71 | - name: Download package 72 | working-directory: ./openwrt 73 | run: | 74 | make download -j$(nproc) 75 | find dl -size -1024c -exec ls -l {} \; 76 | find dl -size -1024c -exec rm -f {} \; 77 | 78 | - name: Build firmware 79 | working-directory: ./openwrt 80 | run: | 81 | make -j$(nproc) V=s 82 | 83 | - name: Assemble Artifact 84 | id: assemble_artifact 85 | run: | 86 | rm -rf ./ARM_Out 87 | mkdir -p ./ARM_Out/ 88 | cp -a ./openwrt/.config ./ARM_Out/mt7981.config 89 | 90 | getmd5() 91 | { 92 | md5sum=`md5sum $1` 93 | md5=`echo ${md5sum% *}` 94 | md5=`echo ${md5:0:10}` 95 | } 96 | 97 | rom=openwrt/bin/targets/mediatek/mt7981/immortalwrt-mediatek-mt7981-mt7981-360-t7-108M-squashfs-sysupgrade.bin 98 | getmd5 $rom 99 | cp -a $rom ./ARM_Out/EasyWrt-360-T7-5.4-$(date +%Y%m%d)_${md5}.bin 100 | 101 | rom=openwrt/bin/targets/mediatek/mt7981/immortalwrt-mediatek-mt7981-konka_komi-a31-squashfs-sysupgrade.bin 102 | getmd5 $rom 103 | cp -a $rom ./ARM_Out/EasyWrt-KOMI-A31-5.4-$(date +%Y%m%d)_${md5}.bin 104 | 105 | rom=openwrt/bin/targets/mediatek/mt7981/immortalwrt-mediatek-mt7981-xiaomi_mi-router-ax3000t-squashfs-sysupgrade.bin 106 | getmd5 $rom 107 | cp -a $rom ./ARM_Out/EasyWrt-Xiaomi-AX3000T-MTK-5.4-$(date +%Y%m%d)_${md5}.bin 108 | 109 | rom=openwrt/bin/targets/mediatek/mt7981/immortalwrt-mediatek-mt7981-xiaomi_mi-router-ax3000t-an8855-squashfs-sysupgrade.bin 110 | getmd5 $rom 111 | cp -a $rom ./ARM_Out/EasyWrt-Xiaomi-AX3000T-MTK_an8855-5.4-$(date +%Y%m%d)_${md5}.bin 112 | 113 | rom=openwrt/bin/targets/mediatek/mt7981/immortalwrt-mediatek-mt7981-cetron_ct3003-squashfs-sysupgrade.bin 114 | getmd5 $rom 115 | cp -a $rom ./ARM_Out/EasyWrt-Cetron-CT3003-5.4-$(date +%Y%m%d)_${md5}.bin 116 | 117 | rom=openwrt/bin/targets/mediatek/mt7981/immortalwrt-mediatek-mt7981-h3c_nx30pro-squashfs-sysupgrade.bin 118 | getmd5 $rom 119 | cp -a $rom ./ARM_Out/EasyWrt-H3C-NX30Pro-5.4-$(date +%Y%m%d)_${md5}.bin 120 | 121 | rom=openwrt/bin/targets/mediatek/mt7981/immortalwrt-mediatek-mt7981-jcg_q30-squashfs-sysupgrade.bin 122 | getmd5 $rom 123 | cp -a $rom ./ARM_Out/EasyWrt-JCG-Q30Pro-5.4-$(date +%Y%m%d)_${md5}.bin 124 | 125 | rom=openwrt/bin/targets/mediatek/mt7981/immortalwrt-mediatek-mt7981-xiaomi_mi-router-wr30u-112m-squashfs-sysupgrade.bin 126 | getmd5 $rom 127 | cp -a $rom ./ARM_Out/EasyWrt-Xiaomi-WR30U-5.4-$(date +%Y%m%d)_${md5}.bin 128 | 129 | 130 | - name: Upload Firmwares 131 | uses: actions/upload-artifact@main 132 | with: 133 | name: MT7981-OpenWrt 134 | path: ARM_Out/*.bin 135 | 136 | - name: Upload config 137 | uses: actions/upload-artifact@main 138 | with: 139 | name: MT7981-config 140 | path: ARM_Out/mt7981.config 141 | 142 | - name: Upload Packages 143 | uses: actions/upload-artifact@main 144 | with: 145 | name: MT7981-Packages 146 | path: openwrt/bin/packages 147 | 148 | - name: Generate Tag & Release Name 149 | id: generate_name 150 | run: | 151 | time=$(date +%Y%m%d%H%M%S) 152 | release_tag="$time" 153 | release_name="EasyWrt-MT7981-$(date +%Y%m%d)" 154 | echo "release_name=$release_name" >> $GITHUB_OUTPUT 155 | echo "release_tag=$release_tag" >> $GITHUB_OUTPUT 156 | 157 | - name: Create Release & Upload 158 | uses: ncipollo/release-action@v1.14.0 159 | with: 160 | artifacts: ARM_Out/*.bin 161 | name: ${{ steps.generate_name.outputs.release_name }} 162 | tag: ${{ steps.generate_name.outputs.release_tag }} 163 | token: ${{ secrets.GITHUB_TOKEN }} 164 | 165 | 166 | --------------------------------------------------------------------------------