├── .github └── workflows │ ├── Packages-AutoBuild.yml │ └── repo-dispatcher.yml ├── .gitignore ├── README.md └── devices ├── aarch64_cortex-a53 └── .config ├── aarch64_cortex-a72 └── .config ├── aarch64_cortex-a76 └── .config ├── aarch64_generic └── .config ├── arm_arm1176jzf-s_vfp └── .config ├── arm_cortex-a15_neon-vfpv4 └── .config ├── arm_cortex-a5_vfpv4 └── .config ├── arm_cortex-a7_neon-vfpv4 └── .config ├── arm_cortex-a9 └── .config ├── arm_cortex-a9_vfpv3-d16 └── .config ├── common ├── .config ├── custom.sh ├── feeds.conf ├── patches │ ├── Config.in.b.patch │ ├── luci_mk.patch │ ├── netsupport.patch │ ├── package.patch │ ├── package_mk.patch │ ├── rootfs.patch │ └── toplevel.patch ├── po2lmo └── settings.ini ├── i386_pentium4 └── .config ├── mips_24kc ├── .config └── custom.sh ├── mipsel_24kc └── .config └── x86_64 └── .config /.github/workflows/Packages-AutoBuild.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: Packages-AutoBuild 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 | SSH_PRIVATE_KEY: ${{ secrets.SSH_PRIVATE_KEY }} 24 | TELEGRAM_TOKEN: ${{ secrets.TELEGRAM_TOKEN }} 25 | TELEGRAM_CHAT_ID: ${{ secrets.TELEGRAM_CHAT_ID }} 26 | TZ: Asia/Shanghai 27 | 28 | jobs: 29 | build: 30 | if: github.event.repository.owner.id == github.event.sender.id || github.event.sender.id == '119362912' 31 | runs-on: ubuntu-latest 32 | 33 | name: Build ${{matrix.target}} 34 | strategy: 35 | fail-fast: false 36 | matrix: 37 | target: ["${{ github.event.client_payload.target }}"] 38 | 39 | steps: 40 | - name: Checkout 41 | uses: actions/checkout@main 42 | with: 43 | fetch-depth: 0 44 | 45 | - name: Load Settings.ini 46 | run: | 47 | source "${GITHUB_WORKSPACE}/devices/common/settings.ini" 48 | echo "REPO_URL=${REPO_URL}" >> $GITHUB_ENV 49 | echo "REPO_BRANCH=${REPO_BRANCH}" >> $GITHUB_ENV 50 | echo "CONFIG_FILE=${CONFIG_FILE}" >> $GITHUB_ENV 51 | echo "DIY_SH=${DIY_SH}" >> $GITHUB_ENV 52 | echo "FREE_UP_DISK=${FREE_UP_DISK}" >> $GITHUB_ENV 53 | echo "SSH_ACTIONS=${SSH_ACTIONS}" >> $GITHUB_ENV 54 | echo "UPLOAD_BIN_DIR_FOR_ARTIFACT=${UPLOAD_BIN_DIR_FOR_ARTIFACT}" >> $GITHUB_ENV 55 | echo "UPLOAD_FIRMWARE_FOR_ARTIFACT=${UPLOAD_FIRMWARE_FOR_ARTIFACT}" >> $GITHUB_ENV 56 | echo "UPLOAD_FIRMWARE_FOR_RELEASE=${UPLOAD_FIRMWARE_FOR_RELEASE}" >> $GITHUB_ENV 57 | echo "UPLOAD_FIRMWARE_TO_COWTRANSFER=${UPLOAD_FIRMWARE_TO_COWTRANSFER}" >> $GITHUB_ENV 58 | echo "UPLOAD_FIRMWARE_TO_WETRANSFER=${UPLOAD_FIRMWARE_TO_WETRANSFER}" >> $GITHUB_ENV 59 | if [[ "${{matrix.target}}" == arm_* ]]; then 60 | echo "REPO_TOKEN=${{ secrets.TOKEN_KKKIDDING }}" >> $GITHUB_ENV 61 | else 62 | echo "REPO_TOKEN=${{ secrets.TOKEN_KKKKIDDIN }}" >> $GITHUB_ENV 63 | fi 64 | sed -i "1a REPO_TOKEN=${{ env.REPO_TOKEN }}" ${GITHUB_WORKSPACE}/devices/common/custom.sh 65 | 66 | - name: Free disk space 67 | uses: coder-xiaomo/free-disk-space@main 68 | with: 69 | tool-cache: false 70 | android: true 71 | dotnet: true 72 | haskell: true 73 | large-packages: true 74 | docker-images: true 75 | swap-storage: true 76 | 77 | - name: Initialization environment 78 | env: 79 | DEBIAN_FRONTEND: noninteractive 80 | run: | 81 | sudo -E apt-get -qq update 82 | sudo -E apt-get -qq install build-essential libncurses-dev zlib1g-dev gawk git \ 83 | gettext libssl-dev xsltproc rsync wget unzip \ 84 | llvm python3-pyelftools libpython3-dev aria2 jq qemu-utils rename \ 85 | libelf-dev libgmp3-dev libmpc-dev libfuse-dev bc autopoint cups-ppdc 86 | sudo -E apt-get -qq autoremove --purge 87 | sudo -E apt-get -qq clean 88 | sudo timedatectl set-timezone "Asia/Shanghai" 89 | 90 | - name: Get current date 91 | id: date 92 | run: | 93 | echo "date=$(date +'%m/%d_%Y_%H/%M')" >> $GITHUB_ENV 94 | echo "date2=$(date +'%m/%d %Y')" >> $GITHUB_ENV 95 | echo "date3=$(date +'%m.%d')" >> $GITHUB_ENV 96 | 97 | - name: Clone source code 98 | run: | 99 | set -v 100 | REPO_BRANCH="24.10-SNAPSHOT" 101 | #REPO_BRANCH="$(curl -gs -H 'Content-Type: application/json' \ 102 | # -H "Authorization: Bearer ${{ secrets.TOKEN_KIDDIN9 }}" \ 103 | # -X POST -d '{ "query": "query {repository(owner: \"openwrt\", name: \"openwrt\") {refs(refPrefix: \"refs/tags/\", last: 4, orderBy: {field: TAG_COMMIT_DATE, direction: ASC}) {edges {node {name}}}}}"}' https://api.github.com/graphql | jq -r '.data.repository.refs.edges[].node.name' | grep v23 | tail -n 1 | sed -e 's/v//')" || true 104 | echo "$REPO_BRANCH" 105 | if [ ${{matrix.target}} == "mipsel_24kc" ]; then 106 | 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 107 | elif [ ${{matrix.target}} == "mips_24kc" ]; then 108 | 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 109 | elif [[ ${{matrix.target}} == "x86_64" ]]; then 110 | 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 111 | elif [[ ${{matrix.target}} == "i386_pentium4" ]]; then 112 | 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 113 | elif [[ ${{matrix.target}} == "aarch64_generic" ]]; then 114 | 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 115 | elif [[ ${{matrix.target}} == "arm_arm1176jzf-s_vfp" ]]; then 116 | 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 117 | elif [[ ${{matrix.target}} == "arm_cortex-a15_neon-vfpv4" ]]; then 118 | 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 119 | elif [[ ${{matrix.target}} == "arm_cortex-a5_vfpv4" ]]; then 120 | 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 121 | elif [[ ${{matrix.target}} == "aarch64_cortex-a72" ]]; then 122 | 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 123 | elif [[ ${{matrix.target}} == "aarch64_cortex-a53" ]]; then 124 | curl -fL -o sdk.tar.zst https://downloads.openwrt.org/releases/$REPO_BRANCH/targets/mediatek/filogic/openwrt-sdk-$REPO_BRANCH-mediatek-filogic_gcc-13.3.0_musl.Linux-x86_64.tar.zst 125 | elif [[ ${{matrix.target}} == "arm_cortex-a7_neon-vfpv4" ]]; then 126 | 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 127 | elif [[ ${{matrix.target}} == "arm_cortex-a9" ]]; then 128 | 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 129 | elif [[ ${{matrix.target}} == "arm_cortex-a9_vfpv3-d16" ]]; then 130 | 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 131 | elif [[ ${{matrix.target}} == "aarch64_cortex-a76" ]]; then 132 | 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 133 | fi 134 | 135 | - name: Free up disk space 136 | env: 137 | DEBIAN_FRONTEND: noninteractive 138 | run: | 139 | sudo mkdir -p -m 777 openwrt /mnt/openwrt/staging_dir /mnt/openwrt/build_dir /mnt/openwrt/bin /mnt/openwrt/dl 140 | ln -sf /mnt/openwrt/staging_dir openwrt/staging_dir 141 | ln -sf /mnt/openwrt/bin openwrt/bin 142 | ln -sf /mnt/openwrt/dl openwrt/dl 143 | [[ "$(echo "${{github.event.action}}" | grep "a-")" ]] && 144 | ln -sf /mnt/openwrt/build_dir openwrt/build_dir 145 | df -hT 146 | 147 | - name: Load custom configuration 148 | run: | 149 | function git_clone_path() { 150 | trap 'rm -rf "$tmpdir"' EXIT 151 | branch="$1" rurl="$2" mv="$3" 152 | [[ "$mv" != "mv" ]] && shift 2 || shift 3 153 | rootdir="$PWD" 154 | tmpdir="$(mktemp -d)" || exit 1 155 | if [ ${#branch} -lt 10 ]; then 156 | git clone -b "$branch" --depth 1 --filter=blob:none --sparse "$rurl" "$tmpdir" 157 | cd "$tmpdir" 158 | else 159 | git clone --filter=blob:none --sparse "$rurl" "$tmpdir" 160 | cd "$tmpdir" 161 | git checkout $branch 162 | fi 163 | if [ "$?" != 0 ]; then 164 | echo "error on $rurl" 165 | exit 1 166 | fi 167 | git sparse-checkout init --cone 168 | git sparse-checkout set $@ 169 | [[ "$mv" != "mv" ]] && cp -rn ./* $rootdir/ || mv -n $@/* $rootdir/$@/ 170 | cd $rootdir 171 | } 172 | export -f git_clone_path 173 | tar -xJf sdk.tar.zst -C openwrt || tar -xf sdk.tar.zst -C openwrt 174 | rm -Rf sdk.tar.zst 175 | cd openwrt 176 | cp -rf ./openwrt-sdk*/. ./ 2>/dev/null || true 177 | cp -rf ./openwrt-sdk*/build_dir/. ./build_dir/ || true 178 | cp -rf ./openwrt-sdk*/staging_dir/. ./staging_dir/ || true 179 | cp -rf ../devices ./ 180 | cp -rf devices/common/. ./ 181 | cp -rf devices/${{matrix.target}}/. ./ 182 | chmod -R +x devices/* || true 183 | sed -i '/ refresh_config();/d' scripts/feeds 184 | ./scripts/feeds update -a 185 | 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" 186 | /bin/bash "devices/common/custom.sh" 187 | if [ -f "devices/${{matrix.target}}/custom.sh" ]; then 188 | /bin/bash "devices/${{matrix.target}}/custom.sh" 189 | fi 190 | 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" 191 | if [ -n "$(ls -A "devices/${{matrix.target}}/patches" 2>/dev/null)" ]; then 192 | 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" 193 | fi 194 | cp -Rf ./diy/* ./ || true 195 | if [ -f "devices/${{matrix.target}}/default-settings" ]; then 196 | echo >> package/*/*/my-default-settings/files/etc/uci-defaults/99-default-settings 197 | cat devices/${{matrix.target}}/default-settings >> package/*/*/my-default-settings/files/etc/uci-defaults/99-default-settings 198 | fi 199 | if [ -f "devices/${{matrix.target}}/.config" ]; then 200 | echo >> .config 201 | cat devices/${{matrix.target}}/.config >> .config 202 | fi 203 | status=$(curl -H "Authorization: token ${{ env.REPO_TOKEN }}" -s "https://api.github.com/repos/kiddin9/kwrt-packages/actions/runs" | jq -r '.workflow_runs[0].status') 204 | while [ "$status" == "in_progress" ];do 205 | sleep 5 206 | status=$(curl -H "Authorization: token ${{ env.REPO_TOKEN }}" -s "https://api.github.com/repos/kiddin9/kwrt-packages/actions/runs" | jq -r '.workflow_runs[0].status') 207 | done 208 | make defconfig 209 | 210 | - name: SSH connection to Actions 211 | uses: kiddin9/debugger-action@master 212 | if: contains(github.event.action, 'ssh') 213 | 214 | - name: Prepare 215 | run: | 216 | cd openwrt 217 | mv -f package/feeds/kiddin9 kiddin9.b 218 | mv -f feeds/packages/lang feeds/packages/lang.b 219 | mv -f feeds/packages feeds/packages.b 220 | mkdir package/feeds/kiddin9 221 | cp -rf kiddin9.b/{wxbase,lib*,rapidjson,nftables,jpcre2,toml11,gn,curl,quickjspp,qt*,libdouble*,libtorrent*,openssl,mbedtls,ppp,cups,nftables} package/feeds/kiddin9/ || true 222 | 223 | - name: Compile the firmware 224 | run: | 225 | cd openwrt 226 | echo -e "$(($(nproc)+1)) thread compile" 227 | fpkg="$(echo "${{github.event.action}}" | sed -e 's/\(aarch64_generic\|x86_64\|i386_pentium4\|arm_arm1176jzf-s_vfp\|aarch64_cortex-a72\|aarch64_cortex-a76\|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')" 228 | echo "FPKG=$fpkg" >> $GITHUB_ENV 229 | during="$(echo "${{github.event.action}}" | grep -o -E ' [0-9][0-9.]*' | sed -e 's/ //')" 230 | function comp(){ 231 | echo "compile $ipk" 232 | cp -rf kiddin9.b/$ipk package/feeds/kiddin9/ 233 | if [[ $ipk != luci-* ]]; then 234 | mv -f feeds/packages.b feeds/packages 235 | mv feeds/packages/lang.b feeds/packages/lang 236 | [ "$(grep "PKG_BUILD_DEPENDS" package/feeds/kiddin9/$ipk/Makefile)" ] || mv feeds/packages/lang/node feeds/packages/lang/node.b 237 | fi 238 | (make -k 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 239 | if [[ $ipk != luci-* ]]; then 240 | mv -f feeds/packages/lang feeds/packages/lang.b 2>/dev/null || true 241 | mv -f feeds/packages/lang.b/node.b feeds/packages/lang.b/node 2>/dev/null || true 242 | mv -f feeds/packages feeds/packages.b 243 | rm -rf package/feeds/kiddin9/$ipk 244 | fi 245 | } 246 | for ipk in $(ls kiddin9.b | grep -E "$fpkg"); do 247 | echo $ipk 248 | if [[ "$fpkg" && ! "$during" ]]; then 249 | comp 250 | else 251 | REPO_TOKEN="${{ env.REPO_TOKEN }}" 252 | for token in "$REPO_TOKEN" "${{ secrets.TOKEN_KIDDIN9 }}" "${{ secrets.TEMPGITHUBK }}"; do 253 | if [ -n "$token" ] && gitdate=$(curl -H "Authorization: token $token" -s "https://api.github.com/repos/kiddin9/kwrt-packages/commits?path=$ipk&per_page=1" | jq -r '.[0].commit.committer.date') && [ "$gitdate" != "null" ]; then 254 | success=true 255 | break 256 | fi 257 | done 258 | if [ "$success" != true ]; then 259 | echo "Failed to get commit date with any token" 260 | exit 1 261 | fi 262 | if [[ "$gitdate" && "$gitdate" != null ]]; then 263 | gitdate="$(date -d "$gitdate" +%s)" 264 | now="$(date -d "$(date)" +%s)" 265 | [ "$during" ] || during="1.05" 266 | durings=`echo "$during*60*60*24" | bc` 267 | if [[ $(($gitdate + ${durings%.*})) -gt $now && $ipk != luci-base && $ipk != luci-mod-* ]]; then 268 | echo "$((($now - $gitdate)/60/60))" || true 269 | echo "$ipk" >> ipk.txt 270 | fi 271 | fi 272 | fi 273 | done 274 | if [ -f ipk.txt ]; then 275 | for ipk in $(cat ipk.txt) 276 | do 277 | comp 278 | done 279 | fi 280 | echo "status=success" >> $GITHUB_ENV 281 | 282 | - name: Check space usage 283 | run: df -hT 284 | 285 | - name: Organize files 286 | id: organize 287 | run: | 288 | mkdir packages 289 | mv -f openwrt/bin/packages/*/kiddin9/* packages || true 290 | mv -f openwrt/.config packages/${{matrix.target}}.config || true 291 | # cp -Rf openwrt/bin/packages/*/packages/python3* packages/ 292 | # cp -Rf openwrt/bin/packages/*/luci/luci-base* packages/ || true 293 | echo "FIRMWARE=$PWD/packages" >> $GITHUB_ENV 294 | Emoji=("🎉" "🤞" "✨" "🎁" "🎈" "🎄" "🎨" "💋" "🍓" "🍕" "🍉" "💐" "🌴" "🚀" "🛸" "🗽" "⛅" "🌈" "🔥" "⛄" "🐶" "🏅" "🦄" "🐤") 295 | echo "EMOJI=${Emoji[$[$RANDOM % ${#Emoji[@]}]]}" >> $GITHUB_ENV 296 | if [[ $(ls -l openwrt/error* | grep "^-" | wc -l) -le 0 ]]; then 297 | echo "NAME=${Emoji[$[$RANDOM % ${#Emoji[@]}]]} ${{ env.date2 }} ${{matrix.target}} ${{ env.EMOJI }}" >> $GITHUB_ENV 298 | else 299 | echo "NAME=❌ ${{ env.date2 }} ${{matrix.target}} ❌" >> $GITHUB_ENV 300 | fi 301 | 302 | - name: Upload firmware to cowtransfer 303 | if: env.UPLOAD_FIRMWARE_TO_COWTRANSFER == 'true' 304 | continue-on-error: true 305 | run: | 306 | curl -fsSL git.io/file-transfer | sh 307 | cowurl=$(./transfer cow --block 2621440 -s --no-progress ${FIRMWARE}) 308 | cowurl=$(echo $cowurl | grep -o -E "https[^ ]*") 309 | echo "COWURL=$cowurl" >> $GITHUB_ENV 310 | echo "Download Link: ${{ env.EMOJI }} $cowurl ${{ env.EMOJI }} 🚀" 311 | 312 | - name: Upload firmware to WeTransfer 313 | if: env.UPLOAD_FIRMWARE_TO_WETRANSFER == 'true' 314 | continue-on-error: true 315 | run: | 316 | curl -fsSL git.io/file-transfer | sh 317 | wetrans=$(./transfer wet -s -p 16 --no-progress ${FIRMWARE}) 318 | wetrans=$(echo $wetrans | grep -o -E "https[^ ]*") 319 | echo "WETRANS=$wetrans" >> $GITHUB_ENV 320 | echo "Download Link: ${{ env.EMOJI }} $wetrans ${{ env.EMOJI }} 🚀" 321 | 322 | - name: Create release 323 | id: create_release 324 | if: env.REPO_TOKEN && env.UPLOAD_FIRMWARE_FOR_RELEASE == 'true' 325 | continue-on-error: true 326 | run: | 327 | echo -e "墙内加速下载 🚀:\n" >> release.txt 328 | echo -e "[腾讯云] (https://dl.openwrt.ai/latest/packages/${{matrix.target}}/ ☁)\n" >> release.txt 329 | [ ${{ env.WETRANS }} ] && echo -e "[WeTransfer] (${{ env.WETRANS }} 🗽)\n" >> release.txt 330 | [ ${{ env.COWURL }} ] && echo -e "[奶牛上传] (${{ env.COWURL }} 🐮)\n" >> release.txt 331 | [ ${{ env.NOTICE }} ] && echo -e "${{ env.NOTICE }}" >> release.txt || true 332 | 333 | - name: Upload packages for release 334 | uses: softprops/action-gh-release@master 335 | continue-on-error: true 336 | if: env.REPO_TOKEN && env.UPLOAD_FIRMWARE_FOR_RELEASE == 'true' 337 | env: 338 | GITHUB_TOKEN: ${{ secrets.TOKEN_KIDDIN9 }} 339 | with: 340 | files: | 341 | packages/* 342 | openwrt/error*.log 343 | name: ${{ env.NAME }} 344 | tag_name: ${{ env.date }}_${{matrix.target}} 345 | body_path: release.txt 346 | 347 | - name: deploy files to server 348 | uses: easingthemes/ssh-deploy@main 349 | if: env.SSH_PRIVATE_KEY && ! contains(github.event.action, 'noser') 350 | with: 351 | SSH_PRIVATE_KEY: ${{ env.SSH_PRIVATE_KEY }} 352 | ARGS: "-avzr" 353 | SOURCE: "packages/" 354 | REMOTE_HOST: ${{ secrets.SERVER_HOST }} 355 | REMOTE_USER: ${{ secrets.SERVER_USERNAME }} 356 | REMOTE_PORT: ${{ secrets.SERVER_PORT }} 357 | TARGET: "/www/wwwroot/dl.openwrt.ai/releases/24.10/packages/${{matrix.target}}/kiddin9/" 358 | SCRIPT_AFTER: | 359 | bash opkg ${{matrix.target}} & 360 | 361 | - name: Upload packages for artifact 362 | uses: actions/upload-artifact@main 363 | continue-on-error: true 364 | if: env.UPLOAD_FIRMWARE_FOR_ARTIFACT == 'true' 365 | with: 366 | name: ${{ env.date3 }} ${{matrix.target}} 367 | path: packages 368 | -------------------------------------------------------------------------------- /.github/workflows/repo-dispatcher.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 Dispatcher 10 | 11 | on: 12 | # push: 13 | # branches: 14 | # - master 15 | schedule: 16 | - cron: 30 15 * * * 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_kiddin9 }} 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: ${{ secrets.TOKEN_KIDDIN9 }} 41 | 42 | - name: Trigger matrix Update 43 | run: | 44 | gitdate=$(curl -H "Authorization: token ${{ env.REPO_TOKEN }}" -s "https://api.github.com/repos/kiddin9/kwrt-packages/commits?&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\|aarch64_cortex-a76\|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/kiddin9/kwrt-packages/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) < $now ]]; then 61 | curl -X POST https://api.github.com/repos/kiddin9/kwrt-packages/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 | curl \ 93 | -X POST https://api.github.com/repos/${{ github.repository }}/dispatches \ 94 | -H "Accept: application/vnd.github.everest-preview+json" \ 95 | -H "Authorization: token ${{ env.REPO_TOKEN }}" \ 96 | -d '{"event_type": "aarch64_cortex-a72 ${{ github.event.inputs.packages }}", "client_payload": {"target": "aarch64_cortex-a72"}}' 97 | curl \ 98 | -X POST https://api.github.com/repos/${{ github.repository }}/dispatches \ 99 | -H "Accept: application/vnd.github.everest-preview+json" \ 100 | -H "Authorization: token ${{ env.REPO_TOKEN }}" \ 101 | -d '{"event_type": "aarch64_cortex-a53 ${{ github.event.inputs.packages }}", "client_payload": {"target": "aarch64_cortex-a53"}}' 102 | curl \ 103 | -X POST https://api.github.com/repos/${{ github.repository }}/dispatches \ 104 | -H "Accept: application/vnd.github.everest-preview+json" \ 105 | -H "Authorization: token ${{ env.REPO_TOKEN }}" \ 106 | -d '{"event_type": "mipsel_24kc ${{ github.event.inputs.packages }}", "client_payload": {"target": "mipsel_24kc"}}' 107 | curl \ 108 | -X POST https://api.github.com/repos/${{ github.repository }}/dispatches \ 109 | -H "Accept: application/vnd.github.everest-preview+json" \ 110 | -H "Authorization: token ${{ env.REPO_TOKEN }}" \ 111 | -d '{"event_type": "mips_24kc ${{ github.event.inputs.packages }}", "client_payload": {"target": "mips_24kc"}}' 112 | curl \ 113 | -X POST https://api.github.com/repos/${{ github.repository }}/dispatches \ 114 | -H "Accept: application/vnd.github.everest-preview+json" \ 115 | -H "Authorization: token ${{ env.REPO_TOKEN }}" \ 116 | -d '{"event_type": "arm_cortex-a7_neon-vfpv4 ${{ github.event.inputs.packages }}", "client_payload": {"target": "arm_cortex-a7_neon-vfpv4"}}' 117 | curl \ 118 | -X POST https://api.github.com/repos/${{ github.repository }}/dispatches \ 119 | -H "Accept: application/vnd.github.everest-preview+json" \ 120 | -H "Authorization: token ${{ env.REPO_TOKEN }}" \ 121 | -d '{"event_type": "arm_cortex-a9 ${{ github.event.inputs.packages }}", "client_payload": {"target": "arm_cortex-a9"}}' 122 | curl \ 123 | -X POST https://api.github.com/repos/${{ github.repository }}/dispatches \ 124 | -H "Accept: application/vnd.github.everest-preview+json" \ 125 | -H "Authorization: token ${{ env.REPO_TOKEN }}" \ 126 | -d '{"event_type": "arm_cortex-a9_vfpv3-d16 ${{ github.event.inputs.packages }}", "client_payload": {"target": "arm_cortex-a9_vfpv3-d16"}}' 127 | curl \ 128 | -X POST https://api.github.com/repos/${{ github.repository }}/dispatches \ 129 | -H "Accept: application/vnd.github.everest-preview+json" \ 130 | -H "Authorization: token ${{ env.REPO_TOKEN }}" \ 131 | -d '{"event_type": "arm_cortex-a15_neon-vfpv4 ${{ github.event.inputs.packages }}", "client_payload": {"target": "arm_cortex-a15_neon-vfpv4"}}' 132 | curl \ 133 | -X POST https://api.github.com/repos/${{ github.repository }}/dispatches \ 134 | -H "Accept: application/vnd.github.everest-preview+json" \ 135 | -H "Authorization: token ${{ env.REPO_TOKEN }}" \ 136 | -d '{"event_type": "aarch64_cortex-a76 ${{ github.event.inputs.packages }}", "client_payload": {"target": "aarch64_cortex-a76"}}' 137 | 138 | - name: Remove old Releases 139 | uses: ophub/delete-releases-workflows@main 140 | continue-on-error: true 141 | with: 142 | delete_releases: true 143 | releases_keep_latest: 50 144 | delete_tags: true 145 | delete_workflows: true 146 | workflows_keep_day: 10 147 | gh_token: ${{ secrets.TOKEN_KIDDIN9 }} 148 | 149 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | openwrt 2 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | 默认只编译24小时内有更新的软件包 2 | 3 | .* 编译所有软件包 4 | 5 | .* 2 编译最近两天内有更新的软件包. 6 | 7 | luci-app 编译所有 luci-app 软件包 8 | 9 | luci-app-(aria2|acme) 编译 luci-app-aria2 和 luci-app-acme 10 | 11 | ^[a-k] 12 | 13 | ^[^a-k] 14 | -------------------------------------------------------------------------------- /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/kiddin9/packages-compile/1a931142ad183623c3f5585686da5048f8d15bb7/devices/aarch64_cortex-a72/.config -------------------------------------------------------------------------------- /devices/aarch64_cortex-a76/.config: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /devices/aarch64_generic/.config: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kiddin9/packages-compile/1a931142ad183623c3f5585686da5048f8d15bb7/devices/aarch64_generic/.config -------------------------------------------------------------------------------- /devices/arm_arm1176jzf-s_vfp/.config: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kiddin9/packages-compile/1a931142ad183623c3f5585686da5048f8d15bb7/devices/arm_arm1176jzf-s_vfp/.config -------------------------------------------------------------------------------- /devices/arm_cortex-a15_neon-vfpv4/.config: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kiddin9/packages-compile/1a931142ad183623c3f5585686da5048f8d15bb7/devices/arm_cortex-a15_neon-vfpv4/.config -------------------------------------------------------------------------------- /devices/arm_cortex-a5_vfpv4/.config: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kiddin9/packages-compile/1a931142ad183623c3f5585686da5048f8d15bb7/devices/arm_cortex-a5_vfpv4/.config -------------------------------------------------------------------------------- /devices/arm_cortex-a7_neon-vfpv4/.config: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kiddin9/packages-compile/1a931142ad183623c3f5585686da5048f8d15bb7/devices/arm_cortex-a7_neon-vfpv4/.config -------------------------------------------------------------------------------- /devices/arm_cortex-a9/.config: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kiddin9/packages-compile/1a931142ad183623c3f5585686da5048f8d15bb7/devices/arm_cortex-a9/.config -------------------------------------------------------------------------------- /devices/arm_cortex-a9_vfpv3-d16/.config: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kiddin9/packages-compile/1a931142ad183623c3f5585686da5048f8d15bb7/devices/arm_cortex-a9_vfpv3-d16/.config -------------------------------------------------------------------------------- /devices/common/.config: -------------------------------------------------------------------------------- 1 | 2 | CONFIG_IPV6=y 3 | 4 | CONFIG_USE_APK=n 5 | 6 | CONFIG_LUCI_CSSTIDY=n 7 | CONFIG_AUTOREBUILD=y 8 | CONFIG_AUTOREMOVE=n 9 | CONFIG_ALL=y 10 | CONFIG_SIGNED_PACKAGES=n 11 | CONFIG_SIGNATURE_CHECK=n 12 | CONFIG_XRAY_PROVIDE_V2RAY=y 13 | CONFIG_PACKAGE_dnsmasq=n 14 | CONFIG_PACKAGE_dnsmasq-full=y 15 | CONFIG_v2ray-plugin_INCLUDE_GOPROXY=n 16 | CONFIG_V2RAY_CORE_COMPRESS_UPX=n 17 | CONFIG_XRAY_CORE_COMPRESS_UPX=n 18 | 19 | CONFIG_BUILD_PATENTED=y 20 | 21 | CONFIG_PACKAGE_luci-app-turboacc=y 22 | CONFIG_PACKAGE_TURBOACC_INCLUDE_OFFLOADING=y 23 | CONFIG_PACKAGE_TURBOACC_INCLUDE_SHORTCUT_FE=y 24 | CONFIG_PACKAGE_TURBOACC_INCLUDE_BBR_CCA=y 25 | CONFIG_PACKAGE_TURBOACC_INCLUDE_DNSFORWARDER=n 26 | CONFIG_PACKAGE_TURBOACC_INCLUDE_DNSPROXY=n 27 | CONFIG_PACKAGE_luci-app-passwall_INCLUDE_v2ray-plugin=n 28 | 29 | # CONFIG_UA2F_CUSTOM_USER_AGENT=y 30 | 31 | CONFIG_NGINX_DAV=y 32 | 33 | CONFIG_PACKAGE_containerd=n 34 | 35 | CONFIG_OPENSSL_OPTIMIZE_SPEED=y 36 | CONFIG_OPENSSL_PREFER_CHACHA_OVER_GCM=y 37 | CONFIG_OPENSSL_ENGINE_BUILTIN=y 38 | CONFIG_OPENSSL_ENGINE_BUILTIN_AFALG=y 39 | CONFIG_OPENSSL_ENGINE_BUILTIN_DEVCRYPTO=y 40 | 41 | CONFIG_COREMARK_OPTIMIZE_O3=y 42 | CONFIG_COREMARK_ENABLE_MULTITHREADING=y 43 | CONFIG_COREMARK_NUMBER_OF_THREADS=16 44 | 45 | CONFIG_LUCI_LANG_zh_Hans=n 46 | 47 | CONFIG_PACKAGE_dcc2-wiwiz-mbedtls=n 48 | CONFIG_PACKAGE_dcc2-wiwiz-nossl=m 49 | CONFIG_PACKAGE_dcc2-wiwiz-openssl=n 50 | CONFIG_PACKAGE_dcc2-wiwiz-wolfssl=n 51 | 52 | CONFIG_PACKAGE_ddns-scripts-cloudflare=n 53 | CONFIG_PACKAGE_ddns-scripts-cnkuai=n 54 | CONFIG_PACKAGE_ddns-scripts-digitalocean=n 55 | CONFIG_PACKAGE_ddns-scripts-dnspod=n 56 | CONFIG_PACKAGE_ddns-scripts-dnspod-v3=n 57 | CONFIG_PACKAGE_ddns-scripts-freedns=n 58 | CONFIG_PACKAGE_ddns-scripts-gandi=n 59 | CONFIG_PACKAGE_ddns-scripts-gcp=n 60 | CONFIG_PACKAGE_ddns-scripts-godaddy=n 61 | CONFIG_PACKAGE_ddns-scripts-huaweicloud=n 62 | CONFIG_PACKAGE_ddns-scripts-luadns=n 63 | CONFIG_PACKAGE_ddns-scripts-noip=n 64 | CONFIG_PACKAGE_ddns-scripts-ns1=n 65 | CONFIG_PACKAGE_ddns-scripts-nsupdate=n 66 | CONFIG_PACKAGE_ddns-scripts-one=n 67 | CONFIG_PACKAGE_ddns-scripts-pdns=n 68 | CONFIG_PACKAGE_ddns-scripts-porkbun=n 69 | CONFIG_PACKAGE_ddns-scripts-route53=n 70 | CONFIG_PACKAGE_ddns-scripts-transip=n 71 | CONFIG_PACKAGE_ddns-scripts-utils=n 72 | 73 | # end of 3. Applications 74 | 75 | CONFIG_BUSYBOX_CUSTOM=y 76 | 77 | CONFIG_IMAGEOPT=y 78 | CONFIG_VERSIONOPT=y 79 | CONFIG_VERSION_REPO="https://dl.openwrt.ai" 80 | CONFIG_VERSION_MANUFACTURER="Kiddin'" 81 | CONFIG_VERSION_FILENAMES=n 82 | CONFIG_VERSION_CODE_FILENAMES=n 83 | -------------------------------------------------------------------------------- /devices/common/custom.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | shopt -s extglob 4 | rm -rf feeds/kiddin9/{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 | rm -rf feeds/packages/libs/libcups 8 | 9 | curl -sfL https://raw.githubusercontent.com/openwrt/packages/master/lang/golang/golang/Makefile -o feeds/packages/lang/golang/golang/Makefile 10 | 11 | for ipk in $(find feeds/kiddin9/* -maxdepth 0 -type d); 12 | do 13 | [[ "$(grep "KernelPackage" "$ipk/Makefile")" && ! "$(grep "BuildPackage" "$ipk/Makefile")" ]] && rm -rf $ipk || true 14 | done 15 | 16 | #<<'COMMENT' 17 | rm -Rf feeds/luci/{applications,collections,protocols,themes,libs,docs,contrib} 18 | rm -Rf feeds/luci/modules/!(luci-base) 19 | rm -Rf feeds/packages/!(lang|libs|devel|utils|net|multimedia) 20 | rm -Rf feeds/packages/libs/gnutls 21 | rm -Rf feeds/packages/multimedia/!(gstreamer1) 22 | rm -Rf feeds/packages/net/!(mosquitto|curl) 23 | rm -Rf feeds/base/package/firmware 24 | rm -Rf feeds/base/package/network/!(services|utils) 25 | rm -Rf feeds/base/package/network/services/!(ppp) 26 | rm -Rf feeds/base/package/system/!(opkg|ubus|uci|ca-certificates) 27 | rm -Rf feeds/base/package/kernel/!(cryptodev-linux) 28 | #COMMENT 29 | 30 | status=$(curl -H "Authorization: token $REPO_TOKEN" -s "https://api.github.com/repos/kiddin9/kwrt-packages/actions/runs" | jq -r '.workflow_runs[0].status') 31 | while [[ "$status" == "in_progress" || "$status" == "queued" ]];do 32 | echo "wait 5s" 33 | sleep 5 34 | status=$(curl -H "Authorization: token $REPO_TOKEN" -s "https://api.github.com/repos/kiddin9/kwrt-packages/actions/runs" | jq -r '.workflow_runs[0].status') 35 | done 36 | 37 | ./scripts/feeds update -a 38 | ./scripts/feeds install -a -p kiddin9 -f 39 | ./scripts/feeds install -a 40 | 41 | rm -rf package/feeds/kiddin9/luci-app-quickstart/root/usr/share/luci/menu.d/luci-app-quickstart.json 42 | 43 | sed -i 's/\(page\|e\)\?.acl_depends.*\?}//' `find package/feeds/kiddin9/luci-*/luasrc/controller/* -name "*.lua"` 44 | # sed -i 's/\/cgi-bin\/\(luci\|cgi-\)/\/\1/g' `find package/feeds/kiddin9/luci-*/ -name "*.lua" -or -name "*.htm*" -or -name "*.js"` & 45 | 46 | sed -i \ 47 | -e "s/+\(luci\|luci-ssl\|uhttpd\)\( \|$\)/\2/" \ 48 | -e "s/+nginx\( \|$\)/+nginx-ssl\1/" \ 49 | -e 's/+python\( \|$\)/+python3/' \ 50 | -e 's?../../lang?$(TOPDIR)/feeds/packages/lang?' \ 51 | -e 's,$(STAGING_DIR_HOST)/bin/upx,upx,' \ 52 | package/feeds/kiddin9/*/Makefile 53 | 54 | cp -f devices/common/.config .config 55 | 56 | sed -i '/WARNING: Makefile/d' scripts/package-metadata.pl 57 | 58 | 59 | cp -f devices/common/po2lmo staging_dir/host/bin/po2lmo 60 | chmod +x staging_dir/host/bin/po2lmo 61 | -------------------------------------------------------------------------------- /devices/common/feeds.conf: -------------------------------------------------------------------------------- 1 | src-git-full 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 kiddin9 https://github.com/kiddin9/kwrt-packages.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/netsupport.patch: -------------------------------------------------------------------------------- 1 | --- a/package/kernel/linux/modules/netsupport.mk 2 | +++ b/package/kernel/linux/modules/netsupport.mk 3 | @@ -1533,7 +1533,6 @@ $(eval $(call KernelPackage,inet-mptcp-diag)) 4 | define KernelPackage/xdp-sockets-diag 5 | SUBMENU:=$(NETWORK_SUPPORT_MENU) 6 | TITLE:=PF_XDP sockets monitoring interface support for ss utility 7 | - DEPENDS:=@KERNEL_XDP_SOCKETS 8 | KCONFIG:=CONFIG_XDP_SOCKETS_DIAG 9 | FILES:=$(LINUX_DIR)/net/xdp/xsk_diag.ko 10 | AUTOLOAD:=$(call AutoLoad,31,xsk_diag) 11 | -------------------------------------------------------------------------------- /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/kiddin9/packages-compile/1a931142ad183623c3f5585686da5048f8d15bb7/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/kiddin9/packages-compile/1a931142ad183623c3f5585686da5048f8d15bb7/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/x86_64/.config: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kiddin9/packages-compile/1a931142ad183623c3f5585686da5048f8d15bb7/devices/x86_64/.config --------------------------------------------------------------------------------