├── .github └── workflows │ ├── Auto-Package.yml │ ├── Repo-Package.yml │ ├── RepoA-Package.yml │ └── RepoB-Package.yml ├── LICENSE ├── README.md └── devices ├── aarch64_cortex-a53 └── .config ├── aarch64_cortex-a72 └── .config ├── aarch64_generic ├── .config └── custom.sh ├── arm_arm1176jzf-s_vfp └── .config ├── arm_cortex-a15_neon-vfpv4 ├── .config └── custom.sh ├── arm_cortex-a5_vfpv4 └── .config ├── arm_cortex-a7 ├── .config └── custom.sh ├── arm_cortex-a7_neon-vfpv4 ├── .config └── custom.sh ├── arm_cortex-a9 ├── .config └── custom.sh ├── arm_cortex-a9_vfpv3-d16 └── .config ├── common ├── .config ├── custom.sh ├── feeds.conf ├── patches │ ├── Config.in.b.patch │ ├── luci_mk.patch │ ├── package.patch │ ├── package_mk.patch │ ├── rootfs.patch │ └── toplevel.patch ├── po2lmo └── settings.ini ├── i386_pentium4 └── .config ├── mips_24kc ├── .config └── custom.sh ├── mipsel_24kc ├── .config └── custom.sh └── x86_64 └── .config /.github/workflows/Auto-Package.yml: -------------------------------------------------------------------------------- 1 | #================================================= 2 | # https://github.com/P3TERX/Actions-OpenWrt 3 | # Description: Build OpenWrt using GitHub Actions 4 | # Lisence: MIT 5 | # Author: P3TERX 6 | # Blog: https://p3terx.com 7 | #================================================= 8 | 9 | name: Auto-Packages 10 | 11 | on: 12 | repository_dispatch: 13 | # push: 14 | # branches: 15 | # - master 16 | # schedule: 17 | # - cron: 0 1 */1 * * 18 | 19 | env: 20 | PPPOE_USERNAME: ${{ secrets.PPPOE_USERNAME }} 21 | PPPOE_PASSWD: ${{ secrets.PPPOE_PASSWD }} 22 | SCKEY: ${{ secrets.SCKEY }} 23 | REMOTE_HOST: ${{ secrets.REMOTE_HOST }} 24 | REMOTE_PORT: ${{ secrets.REMOTE_PORT }} 25 | SSH_PRIVATE_KEY: ${{ secrets.SSH_PRIVATE_KEY }} 26 | PASSWORD: ${{ secrets.PASSWORD }} 27 | TELEGRAM_TOKEN: ${{ secrets.TELEGRAM_TOKEN }} 28 | TELEGRAM_CHAT_ID: ${{ secrets.TELEGRAM_CHAT_ID }} 29 | TZ: Asia/Shanghai 30 | 31 | jobs: 32 | build: 33 | if: github.event.repository.owner.id == github.event.sender.id || ! github.event.sender.id 34 | runs-on: ubuntu-latest 35 | 36 | name: Build ${{matrix.target}} 37 | strategy: 38 | fail-fast: false 39 | matrix: 40 | target: ["${{ github.event.client_payload.target }}"] 41 | 42 | steps: 43 | - name: Checkout 44 | uses: actions/checkout@main 45 | with: 46 | fetch-depth: 0 47 | 48 | - name: Load Settings.ini 49 | run: | 50 | source "${GITHUB_WORKSPACE}/devices/common/settings.ini" 51 | echo "REPO_URL=${REPO_URL}" >> $GITHUB_ENV 52 | echo "REPO_BRANCH=${REPO_BRANCH}" >> $GITHUB_ENV 53 | echo "CONFIG_FILE=${CONFIG_FILE}" >> $GITHUB_ENV 54 | echo "DIY_SH=${DIY_SH}" >> $GITHUB_ENV 55 | echo "FREE_UP_DISK=${FREE_UP_DISK}" >> $GITHUB_ENV 56 | echo "SSH_ACTIONS=${SSH_ACTIONS}" >> $GITHUB_ENV 57 | echo "UPLOAD_BIN_DIR_FOR_ARTIFACT=${UPLOAD_BIN_DIR_FOR_ARTIFACT}" >> $GITHUB_ENV 58 | echo "UPLOAD_FIRMWARE_FOR_ARTIFACT=${UPLOAD_FIRMWARE_FOR_ARTIFACT}" >> $GITHUB_ENV 59 | echo "UPLOAD_FIRMWARE_FOR_RELEASE=${UPLOAD_FIRMWARE_FOR_RELEASE}" >> $GITHUB_ENV 60 | echo "UPLOAD_FIRMWARE_TO_COWTRANSFER=${UPLOAD_FIRMWARE_TO_COWTRANSFER}" >> $GITHUB_ENV 61 | echo "UPLOAD_FIRMWARE_TO_WETRANSFER=${UPLOAD_FIRMWARE_TO_WETRANSFER}" >> $GITHUB_ENV 62 | if [[ "${{matrix.target}}" == arm_* ]]; then 63 | echo "REPO_TOKEN=${{ secrets.TOKEN_KENZO7 }}" >> $GITHUB_ENV 64 | else 65 | echo "REPO_TOKEN=${{ secrets.TOKEN_KENZO8 }}" >> $GITHUB_ENV 66 | fi 67 | sed -i "1a REPO_TOKEN=${{ env.REPO_TOKEN }}" ${GITHUB_WORKSPACE}/devices/common/custom.sh 68 | 69 | - name: Trigger Packages Update 70 | run: | 71 | gitdate="$(curl -H "Authorization: token ${{ env.REPO_TOKEN }}" -s "https://api.github.com/repos/kenzok8/jell/actions/runs" | jq -r '.workflow_runs[0].created_at')" || true 72 | gitdate="$(date -d "$gitdate" +%s)" || true 73 | now="$(date -d "$(date)" +%s)" 74 | if [[ $(expr $gitdate + 120) < $now ]]; then 75 | curl -X POST https://api.github.com/repos/kenzok8/jell/dispatches \ 76 | -H "Accept: application/vnd.github.everest-preview+json" \ 77 | -H "Authorization: token ${{ env.REPO_TOKEN }}" \ 78 | --data '{"event_type": "update"}' 79 | fi 80 | 81 | - name: Free disk space 82 | uses: jlumbroso/free-disk-space@main 83 | with: 84 | tool-cache: false 85 | android: true 86 | dotnet: true 87 | haskell: true 88 | large-packages: true 89 | docker-images: true 90 | swap-storage: true 91 | 92 | - name: Initialization environment 93 | env: 94 | DEBIAN_FRONTEND: noninteractive 95 | run: | 96 | sudo -E apt-get -qq update 97 | sudo -E apt-get -qq install build-essential clang flex g++ gawk gcc-multilib gettext \ 98 | git libncurses5-dev libssl-dev python3-pyelftools rsync unzip zlib1g-dev swig libpython3-dev jq rename bc libfuse-dev libelf-dev 99 | sudo -E apt-get -qq purge azure-cli ghc* zulu* firefox powershell openjdk* dotnet* google* mysql* php* android* 100 | sudo rm -rf /etc/apt/sources.list.d/* /usr/share/dotnet /usr/local/lib/android /opt/ghc 101 | sudo -E apt-get -qq autoremove --purge 102 | sudo -E apt-get -qq clean 103 | sudo timedatectl set-timezone "$TZ" 104 | 105 | - name: Get current date 106 | id: date 107 | run: | 108 | echo "date=$(date +'%Y.%m.%d-%H/%M')" >> $GITHUB_ENV 109 | echo "date2=$(date +'%Y.%m.%d')" >> $GITHUB_ENV 110 | echo "date3=$(date +'%m.%d')" >> $GITHUB_ENV 111 | 112 | - name: Clone source code 113 | run: | 114 | set -v 115 | REPO_BRANCH="24.10-SNAPSHOT" 116 | echo "$REPO_BRANCH" 117 | if [ ${{matrix.target}} == "mipsel_24kc" ]; then 118 | curl -fL -o sdk.tar.zst https://downloads.openwrt.org/releases/$REPO_BRANCH/targets/ramips/mt7621/openwrt-sdk-$REPO_BRANCH-ramips-mt7621_gcc-13.3.0_musl.Linux-x86_64.tar.zst 119 | elif [ ${{matrix.target}} == "mips_24kc" ]; then 120 | curl -fL -o sdk.tar.zst https://downloads.openwrt.org/releases/$REPO_BRANCH/targets/ath79/nand/openwrt-sdk-$REPO_BRANCH-ath79-nand_gcc-13.3.0_musl.Linux-x86_64.tar.zst 121 | elif [[ ${{matrix.target}} == "x86_64" ]]; then 122 | curl -fL -o sdk.tar.zst https://downloads.openwrt.org/releases/$REPO_BRANCH/targets/x86/64/openwrt-sdk-$REPO_BRANCH-x86-64_gcc-13.3.0_musl.Linux-x86_64.tar.zst 123 | elif [[ ${{matrix.target}} == "i386_pentium4" ]]; then 124 | curl -fL -o sdk.tar.zst https://downloads.openwrt.org/releases/$REPO_BRANCH/targets/x86/generic/openwrt-sdk-$REPO_BRANCH-x86-generic_gcc-13.3.0_musl.Linux-x86_64.tar.zst 125 | elif [[ ${{matrix.target}} == "aarch64_generic" ]]; then 126 | curl -fL -o sdk.tar.zst https://downloads.openwrt.org/releases/$REPO_BRANCH/targets/rockchip/armv8/openwrt-sdk-$REPO_BRANCH-rockchip-armv8_gcc-13.3.0_musl.Linux-x86_64.tar.zst 127 | elif [[ ${{matrix.target}} == "arm_arm1176jzf-s_vfp" ]]; then 128 | curl -fL -o sdk.tar.zst https://downloads.openwrt.org/releases/$REPO_BRANCH/targets/bcm27xx/bcm2708/openwrt-sdk-$REPO_BRANCH-bcm27xx-bcm2708_gcc-13.3.0_musl_eabi.Linux-x86_64.tar.zst 129 | elif [[ ${{matrix.target}} == "arm_cortex-a15_neon-vfpv4" ]]; then 130 | curl -fL -o sdk.tar.zst https://downloads.openwrt.org/releases/$REPO_BRANCH/targets/ipq806x/generic/openwrt-sdk-$REPO_BRANCH-ipq806x-generic_gcc-13.3.0_musl_eabi.Linux-x86_64.tar.zst 131 | elif [[ ${{matrix.target}} == "arm_cortex-a5_vfpv4" ]]; then 132 | curl -fL -o sdk.tar.zst https://downloads.openwrt.org/releases/$REPO_BRANCH/targets/at91/sama5/openwrt-sdk-$REPO_BRANCH-at91-sama5_gcc-13.3.0_musl_eabi.Linux-x86_64.tar.zst 133 | elif [[ ${{matrix.target}} == "aarch64_cortex-a72" ]]; then 134 | curl -fL -o sdk.tar.zst https://downloads.openwrt.org/releases/$REPO_BRANCH/targets/bcm27xx/bcm2711/openwrt-sdk-$REPO_BRANCH-bcm27xx-bcm2711_gcc-13.3.0_musl.Linux-x86_64.tar.zst 135 | elif [[ ${{matrix.target}} == "aarch64_cortex-a53" ]]; then 136 | curl -fL -o sdk.tar.zst https://downloads.openwrt.org/releases/$REPO_BRANCH/targets/mediatek/mt7622/openwrt-sdk-$REPO_BRANCH-mediatek-mt7622_gcc-13.3.0_musl.Linux-x86_64.tar.zst 137 | elif [[ ${{matrix.target}} == "arm_cortex-a7_neon-vfpv4" ]]; then 138 | curl -fL -o sdk.tar.zst https://downloads.openwrt.org/releases/$REPO_BRANCH/targets/ipq40xx/generic/openwrt-sdk-$REPO_BRANCH-ipq40xx-generic_gcc-13.3.0_musl_eabi.Linux-x86_64.tar.zst 139 | elif [[ ${{matrix.target}} == "arm_cortex-a7" ]]; then 140 | curl -fL -o sdk.tar.zst https://downloads.openwrt.org/releases/$REPO_BRANCH/targets/mediatek/mt7629/openwrt-sdk-$REPO_BRANCH-mediatek-mt7629_gcc-13.3.0_musl_eabi.Linux-x86_64.tar.zst 141 | elif [[ ${{matrix.target}} == "arm_cortex-a9" ]]; then 142 | curl -fL -o sdk.tar.zst https://downloads.openwrt.org/releases/$REPO_BRANCH/targets/bcm53xx/generic/openwrt-sdk-$REPO_BRANCH-bcm53xx-generic_gcc-13.3.0_musl_eabi.Linux-x86_64.tar.zst 143 | elif [[ ${{matrix.target}} == "arm_cortex-a9_vfpv3-d16" ]]; then 144 | curl -fL -o sdk.tar.zst https://downloads.openwrt.org/releases/$REPO_BRANCH/targets/mvebu/cortexa9/openwrt-sdk-$REPO_BRANCH-mvebu-cortexa9_gcc-13.3.0_musl_eabi.Linux-x86_64.tar.zst 145 | elif [[ ${{matrix.target}} == "aarch64_cortex-a76" ]]; then 146 | curl -fL -o sdk.tar.zst https://downloads.openwrt.org/releases/$REPO_BRANCH/targets/bcm27xx/bcm2712/openwrt-sdk-$REPO_BRANCH-bcm27xx-bcm2712_gcc-13.3.0_musl.Linux-x86_64.tar.zst 147 | fi 148 | 149 | - name: Free up disk space 150 | if: env.FREE_UP_DISK == 'true' 151 | env: 152 | DEBIAN_FRONTEND: noninteractive 153 | run: | 154 | sudo mkdir -p -m 777 openwrt /mnt/openwrt/dl /mnt/openwrt/build_dir/hostpkg openwrt/build_dir /mnt/openwrt/bin 155 | ln -sf /mnt/openwrt/dl openwrt/dl 156 | ln -sf /mnt/openwrt/build_dir/hostpkg openwrt/build_dir/hostpkg 157 | ln -sf /mnt/openwrt/bin openwrt/bin 158 | 159 | - name: Load custom configuration 160 | run: | 161 | mkdir -p openwrt 162 | tar -xJf sdk.tar.zst -C openwrt || tar -xf sdk.tar.zst -C openwrt 163 | rm -Rf sdk.tar.zst 164 | cd openwrt 165 | cp -rf ./openwrt-sdk*/. ./ 2>/dev/null || true 166 | cp -rf ./openwrt-sdk*/build_dir/. ./build_dir/ || true 167 | cp -rf ./openwrt-sdk*/staging_dir/. ./staging_dir/ || true 168 | cp -rf ../devices ./ 169 | cp -rf devices/common/. ./ 170 | cp -rf devices/${{matrix.target}}/. ./ 171 | chmod -R +x devices/* || true 172 | sed -i '/ refresh_config();/d' scripts/feeds 173 | ./scripts/feeds update -a 174 | find "devices/common/patches" -type f -name '*.b.patch' -print0 | sort -z | xargs -I % -t -0 -n 1 sh -c "cat '%' | patch -d './' -p1 -E --forward --no-backup-if-mismatch" 175 | /bin/bash "devices/common/custom.sh" 176 | if [ -f "devices/${{matrix.target}}/custom.sh" ]; then 177 | /bin/bash "devices/${{matrix.target}}/custom.sh" 178 | fi 179 | find "devices/common/patches" -type f -name '*.patch' ! -name '*.b.patch' -print0 | sort -z | xargs -I % -t -0 -n 1 sh -c "cat '%' | patch -d './' -p1 -E --forward --no-backup-if-mismatch" 180 | if [ -n "$(ls -A "devices/${{matrix.target}}/patches" 2>/dev/null)" ]; then 181 | find "devices/${{matrix.target}}/patches" -type f -name '*.patch' -print0 | sort -z | xargs -I % -t -0 -n 1 sh -c "cat '%' | patch -d './' -p1 -E --forward --no-backup-if-mismatch" 182 | fi 183 | cp -Rf ./diy/* ./ || true 184 | if [ -f "devices/${{matrix.target}}/default-settings" ]; then 185 | echo >> package/*/*/my-default-settings/files/etc/uci-defaults/99-default-settings 186 | cat devices/${{matrix.target}}/default-settings >> package/*/*/my-default-settings/files/etc/uci-defaults/99-default-settings 187 | fi 188 | if [ -f "devices/${{matrix.target}}/.config" ]; then 189 | echo >> .config 190 | cat devices/${{matrix.target}}/.config >> .config 191 | fi 192 | make defconfig 193 | 194 | - name: SSH connection to Actions 195 | uses: kenzok78/debugger-action@master 196 | if: contains(github.event.action, 'ssh') 197 | 198 | - name: Prepare 199 | run: | 200 | status=$(curl -H "Authorization: token ${{ env.REPO_TOKEN }}" -s "https://api.github.com/repos/kenzok8/jell/actions/runs" | jq -r '.workflow_runs[0].status') 201 | while [ "$status" == "in_progress" ];do 202 | sleep 5 203 | status=$(curl -H "Authorization: token ${{ env.REPO_TOKEN }}" -s "https://api.github.com/repos/kenzok8/jell/actions/runs" | jq -r '.workflow_runs[0].status') 204 | done 205 | cd openwrt 206 | make defconfig 207 | rm -rf feeds/packages/lang/golang 208 | git clone https://github.com/kenzok8/golang feeds/packages/lang/golang 209 | mv -f package/feeds/jell jell.b 210 | mv -f feeds/packages/lang feeds/packages/lang.b 211 | mv -f feeds/packages feeds/packages.b 212 | mkdir package/feeds/jell 213 | cp -rf jell.b/{wxbase,lib*,rapidjson,jpcre2,toml11,curl,quickjspp,qt*,libtorrent*,openssl,mbedtls,ppp,cups} package/feeds/jell/ || true 214 | 215 | - name: Compile the firmware 216 | run: | 217 | cd openwrt 218 | echo -e "$(($(nproc)+1)) thread compile" 219 | fpkg="$(echo "${{github.event.action}}" | sed -e 's/\(aarch64_generic\|x86_64\|i386_pentium4\|arm_arm1176jzf-s_vfp\|aarch64_cortex-a72\|arm_cortex-a7\|arm_cortex-a7_neon-vfpv4\|arm_cortex-a9\|arm_cortex-a15_neon-vfpv4\|arm_cortex-a5_vfpv4\|mipsel_24kc\|mips_24kc\|aarch64_cortex-a53\|arm_xscale\|arm_cortex-a9_vfpv3-d16\| [0-9][0-9.]*\| ssh\| noser\| cw\)//g' | sed -e 's/ //g')" 220 | during="$(echo "${{github.event.action}}" | grep -o -E ' [0-9][0-9.]*' | sed -e 's/ //')" 221 | function comp(){ 222 | echo "compile $ipk" 223 | cp -rf jell.b/$ipk package/feeds/jell/ 224 | if [[ $ipk != luci-* ]]; then 225 | mv -f feeds/packages.b feeds/packages 226 | mv feeds/packages/lang.b feeds/packages/lang 227 | [ "$(grep "PKG_BUILD_DEPENDS" package/feeds/jell/$ipk/Makefile)" ] || mv feeds/packages/lang/node feeds/packages/lang/node.b 228 | fi 229 | (make package/$ipk/compile -j$(($(nproc)+1)) || make package/$ipk/compile V=s 2>&1 | tee error_$ipk.log | grep -i "Error 2" || rm -rf error_$ipk.log) || true 230 | if [[ $ipk != luci-* ]]; then 231 | mv -f feeds/packages/lang feeds/packages/lang.b 2>/dev/null || true 232 | mv -f feeds/packages/lang.b/node.b feeds/packages/lang.b/node 2>/dev/null || true 233 | mv -f feeds/packages feeds/packages.b 234 | rm -rf package/feeds/jell/$ipk 235 | fi 236 | } 237 | for ipk in $(ls jell.b | grep -E "$fpkg"); do 238 | echo $ipk 239 | if [[ "$fpkg" && ! "$during" ]]; then 240 | comp 241 | else 242 | gitdate="$(curl -H "Authorization: token ${{ env.REPO_TOKEN }}" -s "https://api.github.com/repos/kenzok8/jell/commits?path=$ipk&per_page=1" | jq -r '.[0].commit.committer.date')" || true 243 | if [[ "$gitdate" && "$gitdate" != null ]]; then 244 | gitdate="$(date -d "$gitdate" +%s)" 245 | now="$(date -d "$(date)" +%s)" 246 | [ "$during" ] || during="1.05" 247 | durings=`echo "$during*60*60*24" | bc` 248 | if [[ $(($gitdate + ${durings%.*})) -gt $now && $ipk != luci-base && $ipk != luci-mod-* ]]; then 249 | echo "$((($now - $gitdate)/60/60))" || true 250 | echo "$ipk" >> ipk.txt 251 | fi 252 | fi 253 | fi 254 | done 255 | if [ -f ipk.txt ]; then 256 | for ipk in $(cat ipk.txt) 257 | do 258 | comp 259 | done 260 | fi 261 | echo "status=success" >> $GITHUB_ENV 262 | 263 | - name: Check space usage 264 | run: df -hT 265 | 266 | - name: Organize files 267 | id: organize 268 | run: | 269 | mkdir packages 270 | mv -f openwrt/bin/packages/*/jell/* packages || true 271 | mv -f openwrt/.config packages/${{matrix.target}}.config || true 272 | # cp -Rf openwrt/bin/packages/*/packages/python3* packages/ 273 | echo "FIRMWARE=$PWD/packages" >> $GITHUB_ENV 274 | Emoji=("🍂" "🐾" "🌸" "🐌" "🌿" "🐤" "💦" "💤" "💭" "⛅" "🌈" "🔥" "🍭" "🎉" "🤞" "✨" "🎁" "🎈" "🎨" "💋" "🍓" "🍕" "🍉" "💐" "🌴" "🙈" "🤡" "🍡") 275 | echo "EMOJI=${Emoji[$[$RANDOM % ${#Emoji[@]}]]}" >> $GITHUB_ENV 276 | if [[ $(ls -l openwrt/error* | grep "^-" | wc -l) -le 0 ]]; then 277 | echo "NAME=${Emoji[$[$RANDOM % ${#Emoji[@]}]]} ${{ env.date2 }} ${{matrix.target}} ${{ env.EMOJI }}" >> $GITHUB_ENV 278 | else 279 | echo "NAME=🌸 ${{ env.date2 }} ${{matrix.target}} 🌸" >> $GITHUB_ENV 280 | fi 281 | 282 | - name: Upload firmware to cowtransfer 283 | if: env.UPLOAD_FIRMWARE_TO_COWTRANSFER == 'true' 284 | continue-on-error: true 285 | run: | 286 | curl -fsSL git.io/file-transfer | sh 287 | cowurl=$(./transfer cow --block 2621440 -s --no-progress ${FIRMWARE}) 288 | cowurl=$(echo $cowurl | grep -o -E "https[^ ]*") 289 | echo "COWURL=$cowurl" >> $GITHUB_ENV 290 | echo "Download Link: ${{ env.EMOJI }} $cowurl ${{ env.EMOJI }} 💤" 291 | 292 | - name: Upload firmware to WeTransfer 293 | if: env.UPLOAD_FIRMWARE_TO_WETRANSFER == 'true' 294 | continue-on-error: true 295 | run: | 296 | curl -fsSL git.io/file-transfer | sh 297 | wetrans=$(./transfer wet -s -p 16 --no-progress ${FIRMWARE}) 298 | wetrans=$(echo $wetrans | grep -o -E "https[^ ]*") 299 | echo "WETRANS=$wetrans" >> $GITHUB_ENV 300 | echo "Download Link: ${{ env.EMOJI }} $wetrans ${{ env.EMOJI }} 💤" 301 | 302 | - name: Create release 303 | id: create_release 304 | if: env.REPO_TOKEN && env.UPLOAD_FIRMWARE_FOR_RELEASE == 'true' 305 | continue-on-error: true 306 | run: | 307 | echo -e "定时更新插件,推送发布 🎈:\n" >> release.txt 308 | echo -e "[下载链接] (https://${{ secrets.REMOTE_HOST }}/packages/${{matrix.target}}/)\n" >> release.txt 309 | [ ${{ env.WETRANS }} ] && echo -e "[WeTransfer] (${{ env.WETRANS }} 🗽)\n" >> release.txt 310 | [ ${{ env.COWURL }} ] && echo -e "[奶牛上传] (${{ env.COWURL }} 🐮)\n" >> release.txt 311 | [ ${{ env.NOTICE }} ] && echo -e "${{ env.NOTICE }}" >> release.txt || true 312 | 313 | - name: Upload packages for release 314 | uses: softprops/action-gh-release@v2 315 | continue-on-error: true 316 | if: env.REPO_TOKEN && env.UPLOAD_FIRMWARE_FOR_RELEASE == 'true' 317 | env: 318 | GITHUB_TOKEN: ${{ secrets.TOKEN_KENZO }} 319 | with: 320 | files: | 321 | packages/* 322 | openwrt/error*.log 323 | name: ${{ env.NAME }} 324 | tag_name: ${{ env.date }}_${{matrix.target}} 325 | body_path: release.txt 326 | 327 | - name: Upload packages for artifact 328 | uses: actions/upload-artifact@main 329 | continue-on-error: true 330 | if: env.UPLOAD_FIRMWARE_FOR_ARTIFACT == 'true' 331 | with: 332 | name: ${{ env.date3 }} ${{matrix.target}} 333 | path: packages 334 | 335 | - name: deploy files to server 336 | uses: easingthemes/ssh-deploy@main 337 | if: env.SSH_PRIVATE_KEY && ! contains(github.event.action, 'noser') 338 | with: 339 | SSH_PRIVATE_KEY: ${{ env.SSH_PRIVATE_KEY }} 340 | ARGS: "-avzr" 341 | SOURCE: "packages/" 342 | REMOTE_HOST: ${{ secrets.REMOTE_HOST }} 343 | REMOTE_PORT: ${{ secrets.REMOTE_PORT }} 344 | REMOTE_USER: root 345 | TARGET: "/www/wwwroot/${{ secrets.REMOTE_HOST }}/packages/${{matrix.target}}/" 346 | 347 | - name: remote ssh command 348 | uses: appleboy/ssh-action@master 349 | if: env.SSH_PRIVATE_KEY && ! contains(github.event.action, 'noser') 350 | with: 351 | host: ${{ secrets.REMOTE_HOST }} 352 | port: ${{ secrets.REMOTE_PORT }} 353 | username: root 354 | key: ${{ env.SSH_PRIVATE_KEY }} 355 | script: | 356 | # cp -R /www/wwwroot/${{ secrets.REMOTE_HOST }}/packages/keep/common/* /www/wwwroot/${{ secrets.REMOTE_HOST }}/packages/${{matrix.target}}/ 357 | # cp -R /www/wwwroot/${{ secrets.REMOTE_HOST }}/packages/keep/${{matrix.target}}/* /www/wwwroot/${{ secrets.REMOTE_HOST }}/packages/${{matrix.target}}/ 358 | bash opkg ${{matrix.target}} & 359 | -------------------------------------------------------------------------------- /.github/workflows/Repo-Package.yml: -------------------------------------------------------------------------------- 1 | #================================================= 2 | # https://github.com/P3TERX/Actions-OpenWrt 3 | # Description: Build OpenWrt using GitHub Actions 4 | # Lisence: MIT 5 | # Author: P3TERX 6 | # Blog: https://p3terx.com 7 | #================================================= 8 | 9 | name: Repo-1 10 | 11 | on: 12 | # push: 13 | # branches: 14 | # - master 15 | schedule: 16 | - cron: 30 8 * * * 17 | watch: 18 | types: started 19 | workflow_dispatch: 20 | inputs: 21 | packages: 22 | description: 'Packages' 23 | required: false 24 | default: '' 25 | 26 | env: 27 | REPO_TOKEN: ${{ secrets.TOKEN_kenzo }} 28 | TZ: Asia/Shanghai 29 | 30 | jobs: 31 | build: 32 | if: github.event.repository.owner.id == github.event.sender.id || ! github.event.sender.id 33 | runs-on: ubuntu-latest 34 | steps: 35 | - name: cancel running workflows 36 | uses: styfle/cancel-workflow-action@main 37 | if: contains(github.event.inputs.packages, ' cw') 38 | with: 39 | workflow_id: all 40 | access_token: ${{ github.token }} 41 | 42 | - name: Trigger matrix Update 43 | run: | 44 | gitdate=$(curl -H "Authorization: token ${{ env.REPO_TOKEN }}" -s "https://api.github.com/repos/kenzok8/jell/commits?path=$ipk&per_page=1" | jq -r '.[0].commit.committer.date') || true 45 | fpkg="$(echo "${{github.event.action}}" | sed -e 's/\(aarch64_generic\|x86_64\|i386_pentium4\|arm_arm1176jzf-s_vfp\|aarch64_cortex-a72\|arm_cortex-a7\|arm_cortex-a7_neon-vfpv4\|arm_cortex-a9\|arm_cortex-a15_neon-vfpv4\|arm_cortex-a5_vfpv4\|mipsel_24kc\|mips_24kc\|aarch64_cortex-a53\|arm_xscale\|arm_cortex-a9_vfpv3-d16\| [0-9][0-9.]*\| ssh\| noser\| cw\)//g' | sed -e 's/ //g')" 46 | during="$(echo "${{github.event.inputs.packages}}" | grep -o -E ' [0-9][0-9.]*' | sed -e 's/ //')" 47 | [[ "$fpkg" && ! "$during" ]] || { 48 | [ "$during" ] || during="1.05" 49 | durings=`echo "$during*60*60*24" | bc` 50 | gitdate=$(date -d "$gitdate" +%s) 51 | now=$(date -d "$(date)" +%s) 52 | [ "$during" ] || during="1.05" 53 | durings=`echo "$during*60*60*24" | bc` 54 | if [[ $(expr $gitdate + ${durings%.*}) -lt $now ]]; then 55 | exit; 56 | fi 57 | gitdate=$(curl -H "Authorization: token ${{ env.REPO_TOKEN }}" -s "https://api.github.com/repos/kenzok8/jell/actions/runs" | jq -r '.workflow_runs[0].created_at') || true 58 | gitdate=$(date -d "$gitdate" +%s) 59 | now=$(date -d "$(date)" +%s) 60 | if [[ $(expr $gitdate + 180) -lt $now ]]; then 61 | curl -X POST https://api.github.com/repos/kenzok8/jell/dispatches \ 62 | -H "Accept: application/vnd.github.everest-preview+json" \ 63 | -H "Authorization: token ${{ env.REPO_TOKEN }}" \ 64 | --data '{"event_type": "update"}' 65 | fi 66 | } 67 | curl \ 68 | -X POST https://api.github.com/repos/${{ github.repository }}/dispatches \ 69 | -H "Accept: application/vnd.github.everest-preview+json" \ 70 | -H "Authorization: token ${{ env.REPO_TOKEN }}" \ 71 | -d '{"event_type": "x86_64 ${{ github.event.inputs.packages }}", "client_payload": {"target": "x86_64"}}' 72 | curl \ 73 | -X POST https://api.github.com/repos/${{ github.repository }}/dispatches \ 74 | -H "Accept: application/vnd.github.everest-preview+json" \ 75 | -H "Authorization: token ${{ env.REPO_TOKEN }}" \ 76 | -d '{"event_type": "i386_pentium4 ${{ github.event.inputs.packages }}", "client_payload": {"target": "i386_pentium4"}}' 77 | curl \ 78 | -X POST https://api.github.com/repos/${{ github.repository }}/dispatches \ 79 | -H "Accept: application/vnd.github.everest-preview+json" \ 80 | -H "Authorization: token ${{ env.REPO_TOKEN }}" \ 81 | -d '{"event_type": "aarch64_generic ${{ github.event.inputs.packages }}", "client_payload": {"target": "aarch64_generic"}}' 82 | curl \ 83 | -X POST https://api.github.com/repos/${{ github.repository }}/dispatches \ 84 | -H "Accept: application/vnd.github.everest-preview+json" \ 85 | -H "Authorization: token ${{ env.REPO_TOKEN }}" \ 86 | -d '{"event_type": "arm_arm1176jzf-s_vfp ${{ github.event.inputs.packages }}", "client_payload": {"target": "arm_arm1176jzf-s_vfp"}}' 87 | curl \ 88 | -X POST https://api.github.com/repos/${{ github.repository }}/dispatches \ 89 | -H "Accept: application/vnd.github.everest-preview+json" \ 90 | -H "Authorization: token ${{ env.REPO_TOKEN }}" \ 91 | -d '{"event_type": "arm_cortex-a5_vfpv4 ${{ github.event.inputs.packages }}", "client_payload": {"target": "arm_cortex-a5_vfpv4"}}' 92 | 93 | - name: Delete workflow runs 94 | uses: Mattraks/delete-workflow-runs@main 95 | continue-on-error: true 96 | with: 97 | retain_days: 5 98 | keep_minimum_runs: 1 99 | 100 | - name: Remove old Releases 101 | uses: dev-drprasad/delete-older-releases@master 102 | with: 103 | keep_latest: 30 104 | delete_tags: true 105 | env: 106 | GITHUB_TOKEN: ${{ secrets.TOKEN_kenzo }} 107 | -------------------------------------------------------------------------------- /.github/workflows/RepoA-Package.yml: -------------------------------------------------------------------------------- 1 | #================================================= 2 | # https://github.com/P3TERX/Actions-OpenWrt 3 | # Description: Build OpenWrt using GitHub Actions 4 | # Lisence: MIT 5 | # Author: P3TERX 6 | # Blog: https://p3terx.com 7 | #================================================= 8 | 9 | name: Repo-2 10 | 11 | on: 12 | # push: 13 | # branches: 14 | # - master 15 | schedule: 16 | - cron: 30 10 * * * 17 | watch: 18 | types: started 19 | workflow_dispatch: 20 | inputs: 21 | packages: 22 | description: 'Packages' 23 | required: false 24 | default: '' 25 | 26 | env: 27 | REPO_TOKEN: ${{ secrets.TOKEN_kenzo }} 28 | TZ: Asia/Shanghai 29 | 30 | jobs: 31 | build: 32 | if: github.event.repository.owner.id == github.event.sender.id || ! github.event.sender.id 33 | runs-on: ubuntu-latest 34 | steps: 35 | - name: cancel running workflows 36 | uses: styfle/cancel-workflow-action@main 37 | if: contains(github.event.inputs.packages, ' cw') 38 | with: 39 | workflow_id: all 40 | access_token: ${{ github.token }} 41 | 42 | - name: Trigger matrix Update 43 | run: | 44 | gitdate=$(curl -H "Authorization: token ${{ env.REPO_TOKEN }}" -s "https://api.github.com/repos/kenzok8/jell/commits?path=$ipk&per_page=1" | jq -r '.[0].commit.committer.date') || true 45 | fpkg="$(echo "${{github.event.action}}" | sed -e 's/\(aarch64_generic\|x86_64\|i386_pentium4\|arm_arm1176jzf-s_vfp\|aarch64_cortex-a72\|arm_cortex-a7\|arm_cortex-a7_neon-vfpv4\|arm_cortex-a9\|arm_cortex-a15_neon-vfpv4\|arm_cortex-a5_vfpv4\|mipsel_24kc\|mips_24kc\|aarch64_cortex-a53\|arm_xscale\|arm_cortex-a9_vfpv3-d16\| [0-9][0-9.]*\| ssh\| noser\| cw\)//g' | sed -e 's/ //g')" 46 | during="$(echo "${{github.event.inputs.packages}}" | grep -o -E ' [0-9][0-9.]*' | sed -e 's/ //')" 47 | [[ "$fpkg" && ! "$during" ]] || { 48 | [ "$during" ] || during="1.05" 49 | durings=`echo "$during*60*60*24" | bc` 50 | gitdate=$(date -d "$gitdate" +%s) 51 | now=$(date -d "$(date)" +%s) 52 | [ "$during" ] || during="1.05" 53 | durings=`echo "$during*60*60*24" | bc` 54 | if [[ $(expr $gitdate + ${durings%.*}) -lt $now ]]; then 55 | exit; 56 | fi 57 | gitdate=$(curl -H "Authorization: token ${{ env.REPO_TOKEN }}" -s "https://api.github.com/repos/kenzok8/jell/actions/runs" | jq -r '.workflow_runs[0].created_at') || true 58 | gitdate=$(date -d "$gitdate" +%s) 59 | now=$(date -d "$(date)" +%s) 60 | if [[ $(expr $gitdate + 180) -lt $now ]]; then 61 | curl -X POST https://api.github.com/repos/kenzok8/jell/dispatches \ 62 | -H "Accept: application/vnd.github.everest-preview+json" \ 63 | -H "Authorization: token ${{ env.REPO_TOKEN }}" \ 64 | --data '{"event_type": "update"}' 65 | fi 66 | } 67 | curl \ 68 | -X POST https://api.github.com/repos/${{ github.repository }}/dispatches \ 69 | -H "Accept: application/vnd.github.everest-preview+json" \ 70 | -H "Authorization: token ${{ env.REPO_TOKEN }}" \ 71 | -d '{"event_type": "arm_cortex-a7 ${{ github.event.inputs.packages }}", "client_payload": {"target": "arm_cortex-a7"}}' 72 | curl \ 73 | -X POST https://api.github.com/repos/${{ github.repository }}/dispatches \ 74 | -H "Accept: application/vnd.github.everest-preview+json" \ 75 | -H "Authorization: token ${{ env.REPO_TOKEN }}" \ 76 | -d '{"event_type": "arm_cortex-a9 ${{ github.event.inputs.packages }}", "client_payload": {"target": "arm_cortex-a9"}}' 77 | curl \ 78 | -X POST https://api.github.com/repos/${{ github.repository }}/dispatches \ 79 | -H "Accept: application/vnd.github.everest-preview+json" \ 80 | -H "Authorization: token ${{ env.REPO_TOKEN }}" \ 81 | -d '{"event_type": "arm_cortex-a9_vfpv3-d16 ${{ github.event.inputs.packages }}", "client_payload": {"target": "arm_cortex-a9_vfpv3-d16"}}' 82 | curl \ 83 | -X POST https://api.github.com/repos/${{ github.repository }}/dispatches \ 84 | -H "Accept: application/vnd.github.everest-preview+json" \ 85 | -H "Authorization: token ${{ env.REPO_TOKEN }}" \ 86 | -d '{"event_type": "arm_cortex-a15_neon-vfpv4 ${{ github.event.inputs.packages }}", "client_payload": {"target": "arm_cortex-a15_neon-vfpv4"}}' 87 | 88 | - name: Delete workflow runs 89 | uses: Mattraks/delete-workflow-runs@main 90 | continue-on-error: true 91 | with: 92 | retain_days: 5 93 | keep_minimum_runs: 1 94 | 95 | - name: Remove old Releases 96 | uses: dev-drprasad/delete-older-releases@master 97 | with: 98 | keep_latest: 30 99 | delete_tags: true 100 | env: 101 | GITHUB_TOKEN: ${{ secrets.TOKEN_kenzo }} 102 | -------------------------------------------------------------------------------- /.github/workflows/RepoB-Package.yml: -------------------------------------------------------------------------------- 1 | #================================================= 2 | # https://github.com/P3TERX/Actions-OpenWrt 3 | # Description: Build OpenWrt using GitHub Actions 4 | # Lisence: MIT 5 | # Author: P3TERX 6 | # Blog: https://p3terx.com 7 | #================================================= 8 | 9 | name: Repo-3 10 | 11 | on: 12 | # push: 13 | # branches: 14 | # - master 15 | schedule: 16 | - cron: 30 12 * * * 17 | watch: 18 | types: started 19 | workflow_dispatch: 20 | inputs: 21 | packages: 22 | description: 'Packages' 23 | required: false 24 | default: '' 25 | 26 | env: 27 | REPO_TOKEN: ${{ secrets.TOKEN_kenzo }} 28 | TZ: Asia/Shanghai 29 | 30 | jobs: 31 | build: 32 | if: github.event.repository.owner.id == github.event.sender.id || ! github.event.sender.id 33 | runs-on: ubuntu-latest 34 | steps: 35 | - name: cancel running workflows 36 | uses: styfle/cancel-workflow-action@main 37 | if: contains(github.event.inputs.packages, ' cw') 38 | with: 39 | workflow_id: all 40 | access_token: ${{ github.token }} 41 | 42 | - name: Trigger matrix Update 43 | run: | 44 | gitdate=$(curl -H "Authorization: token ${{ env.REPO_TOKEN }}" -s "https://api.github.com/repos/kenzok8/jell/commits?path=$ipk&per_page=1" | jq -r '.[0].commit.committer.date') || true 45 | fpkg="$(echo "${{github.event.action}}" | sed -e 's/\(aarch64_generic\|x86_64\|i386_pentium4\|arm_arm1176jzf-s_vfp\|aarch64_cortex-a72\|arm_cortex-a7\|arm_cortex-a7_neon-vfpv4\|arm_cortex-a9\|arm_cortex-a15_neon-vfpv4\|arm_cortex-a5_vfpv4\|mipsel_24kc\|mips_24kc\|aarch64_cortex-a53\|arm_xscale\|arm_cortex-a9_vfpv3-d16\| [0-9][0-9.]*\| ssh\| noser\| cw\)//g' | sed -e 's/ //g')" 46 | during="$(echo "${{github.event.inputs.packages}}" | grep -o -E ' [0-9][0-9.]*' | sed -e 's/ //')" 47 | [[ "$fpkg" && ! "$during" ]] || { 48 | [ "$during" ] || during="1.05" 49 | durings=`echo "$during*60*60*24" | bc` 50 | gitdate=$(date -d "$gitdate" +%s) 51 | now=$(date -d "$(date)" +%s) 52 | [ "$during" ] || during="1.05" 53 | durings=`echo "$during*60*60*24" | bc` 54 | if [[ $(expr $gitdate + ${durings%.*}) -lt $now ]]; then 55 | exit; 56 | fi 57 | gitdate=$(curl -H "Authorization: token ${{ env.REPO_TOKEN }}" -s "https://api.github.com/repos/kenzok8/jell/actions/runs" | jq -r '.workflow_runs[0].created_at') || true 58 | gitdate=$(date -d "$gitdate" +%s) 59 | now=$(date -d "$(date)" +%s) 60 | if [[ $(expr $gitdate + 180) -lt $now ]]; then 61 | curl -X POST https://api.github.com/repos/kenzok8/jell/dispatches \ 62 | -H "Accept: application/vnd.github.everest-preview+json" \ 63 | -H "Authorization: token ${{ env.REPO_TOKEN }}" \ 64 | --data '{"event_type": "update"}' 65 | fi 66 | } 67 | curl \ 68 | -X POST https://api.github.com/repos/${{ github.repository }}/dispatches \ 69 | -H "Accept: application/vnd.github.everest-preview+json" \ 70 | -H "Authorization: token ${{ env.REPO_TOKEN }}" \ 71 | -d '{"event_type": "aarch64_cortex-a72 ${{ github.event.inputs.packages }}", "client_payload": {"target": "aarch64_cortex-a72"}}' 72 | curl \ 73 | -X POST https://api.github.com/repos/${{ github.repository }}/dispatches \ 74 | -H "Accept: application/vnd.github.everest-preview+json" \ 75 | -H "Authorization: token ${{ env.REPO_TOKEN }}" \ 76 | -d '{"event_type": "aarch64_cortex-a53 ${{ github.event.inputs.packages }}", "client_payload": {"target": "aarch64_cortex-a53"}}' 77 | curl \ 78 | -X POST https://api.github.com/repos/${{ github.repository }}/dispatches \ 79 | -H "Accept: application/vnd.github.everest-preview+json" \ 80 | -H "Authorization: token ${{ env.REPO_TOKEN }}" \ 81 | -d '{"event_type": "mipsel_24kc ${{ github.event.inputs.packages }}", "client_payload": {"target": "mipsel_24kc"}}' 82 | curl \ 83 | -X POST https://api.github.com/repos/${{ github.repository }}/dispatches \ 84 | -H "Accept: application/vnd.github.everest-preview+json" \ 85 | -H "Authorization: token ${{ env.REPO_TOKEN }}" \ 86 | -d '{"event_type": "mips_24kc ${{ github.event.inputs.packages }}", "client_payload": {"target": "mips_24kc"}}' 87 | curl \ 88 | -X POST https://api.github.com/repos/${{ github.repository }}/dispatches \ 89 | -H "Accept: application/vnd.github.everest-preview+json" \ 90 | -H "Authorization: token ${{ env.REPO_TOKEN }}" \ 91 | -d '{"event_type": "arm_cortex-a7_neon-vfpv4 ${{ github.event.inputs.packages }}", "client_payload": {"target": "arm_cortex-a7_neon-vfpv4"}}' 92 | 93 | - name: Delete workflow runs 94 | uses: Mattraks/delete-workflow-runs@main 95 | continue-on-error: true 96 | with: 97 | retain_days: 5 98 | keep_minimum_runs: 1 99 | 100 | - name: Remove old Releases 101 | uses: dev-drprasad/delete-older-releases@master 102 | with: 103 | keep_latest: 30 104 | delete_tags: true 105 | env: 106 | GITHUB_TOKEN: ${{ secrets.TOKEN_kenzo }} 107 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | Apache License 2 | Version 2.0, January 2004 3 | http://www.apache.org/licenses/ 4 | 5 | TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION 6 | 7 | 1. Definitions. 8 | 9 | "License" shall mean the terms and conditions for use, reproduction, 10 | and distribution as defined by Sections 1 through 9 of this document. 11 | 12 | "Licensor" shall mean the copyright owner or entity authorized by 13 | the copyright owner that is granting the License. 14 | 15 | "Legal Entity" shall mean the union of the acting entity and all 16 | other entities that control, are controlled by, or are under common 17 | control with that entity. For the purposes of this definition, 18 | "control" means (i) the power, direct or indirect, to cause the 19 | direction or management of such entity, whether by contract or 20 | otherwise, or (ii) ownership of fifty percent (50%) or more of the 21 | outstanding shares, or (iii) beneficial ownership of such entity. 22 | 23 | "You" (or "Your") shall mean an individual or Legal Entity 24 | exercising permissions granted by this License. 25 | 26 | "Source" form shall mean the preferred form for making modifications, 27 | including but not limited to software source code, documentation 28 | source, and configuration files. 29 | 30 | "Object" form shall mean any form resulting from mechanical 31 | transformation or translation of a Source form, including but 32 | not limited to compiled object code, generated documentation, 33 | and conversions to other media types. 34 | 35 | "Work" shall mean the work of authorship, whether in Source or 36 | Object form, made available under the License, as indicated by a 37 | copyright notice that is included in or attached to the work 38 | (an example is provided in the Appendix below). 39 | 40 | "Derivative Works" shall mean any work, whether in Source or Object 41 | form, that is based on (or derived from) the Work and for which the 42 | editorial revisions, annotations, elaborations, or other modifications 43 | represent, as a whole, an original work of authorship. For the purposes 44 | of this License, Derivative Works shall not include works that remain 45 | separable from, or merely link (or bind by name) to the interfaces of, 46 | the Work and Derivative Works thereof. 47 | 48 | "Contribution" shall mean any work of authorship, including 49 | the original version of the Work and any modifications or additions 50 | to that Work or Derivative Works thereof, that is intentionally 51 | submitted to Licensor for inclusion in the Work by the copyright owner 52 | or by an individual or Legal Entity authorized to submit on behalf of 53 | the copyright owner. For the purposes of this definition, "submitted" 54 | means any form of electronic, verbal, or written communication sent 55 | to the Licensor or its representatives, including but not limited to 56 | communication on electronic mailing lists, source code control systems, 57 | and issue tracking systems that are managed by, or on behalf of, the 58 | Licensor for the purpose of discussing and improving the Work, but 59 | excluding communication that is conspicuously marked or otherwise 60 | designated in writing by the copyright owner as "Not a Contribution." 61 | 62 | "Contributor" shall mean Licensor and any individual or Legal Entity 63 | on behalf of whom a Contribution has been received by Licensor and 64 | subsequently incorporated within the Work. 65 | 66 | 2. Grant of Copyright License. Subject to the terms and conditions of 67 | this License, each Contributor hereby grants to You a perpetual, 68 | worldwide, non-exclusive, no-charge, royalty-free, irrevocable 69 | copyright license to reproduce, prepare Derivative Works of, 70 | publicly display, publicly perform, sublicense, and distribute the 71 | Work and such Derivative Works in Source or Object form. 72 | 73 | 3. Grant of Patent License. Subject to the terms and conditions of 74 | this License, each Contributor hereby grants to You a perpetual, 75 | worldwide, non-exclusive, no-charge, royalty-free, irrevocable 76 | (except as stated in this section) patent license to make, have made, 77 | use, offer to sell, sell, import, and otherwise transfer the Work, 78 | where such license applies only to those patent claims licensable 79 | by such Contributor that are necessarily infringed by their 80 | Contribution(s) alone or by combination of their Contribution(s) 81 | with the Work to which such Contribution(s) was submitted. If You 82 | institute patent litigation against any entity (including a 83 | cross-claim or counterclaim in a lawsuit) alleging that the Work 84 | or a Contribution incorporated within the Work constitutes direct 85 | or contributory patent infringement, then any patent licenses 86 | granted to You under this License for that Work shall terminate 87 | as of the date such litigation is filed. 88 | 89 | 4. Redistribution. You may reproduce and distribute copies of the 90 | Work or Derivative Works thereof in any medium, with or without 91 | modifications, and in Source or Object form, provided that You 92 | meet the following conditions: 93 | 94 | (a) You must give any other recipients of the Work or 95 | Derivative Works a copy of this License; and 96 | 97 | (b) You must cause any modified files to carry prominent notices 98 | stating that You changed the files; and 99 | 100 | (c) You must retain, in the Source form of any Derivative Works 101 | that You distribute, all copyright, patent, trademark, and 102 | attribution notices from the Source form of the Work, 103 | excluding those notices that do not pertain to any part of 104 | the Derivative Works; and 105 | 106 | (d) If the Work includes a "NOTICE" text file as part of its 107 | distribution, then any Derivative Works that You distribute must 108 | include a readable copy of the attribution notices contained 109 | within such NOTICE file, excluding those notices that do not 110 | pertain to any part of the Derivative Works, in at least one 111 | of the following places: within a NOTICE text file distributed 112 | as part of the Derivative Works; within the Source form or 113 | documentation, if provided along with the Derivative Works; or, 114 | within a display generated by the Derivative Works, if and 115 | wherever such third-party notices normally appear. The contents 116 | of the NOTICE file are for informational purposes only and 117 | do not modify the License. You may add Your own attribution 118 | notices within Derivative Works that You distribute, alongside 119 | or as an addendum to the NOTICE text from the Work, provided 120 | that such additional attribution notices cannot be construed 121 | as modifying the License. 122 | 123 | You may add Your own copyright statement to Your modifications and 124 | may provide additional or different license terms and conditions 125 | for use, reproduction, or distribution of Your modifications, or 126 | for any such Derivative Works as a whole, provided Your use, 127 | reproduction, and distribution of the Work otherwise complies with 128 | the conditions stated in this License. 129 | 130 | 5. Submission of Contributions. Unless You explicitly state otherwise, 131 | any Contribution intentionally submitted for inclusion in the Work 132 | by You to the Licensor shall be under the terms and conditions of 133 | this License, without any additional terms or conditions. 134 | Notwithstanding the above, nothing herein shall supersede or modify 135 | the terms of any separate license agreement you may have executed 136 | with Licensor regarding such Contributions. 137 | 138 | 6. Trademarks. This License does not grant permission to use the trade 139 | names, trademarks, service marks, or product names of the Licensor, 140 | except as required for reasonable and customary use in describing the 141 | origin of the Work and reproducing the content of the NOTICE file. 142 | 143 | 7. Disclaimer of Warranty. Unless required by applicable law or 144 | agreed to in writing, Licensor provides the Work (and each 145 | Contributor provides its Contributions) on an "AS IS" BASIS, 146 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or 147 | implied, including, without limitation, any warranties or conditions 148 | of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A 149 | PARTICULAR PURPOSE. You are solely responsible for determining the 150 | appropriateness of using or redistributing the Work and assume any 151 | risks associated with Your exercise of permissions under this License. 152 | 153 | 8. Limitation of Liability. In no event and under no legal theory, 154 | whether in tort (including negligence), contract, or otherwise, 155 | unless required by applicable law (such as deliberate and grossly 156 | negligent acts) or agreed to in writing, shall any Contributor be 157 | liable to You for damages, including any direct, indirect, special, 158 | incidental, or consequential damages of any character arising as a 159 | result of this License or out of the use or inability to use the 160 | Work (including but not limited to damages for loss of goodwill, 161 | work stoppage, computer failure or malfunction, or any and all 162 | other commercial damages or losses), even if such Contributor 163 | has been advised of the possibility of such damages. 164 | 165 | 9. Accepting Warranty or Additional Liability. While redistributing 166 | the Work or Derivative Works thereof, You may choose to offer, 167 | and charge a fee for, acceptance of support, warranty, indemnity, 168 | or other liability obligations and/or rights consistent with this 169 | License. However, in accepting such obligations, You may act only 170 | on Your own behalf and on Your sole responsibility, not on behalf 171 | of any other Contributor, and only if You agree to indemnify, 172 | defend, and hold each Contributor harmless for any liability 173 | incurred by, or claims asserted against, such Contributor by reason 174 | of your accepting any such warranty or additional liability. 175 | 176 | END OF TERMS AND CONDITIONS 177 | 178 | APPENDIX: How to apply the Apache License to your work. 179 | 180 | To apply the Apache License to your work, attach the following 181 | boilerplate notice, with the fields enclosed by brackets "[]" 182 | replaced with your own identifying information. (Don't include 183 | the brackets!) The text should be enclosed in the appropriate 184 | comment syntax for the file format. We also recommend that a 185 | file or class name and description of purpose be included on the 186 | same "printed page" as the copyright notice for easier 187 | identification within third-party archives. 188 | 189 | Copyright [yyyy] [name of copyright owner] 190 | 191 | Licensed under the Apache License, Version 2.0 (the "License"); 192 | you may not use this file except in compliance with the License. 193 | You may obtain a copy of the License at 194 | 195 | http://www.apache.org/licenses/LICENSE-2.0 196 | 197 | Unless required by applicable law or agreed to in writing, software 198 | distributed under the License is distributed on an "AS IS" BASIS, 199 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 200 | See the License for the specific language governing permissions and 201 | limitations under the License. 202 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | ### jell-compile 2 | [1]: https://img.shields.io/badge/license-GPLV2-brightgreen.svg 3 | [2]: /LICENSE 4 | [3]: https://img.shields.io/badge/PRs-welcome-brightgreen.svg 5 | [4]: https://github.com/kenzok8/compile-jell/pulls 6 | [5]: https://img.shields.io/badge/Issues-welcome-brightgreen.svg 7 | [6]: https://github.com/kenzok8/compile-jell/issues/new 8 | [7]: https://img.shields.io/github/v/release/hyird/Action-small-compile 9 | [8]: https://github.com/kenzok8/compile-jell/releases 10 | [10]: https://img.shields.io/badge/Contact-telegram-blue 11 | [11]: https://t.me/joinchat/JjxmyRZZXJWb74I-sCrryA 12 | [12]: https://github.com/kenzok8/compile-jell/actions/workflows/Auto-Package.yml/badge.svg 13 | [13]: https://github.com/kenzok8/compile-jell/actions 14 | 15 | [![license][1]][2] 16 | [![GitHub Stars](https://img.shields.io/github/stars/kenzok8/compile-jell.svg?style=flat-square&label=Stars)](https://github.com/kenzok8/compile-jell/stargazers) 17 | [![GitHub Forks](https://img.shields.io/github/forks/kenzok8/compile-jell.svg?style=flat-square&label=Forks)](https://github.com/kenzok8/compile-jell) 18 | [![PRs Welcome][3]][4] 19 | [![Issue Welcome][5]][6] 20 | [![AutoBuild][12]][13] 21 | 22 | Telegram 23 | 24 | ##### 源码来源: 25 | [![kiddin9](https://img.shields.io/badge/compile-kiddin9-red.svg?style=flat&logo=appveyor)](https://github.com/kiddin9/packages-compile) 26 | 27 | ##### 插件每日更新下载: 28 | [![GitHub release (latest by date)](https://img.shields.io/github/v/release/kenzok8/compile-jell?style=for-the-badge&label=插件更新下载)](https://github.com/kenzok8/compile-jell/releases/latest) 29 | 30 | ##### 特色: 31 | 32 | + jell包插件编译. 33 | 34 | + .* 编译所有软件包 35 | 36 | + .* 2 编译最近两天内有更新的软件包. 37 | 38 | + luci-app 编译所有 luci-app 软件包 39 | 40 | + luci-app-(aria2|acme) 编译 luci-app-aria2 和 luci-app-acme 41 | 42 | -------------------------------------------------------------------------------- /devices/aarch64_cortex-a53/.config: -------------------------------------------------------------------------------- 1 | CONFIG_KERNEL_DEVMEM=y 2 | CONFIG_BUSYBOX_CONFIG_ARPING=y -------------------------------------------------------------------------------- /devices/aarch64_cortex-a72/.config: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kenzok8/compile-jell/34fc5c2511027c4736599336dffb5261935602cf/devices/aarch64_cortex-a72/.config -------------------------------------------------------------------------------- /devices/aarch64_generic/.config: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kenzok8/compile-jell/34fc5c2511027c4736599336dffb5261935602cf/devices/aarch64_generic/.config -------------------------------------------------------------------------------- /devices/aarch64_generic/custom.sh: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /devices/arm_arm1176jzf-s_vfp/.config: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kenzok8/compile-jell/34fc5c2511027c4736599336dffb5261935602cf/devices/arm_arm1176jzf-s_vfp/.config -------------------------------------------------------------------------------- /devices/arm_cortex-a15_neon-vfpv4/.config: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kenzok8/compile-jell/34fc5c2511027c4736599336dffb5261935602cf/devices/arm_cortex-a15_neon-vfpv4/.config -------------------------------------------------------------------------------- /devices/arm_cortex-a15_neon-vfpv4/custom.sh: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /devices/arm_cortex-a5_vfpv4/.config: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kenzok8/compile-jell/34fc5c2511027c4736599336dffb5261935602cf/devices/arm_cortex-a5_vfpv4/.config -------------------------------------------------------------------------------- /devices/arm_cortex-a7/.config: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kenzok8/compile-jell/34fc5c2511027c4736599336dffb5261935602cf/devices/arm_cortex-a7/.config -------------------------------------------------------------------------------- /devices/arm_cortex-a7/custom.sh: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /devices/arm_cortex-a7_neon-vfpv4/.config: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kenzok8/compile-jell/34fc5c2511027c4736599336dffb5261935602cf/devices/arm_cortex-a7_neon-vfpv4/.config -------------------------------------------------------------------------------- /devices/arm_cortex-a7_neon-vfpv4/custom.sh: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /devices/arm_cortex-a9/.config: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kenzok8/compile-jell/34fc5c2511027c4736599336dffb5261935602cf/devices/arm_cortex-a9/.config -------------------------------------------------------------------------------- /devices/arm_cortex-a9/custom.sh: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /devices/arm_cortex-a9_vfpv3-d16/.config: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kenzok8/compile-jell/34fc5c2511027c4736599336dffb5261935602cf/devices/arm_cortex-a9_vfpv3-d16/.config -------------------------------------------------------------------------------- /devices/common/.config: -------------------------------------------------------------------------------- 1 | 2 | CONFIG_IPV6=y 3 | 4 | CONFIG_LUCI_CSSTIDY=n 5 | CONFIG_AUTOREBUILD=y 6 | CONFIG_AUTOREMOVE=n 7 | CONFIG_ALL=y 8 | CONFIG_SIGNED_PACKAGES=n 9 | CONFIG_SIGNATURE_CHECK=n 10 | CONFIG_XRAY_PROVIDE_V2RAY=y 11 | CONFIG_PACKAGE_dnsmasq=n 12 | CONFIG_v2ray-plugin_INCLUDE_GOPROXY=n 13 | CONFIG_V2RAY_CORE_COMPRESS_UPX=n 14 | CONFIG_XRAY_CORE_COMPRESS_UPX=n 15 | 16 | CONFIG_PACKAGE_luci-app-turboacc=y 17 | CONFIG_PACKAGE_TURBOACC_INCLUDE_OFFLOADING=y 18 | CONFIG_PACKAGE_TURBOACC_INCLUDE_SHORTCUT_FE=y 19 | CONFIG_PACKAGE_TURBOACC_INCLUDE_BBR_CCA=y 20 | CONFIG_PACKAGE_TURBOACC_INCLUDE_DNSFORWARDER=n 21 | CONFIG_PACKAGE_TURBOACC_INCLUDE_DNSPROXY=n 22 | CONFIG_PACKAGE_luci-app-passwall_INCLUDE_v2ray-plugin=n 23 | 24 | # CONFIG_UA2F_CUSTOM_USER_AGENT=y 25 | 26 | CONFIG_NGINX_DAV=y 27 | 28 | # daed 29 | CONFIG_DEVEL=y 30 | CONFIG_BPF_TOOLCHAIN_HOST=y 31 | # CONFIG_BPF_TOOLCHAIN_NONE is not set 32 | CONFIG_KERNEL_BPF_EVENTS=y 33 | CONFIG_KERNEL_CGROUP_BPF=y 34 | CONFIG_KERNEL_DEBUG_INFO=y 35 | CONFIG_KERNEL_DEBUG_INFO_BTF=y 36 | # CONFIG_KERNEL_DEBUG_INFO_REDUCED is not set 37 | CONFIG_KERNEL_XDP_SOCKETS=y 38 | 39 | CONFIG_PACKAGE_containerd=n 40 | 41 | CONFIG_OPENSSL_OPTIMIZE_SPEED=y 42 | CONFIG_OPENSSL_PREFER_CHACHA_OVER_GCM=y 43 | CONFIG_OPENSSL_ENGINE_BUILTIN=y 44 | CONFIG_OPENSSL_ENGINE_BUILTIN_AFALG=y 45 | CONFIG_OPENSSL_ENGINE_BUILTIN_DEVCRYPTO=y 46 | 47 | CONFIG_COREMARK_OPTIMIZE_O3=y 48 | CONFIG_COREMARK_ENABLE_MULTITHREADING=y 49 | CONFIG_COREMARK_NUMBER_OF_THREADS=16 50 | 51 | CONFIG_LUCI_LANG_zh_Hans=n 52 | 53 | # end of 3. Applications 54 | 55 | CONFIG_BUSYBOX_CUSTOM=y 56 | 57 | CONFIG_IMAGEOPT=y 58 | CONFIG_VERSIONOPT=y 59 | CONFIG_VERSION_REPO="https://op.dllkids.xyz" 60 | CONFIG_VERSION_MANUFACTURER="kenzo'" 61 | CONFIG_VERSION_FILENAMES=n 62 | CONFIG_VERSION_CODE_FILENAMES=n 63 | -------------------------------------------------------------------------------- /devices/common/custom.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | shopt -s extglob 4 | rm -rf feeds/jell/{diy,mt-drivers,shortcut-fe,luci-app-mtwifi,base-files,luci-app-package-manager,\ 5 | dnsmasq,firewall*,wifi-scripts,opkg,ppp,curl,luci-app-firewall,\ 6 | nftables,fstools,wireless-regdb,libnftnl} 7 | 8 | for ipk in $(find feeds/jell/* -maxdepth 0 -type d); 9 | do 10 | [[ "$(grep "KernelPackage" "$ipk/Makefile")" && ! "$(grep "BuildPackage" "$ipk/Makefile")" ]] && rm -rf $ipk || true 11 | done 12 | 13 | #<<'COMMENT' 14 | rm -Rf feeds/luci/{applications,collections,protocols,themes,libs,docs,contrib} 15 | rm -Rf feeds/luci/modules/!(luci-base) 16 | rm -Rf feeds/packages/!(lang|libs|devel|utils|net|multimedia) 17 | rm -Rf feeds/packages/multimedia/!(gstreamer1|ffmpeg) 18 | rm -Rf feeds/packages/net/!(mosquitto|curl) 19 | rm -Rf feeds/base/package/firmware 20 | rm -Rf feeds/base/package/network/!(services|utils) 21 | rm -Rf feeds/base/package/network/services/!(ppp) 22 | rm -Rf feeds/base/package/system/!(opkg|ubus|uci|ca-certificates) 23 | rm -Rf feeds/base/package/kernel/!(cryptodev-linux) 24 | #COMMENT 25 | 26 | status=$(curl -H "Authorization: token $REPO_TOKEN" -s "https://api.github.com/repos/kenzok8/jell/actions/runs" | jq -r '.workflow_runs[0].status') 27 | while [[ "$status" == "in_progress" || "$status" == "queued" ]];do 28 | echo "wait 5s" 29 | sleep 5 30 | status=$(curl -H "Authorization: token $REPO_TOKEN" -s "https://api.github.com/repos/kenzok8/jell/actions/runs" | jq -r '.workflow_runs[0].status') 31 | done 32 | 33 | ./scripts/feeds update -a 34 | ./scripts/feeds install -a -p jell -f 35 | ./scripts/feeds install -a 36 | 37 | sed -i 's/\(page\|e\)\?.acl_depends.*\?}//' `find package/feeds/jell/luci-*/luasrc/controller/* -name "*.lua"` 38 | # sed -i 's/\/cgi-bin\/\(luci\|cgi-\)/\/\1/g' `find package/feeds/jell/luci-*/ -name "*.lua" -or -name "*.htm*" -or -name "*.js"` & 39 | 40 | sed -i \ 41 | -e "s/+\(luci\|luci-ssl\|uhttpd\)\( \|$\)/\2/" \ 42 | -e "s/+nginx\( \|$\)/+nginx-ssl\1/" \ 43 | -e 's/+python\( \|$\)/+python3/' \ 44 | -e 's?../../lang?$(TOPDIR)/feeds/packages/lang?' \ 45 | -e 's,$(STAGING_DIR_HOST)/bin/upx,upx,' \ 46 | package/feeds/jell/*/Makefile 47 | 48 | cp -f devices/common/.config .config 49 | mv feeds/base feeds/base.bak 50 | mv feeds/packages feeds/packages.bak 51 | make defconfig 52 | rm -Rf tmp 53 | mv feeds/base.bak feeds/base 54 | mv feeds/packages.bak feeds/packages 55 | sed -i 's/CONFIG_ALL=y/CONFIG_ALL=n/' .config 56 | sed -i '/PACKAGE_kmod-/d' .config 57 | 58 | sed -i "/mediaurlbase/d" package/feeds/*/luci-theme*/root/etc/uci-defaults/* 59 | 60 | sed -i '/WARNING: Makefile/d' scripts/package-metadata.pl 61 | 62 | 63 | cp -f devices/common/po2lmo staging_dir/host/bin/po2lmo 64 | chmod +x staging_dir/host/bin/po2lmo 65 | -------------------------------------------------------------------------------- /devices/common/feeds.conf: -------------------------------------------------------------------------------- 1 | src-git base https://git.openwrt.org/openwrt/openwrt.git;openwrt-24.10 2 | src-git packages https://git.openwrt.org/feed/packages.git;openwrt-24.10 3 | src-git luci https://git.openwrt.org/project/luci.git;openwrt-24.10 4 | src-git jell https://github.com/kenzok8/jell.git;main 5 | -------------------------------------------------------------------------------- /devices/common/patches/Config.in.b.patch: -------------------------------------------------------------------------------- 1 | --- a/Config.in 2 | +++ b/Config.in 3 | @@ -18,6 +18,10 @@ menu "Global build settings" 4 | bool "Cryptographically sign package lists" 5 | default y 6 | 7 | + config SIGNATURE_CHECK 8 | + bool "Enable signature checking in opkg" 9 | + default SIGNED_PACKAGES 10 | + 11 | endmenu 12 | 13 | menu "Advanced configuration options (for developers)" 14 | 15 | --- a/Config-build.in 16 | +++ b/Config-build.in 17 | @@ -1064,7 +1064,7 @@ 18 | 19 | config KERNEL_XDP_SOCKETS 20 | bool 21 | - default n 22 | + default y 23 | 24 | config KERNEL_WIRELESS_EXT 25 | bool 26 | 27 | -------------------------------------------------------------------------------- /devices/common/patches/luci_mk.patch: -------------------------------------------------------------------------------- 1 | --- a/feeds/luci/luci.mk 2 | +++ b/feeds/luci/luci.mk 3 | @@ -84,7 +84,7 @@ define findrev 4 | set -- $$(git log -1 --format="%ct %h" --abbrev=7 -- $(if $(1),. ':(exclude)po',po)); \ 5 | if [ -n "$$1" ]; then 6 | secs="$$(($$1 % 86400))"; \ 7 | - yday="$$(date --utc --date="@$$1" "+%y.%j")"; \ 8 | + yday="$$(date --utc --date="@$$(($$1 + 365*24*60*60))" "+%y.%j")"; \ 9 | printf '%s.%05d~%s' "$$yday" "$$secs" "$$2"; \ 10 | else \ 11 | echo "0"; \ 12 | @@ -220,6 +220,16 @@ define Package/$(PKG_NAME)/install 13 | $(call Build/Install/Default) 14 | $(CP) $(PKG_INSTALL_DIR)/* $(1)/ 15 | endif 16 | + ifneq ($(wildcard ${CURDIR}/po),) 17 | + $(INSTALL_DIR) $(1)/etc/uci-defaults 18 | + echo "uci set luci.languages.zh_cn='$(LUCI_LANG.zh_Hans)'; uci commit luci" \ 19 | + > $(1)/etc/uci-defaults/luci-i18n-$(LUCI_BASENAME)-zh-cn 20 | + $(INSTALL_DIR) $(1)$(LUCI_LIBRARYDIR)/i18n 21 | + $(foreach po,$(wildcard ${CURDIR}/po/zh_Hans/*.po), \ 22 | + po2lmo $(po) \ 23 | + $(1)$(LUCI_LIBRARYDIR)/i18n/$(basename $(notdir $(po))).zh-cn.lmo;) 24 | + endif 25 | + 26 | endef 27 | 28 | ifndef Package/$(PKG_NAME)/postinst 29 | @@ -345,5 +355,5 @@ define LuciTranslation 30 | 31 | endef 32 | 33 | -$(foreach lang,$(LUCI_LANGUAGES),$(if $(LUCI_LANG.$(lang)),$(eval $(call LuciTranslation,$(firstword $(LUCI_LC_ALIAS.$(lang)) $(lang)),$(lang))))) 34 | +# $(foreach lang,$(LUCI_LANGUAGES),$(if $(LUCI_LANG.$(lang)),$(eval $(call LuciTranslation,$(firstword $(LUCI_LC_ALIAS.$(lang)) $(lang)),$(lang))))) 35 | $(foreach pkg,$(LUCI_BUILD_PACKAGES),$(eval $(call BuildPackage,$(pkg)))) 36 | -------------------------------------------------------------------------------- /devices/common/patches/package.patch: -------------------------------------------------------------------------------- 1 | --- a/include/package.mk 2 | +++ b/include/package.mk 3 | @@ -354,3 +354,11 @@ dist: 4 | 5 | distcheck: 6 | $(Build/DistCheck) 7 | + 8 | +ifndef Package/$(PKG_NAME)/conffiles 9 | +define Package/$(PKG_NAME)/conffiles 10 | +/etc/config/ 11 | +/etc/$(PKG_NAME)/ 12 | +endef 13 | +endif 14 | + 15 | -------------------------------------------------------------------------------- /devices/common/patches/package_mk.patch: -------------------------------------------------------------------------------- 1 | --- a/include/package-defaults.mk 2 | +++ b/include/package-defaults.mk 3 | @@ -23,9 +23,9 @@ define Package/Default 4 | SOURCE:=$(patsubst $(TOPDIR)/%,%,$(patsubst $(TOPDIR)/package/%,feeds/base/%,$(CURDIR))) 5 | ifneq ($(PKG_VERSION),) 6 | ifneq ($(PKG_RELEASE),) 7 | - VERSION:=$(PKG_VERSION)-r$(PKG_RELEASE) 8 | + VERSION:=$(PKG_OR)$(PKG_VERSION)-r$(PKG_RELEASE) 9 | else 10 | - VERSION:=$(PKG_VERSION) 11 | + VERSION:=$(PKG_OR)$(PKG_VERSION) 12 | endif 13 | else 14 | VERSION:=$(PKG_RELEASE) 15 | -------------------------------------------------------------------------------- /devices/common/patches/rootfs.patch: -------------------------------------------------------------------------------- 1 | --- a/include/rootfs.mk 2 | +++ b/include/rootfs.mk 3 | @@ -73,7 +73,6 @@ define prepare_rootfs 4 | ret=$$?; \ 5 | if [ $$ret -ne 0 ]; then \ 6 | echo "postinst script $$script has failed with exit code $$ret" >&2; \ 7 | - exit 1; \ 8 | fi; \ 9 | done; \ 10 | for script in ./etc/init.d/*; do \ 11 | -------------------------------------------------------------------------------- /devices/common/patches/toplevel.patch: -------------------------------------------------------------------------------- 1 | --- a/include/toplevel.mk 2 | +++ b/include/toplevel.mk 3 | @@ -219,7 +219,6 @@ 4 | 5 | %:: 6 | @+$(PREP_MK) $(NO_TRACE_MAKE) -r -s prereq 7 | - @./scripts/config/conf $(KCONF_FLAGS) --defconfig=.config Config.in 8 | @+$(ULIMIT_FIX) $(SUBMAKE) -r $@ 9 | 10 | else 11 | -------------------------------------------------------------------------------- /devices/common/po2lmo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kenzok8/compile-jell/34fc5c2511027c4736599336dffb5261935602cf/devices/common/po2lmo -------------------------------------------------------------------------------- /devices/common/settings.ini: -------------------------------------------------------------------------------- 1 | REPO_URL="https://github.com/openwrt/openwrt" 2 | REPO_BRANCH="openwrt-24.10" 3 | CONFIG_FILE=".config" 4 | DIY_SH="diy.sh" 5 | FREE_UP_DISK="false" 6 | SSH_ACTIONS="false" 7 | UPLOAD_FIRMWARE_FOR_ARTIFACT="true" 8 | UPLOAD_FIRMWARE_FOR_RELEASE="true" 9 | UPLOAD_FIRMWARE_TO_COWTRANSFER="false" 10 | UPLOAD_FIRMWARE_TO_WETRANSFER="false" 11 | -------------------------------------------------------------------------------- /devices/i386_pentium4/.config: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kenzok8/compile-jell/34fc5c2511027c4736599336dffb5261935602cf/devices/i386_pentium4/.config -------------------------------------------------------------------------------- /devices/mips_24kc/.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | CONFIG_KERNEL_MIPS_FPU_EMULATOR=y 4 | 5 | -------------------------------------------------------------------------------- /devices/mips_24kc/custom.sh: -------------------------------------------------------------------------------- 1 | # rm -Rf package/feeds/packages/node 2 | # svn co https://github.com/coolsnowwolf/packages/trunk/lang/node package/feeds/kiddin9/node 3 | 4 | -------------------------------------------------------------------------------- /devices/mipsel_24kc/.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | CONFIG_KERNEL_MIPS_FPU_EMULATOR=y 4 | -------------------------------------------------------------------------------- /devices/mipsel_24kc/custom.sh: -------------------------------------------------------------------------------- 1 | # rm -Rf package/feeds/packages/node 2 | # svn co https://github.com/coolsnowwolf/packages/trunk/lang/node package/feeds/kiddin9/node 3 | 4 | -------------------------------------------------------------------------------- /devices/x86_64/.config: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kenzok8/compile-jell/34fc5c2511027c4736599336dffb5261935602cf/devices/x86_64/.config --------------------------------------------------------------------------------