├── .github └── workflows │ └── 360T7.yml ├── LICENSE ├── README.md ├── Shell ├── FileName.sh ├── REVISECONFIG.sh ├── diy-immortalwrt.sh ├── diy2-360T7-hanwckf.sh ├── diy2-360T7-padavanonly.sh ├── diy2-360T7.sh └── diy3-360T7-hanwckf.sh ├── config ├── ImmortalWrt.config ├── hanwckf.config ├── padavanonly.config └── platform.config ├── python └── lzy.py └── rclone.zip /.github/workflows/360T7.yml: -------------------------------------------------------------------------------- 1 | name: build 360T7 Images 2 | 3 | env: 4 | TZ: Asia/Shanghai 5 | DOWNLOAD: 8 6 | NPROC: 0 7 | Vanilla: true 8 | ENVIRONMENT: true 9 | FAST: true 10 | SSH: tru 11 | VanillaUboot: tru 12 | PLUGINver: true 13 | Release: true 14 | LanzhouYun: true 15 | OneDrive: true 16 | 17 | on: 18 | workflow_dispatch: 19 | inputs: 20 | INPUT_TARGET: 21 | description: "Target to build (platform/target/subtarget)" 22 | required: false 23 | default: "all" 24 | push: 25 | paths: 26 | - '.github/workflows/360T7.yml' 27 | schedule: 28 | - cron: '0 4 * * 5' 29 | 30 | jobs: 31 | Config: 32 | name: Generate Config 33 | permissions: write-all 34 | runs-on: ubuntu-latest 35 | outputs: 36 | TARGETS: ${{ steps.find-targets.outputs.TARGETS }} 37 | 38 | steps: 39 | - name: Checkout 40 | uses: actions/checkout@main 41 | 42 | - name: SSH 43 | if: env.SSH == 'true' 44 | uses: appleboy/ssh-action@master 45 | with: 46 | host: ${{ secrets.HOST }} 47 | username: ${{ secrets.USERNAME }} 48 | password: ${{ secrets.PASSWORD }} 49 | port: ${{ secrets.PORT }} 50 | script: whoami 51 | 52 | - name: Find Targets 53 | id: find-targets 54 | env: 55 | INPUT_TARGET: ${{ github.event.inputs.INPUT_TARGET }} 56 | run: | 57 | if [ "$INPUT_TARGET" = "all" ] || [ "$INPUT_TARGET" = "" ]; then 58 | export TARGETS="$(cat config/platform.config)" 59 | else 60 | export TARGETS="$INPUT_TARGET" 61 | fi 62 | echo -e "\033[31m INPUT_TARGET=${INPUT_TARGETT} \033[0m" 63 | echo -e "\033[31m TARGETS=${INPUT_TARGET} \033[0m" 64 | echo -e "\033[31m INPUT_TARGET: \033[0m $INPUT_TARGET" 65 | echo -e "\033[31m TARGETS: $TARGETS \033[0m" 66 | 67 | JSON='{"config": ["default"], "targets":[' 68 | FIRST=1 69 | for TARGET in $TARGETS; do 70 | echo -e "\033[31m FIRST: $FIRST \033[0m" 71 | [[ $FIRST -ne 1 ]] && JSON="$JSON"',' 72 | echo -e "\033[31m JSON1: $JSON \033[0m" 73 | JSON="$JSON"'"'"${TARGET}"'"' 74 | echo -e "\033[31m JSON2: $JSON \033[0m" 75 | FIRST=0 76 | done 77 | JSON="$JSON"']}' 78 | echo $JSON 79 | echo "::set-output name=TARGETS::$JSON" 80 | 81 | Mulit-Images: 82 | name: ${{ matrix.TARGETS }} 83 | needs: [Config] 84 | permissions: write-all 85 | runs-on: ubuntu-latest 86 | strategy: 87 | fail-fast: false 88 | matrix: ${{fromJson(needs.Config.outputs.TARGETS)}} 89 | 90 | steps: 91 | - name: Checkout 92 | uses: actions/checkout@main 93 | 94 | - name: Generate Variables 95 | id: env 96 | run: | 97 | export SERIAL=$(echo ${{ matrix.TARGETS }} | awk -F ',' '{print $1}') 98 | echo "SERIAL=$SERIAL" >> $GITHUB_ENV 99 | export NAME=$(echo ${{ matrix.TARGETS }} | awk -F ',' '{print $2}') 100 | echo "NAME=$NAME" >> $GITHUB_ENV 101 | export CONFIG_FILE=$(echo ${{ matrix.TARGETS }} | awk -F ',' '{print $2}')".config" 102 | echo "CONFIG_FILE=$CONFIG_FILE" >> $GITHUB_ENV 103 | REPO_URL='https://github.com/'$(echo ${{ matrix.TARGETS }} | awk -F ',' '{print $3}') 104 | echo "REPO_URL=$REPO_URL" >> $GITHUB_ENV 105 | export REPO_BRANCH=$(echo ${{ matrix.TARGETS }} | awk -F ',' '{print $4}') 106 | echo "REPO_BRANCH=$REPO_BRANCH" >> $GITHUB_ENV 107 | export DIY_P1_SH=$(echo ${{ matrix.TARGETS }} | awk -F ',' '{print $5}' ) 108 | echo "DIY_P1_SH=$DIY_P1_SH" >> $GITHUB_ENV 109 | export DIY_P2_SH=$(echo ${{ matrix.TARGETS }} | awk -F ',' '{print $6}' ) 110 | echo "DIY_P2_SH=$DIY_P2_SH" >> $GITHUB_ENV 111 | export DIY_P3_SH=$(echo ${{ matrix.TARGETS }} | awk -F ',' '{print $7}') 112 | echo "DIY_P3_SH=$DIY_P3_SH" >> $GITHUB_ENV 113 | 114 | echo -e "\033[31m SERIAL: $SERIAL \033[0m" 115 | echo -e "\033[31m NAME: $NAME \033[0m" 116 | echo -e "\033[31m CONFIG_FILE: $CONFIG_FILE \033[0m" 117 | echo -e "\033[31m REPO_URL: $REPO_URL \033[0m" 118 | echo -e "\033[31m REPO_BRANCH: $REPO_BRANCH \033[0m" 119 | echo -e "\033[31m DIY_P1_SH: $DIY_P1_SH \033[0m" 120 | echo -e "\033[31m DIY_P2_SH: $DIY_P2_SH \033[0m" 121 | echo -e "\033[31m DIY_P3_SH: $DIY_P3_SH \033[0m" 122 | 123 | echo "matrix.TARGETS: ${{ matrix.TARGETS }}" 124 | 125 | - name: 1.Mount onedrive 126 | if: env.OneDrive == 'true' || env.LanzhouYun == 'true' 127 | run: | 128 | curl -s https://rclone.org/install.sh | sudo bash 129 | sudo -E apt-get -qq install unzip 130 | mkdir -p ~/.config/rclone/ 131 | unzip -P ${{ secrets.PASSWD_rclone }} rclone.zip -d ~/.config/rclone/ 132 | sudo mkdir /onedrive5g 133 | sudo chown -R $USER:$GROUPS /onedrive5g 134 | rclone mount one:/ /onedrive5g --daemon --copy-links --no-gzip-encoding --no-check-certificate 135 | df -h 136 | 137 | - name: 1.File Name 138 | run: | 139 | chmod +x Shell/FileName.sh 140 | bash Shell/FileName.sh $GITHUB_ENV 141 | echo "NUM: $NUM" 142 | 143 | - name: 1.DIY_P3_SH 144 | run: | 145 | if [ -f Shell/$DIY_P3_SH ];then cd Shell 146 | chmod +x $DIY_P3_SH ; chmod +x REVISECONFIG.sh 147 | cp $GITHUB_WORKSPACE/config/$CONFIG_FILE . 148 | mv $CONFIG_FILE .config 149 | ./$DIY_P3_SH 150 | mv .config $GITHUB_WORKSPACE/config/$CONFIG_FILE 151 | cat $GITHUB_WORKSPACE/config/$CONFIG_FILE 152 | fi 153 | 154 | - name: Initialization Environment 155 | if: env.ENVIRONMENT == 'true' && env.FAST != 'true' 156 | env: 157 | DEBIAN_FRONTEND: noninteractive 158 | run: | 159 | sudo rm -rf /etc/apt/sources.list.d/* /usr/share/dotnet /usr/local/lib/android /opt/ghc 160 | sudo -E apt-get -qq update 161 | sudo -E apt-get -qq install build-essential clang flex bison g++ gawk gcc-multilib g++-multilib \ 162 | gettext git libncurses5-dev libssl-dev python3-distutils rsync unzip zlib1g-dev file wget qemu-utils 163 | sudo -E apt-get -qq autoremove --purge 164 | sudo -E apt-get -qq clean 165 | sudo timedatectl set-timezone "$TZ" 166 | sudo mkdir -p /workdir 167 | sudo chown $USER:$GROUPS /workdir 168 | 169 | - name: Clone source code 170 | run: | 171 | df -hT $PWD 172 | git clone $REPO_URL -b $REPO_BRANCH openwrt 173 | ln -sf /workdir/openwrt $GITHUB_WORKSPACE/openwrt 174 | 175 | - name: Load custom feeds 176 | run: | 177 | chmod +x Shell/$DIY_P1_SH 178 | cd openwrt 179 | echo '---------------------------------------------------------------' 180 | $GITHUB_WORKSPACE/Shell/$DIY_P1_SH 181 | 182 | - name: Update feeds 183 | run: cd openwrt && ./scripts/feeds update -a 184 | 185 | - name: Install feeds 186 | run: cd openwrt && ./scripts/feeds install -a 187 | 188 | - name: 1.Load custom configuration 189 | run: | 190 | [ -e config/$CONFIG_FILE ] && cp config/$CONFIG_FILE openwrt/ 191 | sudo mkdir -p /workdir 192 | sudo chown $USER:$GROUPS /workdir 193 | ln -sf /workdir/openwrt $GITHUB_WORKSPACE/openwrt 194 | chmod +x Shell/$DIY_P2_SH 195 | chmod +x Shell/REVISECONFIG.sh && cp Shell/REVISECONFIG.sh openwrt/ 196 | cd openwrt 197 | mv $CONFIG_FILE .config 198 | $GITHUB_WORKSPACE/Shell/$DIY_P2_SH 199 | cat .config 200 | 201 | - name: FAST Initialization Environment 202 | working-directory: /workdir 203 | if: env.ENVIRONMENT == 'true' && env.FAST == 'true' 204 | env: 205 | DEBIAN_FRONTEND: noninteractive 206 | run: | 207 | sudo rm -rf /etc/apt/sources.list.d/* /usr/share/dotnet /usr/local/lib/android /opt/ghc 208 | sudo -E apt-get -qq update 209 | sudo -E apt-get -qq install build-essential clang flex bison g++ gawk gcc-multilib g++-multilib \ 210 | gettext git libncurses5-dev libssl-dev python3-distutils rsync unzip zlib1g-dev file wget qemu-utils 211 | sudo -E apt-get -qq autoremove --purge 212 | sudo -E apt-get -qq clean 213 | sudo timedatectl set-timezone "$TZ" 214 | 215 | - name: Download package_1 216 | id: package_1 217 | run: | 218 | cd openwrt && make defconfig && make download -j$DOWNLOAD 219 | find dl -size -1024c -exec ls -l {} \; 220 | find dl -size -1024c -exec rm -f {} \; 221 | 222 | - name: 1.Compile 223 | id: compile_1 224 | run: | 225 | cd openwrt 226 | echo -e "$(nproc) thread compile" 227 | [[ $NPROC -eq 0 ]] && make -j$(nproc) || make -j$NPROC 228 | 229 | - name: 1.Compile failure 230 | if: ${{ failure() }} 231 | id: Compile_failure_1 232 | run: | 233 | cd openwrt && make -j1 V=99 234 | 235 | - name: 1.Check space usage 236 | if: (!cancelled()) 237 | run: df -hT 238 | 239 | - name : 1.Upload BIN 240 | uses: actions/upload-artifact@master 241 | with: 242 | name: ${{ env.BIN }} 243 | path: openwrt/bin/ 244 | if-no-files-found: warn 245 | 246 | - name: 1.Upload factory 247 | uses: actions/upload-artifact@master 248 | with: 249 | name: ${{ env.FACTORY }} 250 | path: openwrt/bin/targets/*/*/*squashfs-factory.bin 251 | if-no-files-found: ignore 252 | 253 | - name: 1.Upload sysupgrade 254 | uses: actions/upload-artifact@master 255 | with: 256 | name: ${{ env.SYSUPGRADE }} 257 | path: openwrt/bin/targets/*/*/*squashfs-sysupgrade.bin 258 | if-no-files-found: ignore 259 | 260 | - name: 1.tar 261 | run: | 262 | mkdir RELEASE 263 | tar zcvf RELEASE/$BIN.tar.gz --exclude=openwrt/bin/targets/*/*/*squashfs-factory.bin --exclude=openwrt/bin/targets/*/*/*squashfs-sysupgrade.bin openwrt/bin/ || echo "$NAME is no directory BIN" 264 | tar zcvf RELEASE/$FACTORY.tar.gz openwrt/bin/targets/*/*/*squashfs-factory.bin || echo "$NAME is no factory.bin" 265 | tar zcvf RELEASE/$SYSUPGRADE.tar.gz openwrt/bin/targets/*/*/*squashfs-sysupgrade.bin || echo "ERROR: $NAME is no sysupgrade" 266 | 267 | #----------------------------------------------------------------------- 268 | - name: 0. build Vanilla Uboot 269 | if: env.VanillaUboot == 'true' && !failure() && !cancelled() 270 | run: | 271 | rm -rf openwrt/bin openwrt/.config 272 | cp config/$CONFIG_FILE openwrt/ 273 | cd openwrt 274 | mv $CONFIG_FILE .config 275 | echo "修改前" 276 | cat .config 277 | 278 | - name: 0.修改后config 279 | if: env.VanillaUboot == 'true' && !failure() && !cancelled() 280 | run: | 281 | cd openwrt && ./REVISECONFIG.sh $NAME 282 | echo "修改后" 283 | cat .config 284 | 285 | - name: 0.Download package 286 | if: env.VanillaUboot == 'true' && !failure() && !cancelled() 287 | id: package0 288 | run: | 289 | cd openwrt && rm -rf tmp 290 | make defconfig && make download -j$DOWNLOAD 291 | find dl -size -1024c -exec ls -l {} \; 292 | find dl -size -1024c -exec rm -f {} \; 293 | 294 | - name: 0.Compile 295 | if: env.VanillaUboot == 'true' && !failure() && !cancelled() 296 | id: compile_0 297 | run: | 298 | cd openwrt 299 | echo -e "$(nproc) thread compile" 300 | [[ $NPROC -eq 0 ]] && make -j$(nproc) || make -j$NPROC 301 | 302 | - name: 0.Compile failure 303 | if: env.VanillaUboot == 'true' && env.PLUGINver == 'true' && failure() 304 | id: Compile_failure_0 305 | run: | 306 | cd openwrt && make -j1 V=99 307 | 308 | 309 | - name : 0.Upload Vanilla BIN stock(非108M 原厂Uboot) 310 | if: env.VanillaUboot == 'true' && !failure() && !cancelled() 311 | uses: actions/upload-artifact@master 312 | with: 313 | name: ${{ env.VanillaBIN }} 314 | path: openwrt/bin/ 315 | if-no-files-found: warn 316 | 317 | - name : 0.Upload Vanilla factory(非108M 原厂Uboot) 318 | if: env.VanillaUboot == 'true' && !failure() && !cancelled() 319 | uses: actions/upload-artifact@master 320 | with: 321 | name: ${{ env.VanillaFACTORY }} 322 | path: openwrt/bin/targets/*/*/*squashfs-factory.bin 323 | if-no-files-found: ignore 324 | 325 | - name : 0.Upload Vanilla sysupgrade(非108M 原厂Uboot) 326 | if: env.VanillaUboot == 'true' && !failure() && !cancelled() 327 | uses: actions/upload-artifact@master 328 | with: 329 | name: ${{ env.VanillaSYSUPGRADE }} 330 | path: openwrt/bin/targets/*/*/*squashfs-sysupgrade.bin 331 | if-no-files-found: ignore 332 | 333 | - name: 0.tar 334 | if: env.VanillaUboot == 'true' && !failure() && !cancelled() 335 | run: | 336 | tar zcvf RELEASE/$VanillaBIN.tar.gz --exclude=openwrt/bin/targets/*/*/*squashfs-factory.bin --exclude=openwrt/bin/targets/*/*/*squashfs-sysupgrade.bin openwrt/bin/ || echo "$NAME is no directory BIN" 337 | tar zcvf RELEASE/$VanillaFACTORY.tar.gz openwrt/bin/targets/*/*/*squashfs-factory.bin || echo "$NAME is no factory.bin" 338 | tar zcvf RELEASE/$VanillaSYSUPGRADE.tar.gz openwrt/bin/targets/*/*/*squashfs-sysupgrade.bin || echo "ERROR: $NAME is no sysupgrade" 339 | 340 | #----------------------------------------------------------------------- 341 | - name: 2. 108M ttyd filetransfer 342 | if: env.PLUGINver == 'true' && !failure() && !cancelled() 343 | run: | 344 | rm -rf openwrt/bin openwrt/.config 345 | cp config/$CONFIG_FILE openwrt/ 346 | cd openwrt && mv $CONFIG_FILE .config 347 | echo "修改前" 348 | cat .config 349 | 350 | - name: 2.修改后config 351 | if: env.PLUGINver == 'true' && !failure() && !cancelled() 352 | run: | 353 | cd openwrt 354 | ./REVISECONFIG.sh ttyd filetransfer 355 | echo "修改后" 356 | cat .config 357 | 358 | - name: 2.Download package 359 | if: env.PLUGINver == 'true' && !failure() && !cancelled() 360 | id: package2 361 | run: | 362 | cd openwrt && rm -rf tmp 363 | make defconfig && make download -j$DOWNLOAD 364 | find dl -size -1024c -exec ls -l {} \; 365 | find dl -size -1024c -exec rm -f {} \; 366 | 367 | - name: 2.Compile 368 | if: env.PLUGINver == 'true' && !failure() && !cancelled() 369 | id: compile_2 370 | run: | 371 | cd openwrt 372 | echo -e "$(nproc) thread compile" 373 | [[ $NPROC -eq 0 ]] && make -j$(nproc) || make -j$NPROC 374 | 375 | - name: 2.Compile failure 376 | if: env.PLUGINver == 'true' && failure() 377 | id: Compile_failure_2 378 | run: | 379 | cd openwrt && make -j1 V=99 380 | 381 | 382 | - name : 2.Upload Vanilla BIN 383 | if: env.PLUGINver == 'true' && !failure() && !cancelled() 384 | uses: actions/upload-artifact@master 385 | with: 386 | name: ${{ env.mini_BIN }} 387 | path: openwrt/bin/ 388 | if-no-files-found: warn 389 | 390 | - name : 2.Upload factory 391 | if: env.PLUGINver == 'true' && !failure() && !cancelled() 392 | uses: actions/upload-artifact@master 393 | with: 394 | name: ${{ env.mini_FACTORY }} 395 | path: openwrt/bin/targets/*/*/*squashfs-factory.bin 396 | if-no-files-found: ignore 397 | 398 | - name : 2.Upload sysupgrade 399 | if: env.PLUGINver == 'true' && !failure() && !cancelled() 400 | uses: actions/upload-artifact@master 401 | with: 402 | name: ${{ env.mini_SYSUPGRADE }} 403 | path: openwrt/bin/targets/*/*/*squashfs-sysupgrade.bin 404 | if-no-files-found: ignore 405 | 406 | - name: 2.tar 407 | if: env.PLUGINver == 'true' && !failure() && !cancelled() 408 | run: | 409 | tar zcvf RELEASE/$mini_BIN.tar.gz --exclude=openwrt/bin/targets/*/*/*squashfs-factory.bin --exclude=openwrt/bin/targets/*/*/*squashfs-sysupgrade.bin openwrt/bin/ || echo "$NAME is no directory BIN" 410 | tar zcvf RELEASE/$mini_FACTORY.tar.gz openwrt/bin/targets/*/*/*squashfs-factory.bin || echo "$NAME is no factory.bin" 411 | tar zcvf RELEASE/$mini_SYSUPGRADE.tar.gz openwrt/bin/targets/*/*/*squashfs-sysupgrade.bin || echo "ERROR: $NAME is no sysupgrade" 412 | 413 | #----------------------------------------------------------------------- 414 | - name: 3.108M ssrplus 415 | if: env.PLUGINver == 'true' && !failure() && !cancelled() 416 | run: | 417 | rm -rf openwrt/bin openwrt/.config 418 | cp config/$CONFIG_FILE openwrt/ 419 | cd openwrt && mv $CONFIG_FILE .config 420 | echo "修改前" 421 | cat .config 422 | 423 | - name: 3.修改后config 424 | if: env.PLUGINver == 'true' && !failure() && !cancelled() 425 | run: | 426 | cd openwrt 427 | ./REVISECONFIG.sh ttyd filetransfer ssr-plus 428 | cat .config 429 | 430 | - name: 3.Download package 431 | if: env.PLUGINver == 'true' && !failure() && !cancelled() 432 | id: package_3 433 | run: | 434 | cd openwrt && rm -rf tmp 435 | make defconfig && make download -j$DOWNLOAD 436 | find dl -size -1024c -exec ls -l {} \; 437 | find dl -size -1024c -exec rm -f {} \; 438 | 439 | - name: 3.Compile 440 | if: env.PLUGINver == 'true' && !failure() && !cancelled() 441 | id: compile_3 442 | run: | 443 | cd openwrt 444 | echo -e "$(nproc) thread compile" 445 | [[ $NPROC -eq 0 ]] && make -j$(nproc) || make -j$NPROC 446 | 447 | - name: 3.Compile failure 448 | if: env.PLUGINver == 'true' && failure() 449 | id: Compile_failure_3 450 | run: | 451 | cd openwrt && make -j1 V=99 452 | 453 | 454 | - name : 3.Upload Vanilla BIN 455 | if: env.PLUGINver == 'true' && !failure() && !cancelled() 456 | uses: actions/upload-artifact@master 457 | with: 458 | name: ${{ env.ssrplus_BIN }} 459 | path: openwrt/bin/ 460 | if-no-files-found: warn 461 | 462 | - name : 3.Upload factory 463 | if: env.PLUGINver == 'true' && !failure() && !cancelled() 464 | uses: actions/upload-artifact@master 465 | with: 466 | name: ${{ env.ssrplus_FACTORY }} 467 | path: openwrt/bin/targets/*/*/*squashfs-factory.bin 468 | if-no-files-found: ignore 469 | 470 | - name : 3.Upload sysupgrade 471 | if: env.PLUGINver == 'true' && !failure() && !cancelled() 472 | uses: actions/upload-artifact@master 473 | with: 474 | name: ${{ env.ssrplus_SYSUPGRADE }} 475 | path: openwrt/bin/targets/*/*/*squashfs-sysupgrade.bin 476 | if-no-files-found: ignore 477 | 478 | - name: 3.tar 479 | if: env.PLUGINver == 'true' && !failure() && !cancelled() 480 | run: | 481 | tar zcvf RELEASE/$ssrplus_BIN.tar.gz --exclude=openwrt/bin/targets/*/*/*squashfs-factory.bin --exclude=openwrt/bin/targets/*/*/*squashfs-sysupgrade.bin openwrt/bin/ || echo "$NAME is no directory BIN" 482 | tar zcvf RELEASE/$ssrplus_FACTORY.tar.gz openwrt/bin/targets/*/*/*squashfs-factory.bin || echo "$NAME is no factory.bin" 483 | tar zcvf RELEASE/$ssrplus_SYSUPGRADE.tar.gz openwrt/bin/targets/*/*/*squashfs-sysupgrade.bin || echo "ERROR: $NAME is no sysupgrade" 484 | 485 | #----------------------------------------------------------------------- 486 | - name: 4.108M passwall 487 | if: env.PLUGINver == 'true' && !failure() && !cancelled() 488 | run: | 489 | rm -rf openwrt/bin openwrt/.config 490 | cp config/$CONFIG_FILE openwrt/ 491 | cd openwrt && mv $CONFIG_FILE .config 492 | echo "修改前" 493 | cat .config 494 | 495 | - name: 4.修改后config 496 | if: env.PLUGINver == 'true' && !failure() && !cancelled() 497 | run: | 498 | cd openwrt 499 | ./REVISECONFIG.sh ttyd filetransfer passwall 500 | cat .config 501 | 502 | - name: 4.Download package 503 | if: env.PLUGINver == 'true' && !failure() && !cancelled() 504 | id: package_4 505 | run: | 506 | cd openwrt && rm -rf tmp 507 | make defconfig && make download -j$DOWNLOAD 508 | find dl -size -1024c -exec ls -l {} \; 509 | find dl -size -1024c -exec rm -f {} \; 510 | 511 | - name: 4.Compile 512 | if: env.PLUGINver == 'true' && !failure() && !cancelled() 513 | id: compile_4 514 | run: | 515 | cd openwrt 516 | echo -e "$(nproc) thread compile" 517 | [[ $NPROC -eq 0 ]] && make -j$(nproc) || make -j$NPROC 518 | 519 | - name: 4.Compile failure 520 | if: env.PLUGINver == 'true' && failure() 521 | id: Compile_failure_4 522 | run: | 523 | cd openwrt && make -j1 V=99 524 | 525 | 526 | - name : 4.Upload Vanilla BIN 527 | if: env.PLUGINver == 'true' && !failure() && !cancelled() 528 | uses: actions/upload-artifact@master 529 | with: 530 | name: ${{ env.passwall_BIN }} 531 | path: openwrt/bin/ 532 | if-no-files-found: warn 533 | 534 | - name : 4.Upload factory 535 | if: env.PLUGINver == 'true' && !failure() && !cancelled() 536 | uses: actions/upload-artifact@master 537 | with: 538 | name: ${{ env.passwall_FACTORY }} 539 | path: openwrt/bin/targets/*/*/*squashfs-factory.bin 540 | if-no-files-found: ignore 541 | 542 | - name : 4.Upload sysupgrade 543 | if: env.PLUGINver == 'true' && !failure() && !cancelled() 544 | uses: actions/upload-artifact@master 545 | with: 546 | name: ${{ env.passwall_SYSUPGRADE }} 547 | path: openwrt/bin/targets/*/*/*squashfs-sysupgrade.bin 548 | if-no-files-found: ignore 549 | 550 | - name: 4.tar 551 | if: env.PLUGINver == 'true' && !failure() && !cancelled() 552 | run: | 553 | tar zcvf RELEASE/$passwall_BIN.tar.gz --exclude=openwrt/bin/targets/*/*/*squashfs-factory.bin --exclude=openwrt/bin/targets/*/*/*squashfs-sysupgrade.bin openwrt/bin/ || echo "$NAME is no directory BIN" 554 | tar zcvf RELEASE/$passwall_FACTORY.tar.gz openwrt/bin/targets/*/*/*squashfs-factory.bin || echo "$NAME is no factory.bin" 555 | tar zcvf RELEASE/$passwall_SYSUPGRADE.tar.gz openwrt/bin/targets/*/*/*squashfs-sysupgrade.bin || echo "ERROR: $NAME is no sysupgrade" 556 | 557 | #----------------------------------------------------------------------- 558 | - name: 5.108M openclash 559 | if: env.PLUGINver == 'true' && !failure() && !cancelled() 560 | run: | 561 | rm -rf openwrt/bin openwrt/.config 562 | cp config/$CONFIG_FILE openwrt/ 563 | cd openwrt && mv $CONFIG_FILE .config 564 | echo "修改前" 565 | cat .config 566 | 567 | - name: 5.修改后config 568 | if: env.PLUGINver == 'true' && !failure() && !cancelled() 569 | run: | 570 | cd openwrt 571 | ./REVISECONFIG.sh ttyd filetransfer openclash 572 | cat .config 573 | 574 | - name: 5.Download package 575 | if: env.PLUGINver == 'true' && !failure() && !cancelled() 576 | id: package_5 577 | run: | 578 | cd openwrt && rm -rf tmp 579 | make defconfig && make download -j$DOWNLOAD 580 | find dl -size -1024c -exec ls -l {} \; 581 | find dl -size -1024c -exec rm -f {} \; 582 | 583 | - name: 5.Compile 584 | if: env.PLUGINver == 'true' && !failure() && !cancelled() 585 | id: compile_5 586 | run: | 587 | cd openwrt 588 | echo -e "$(nproc) thread compile" 589 | [[ $NPROC -eq 0 ]] && make -j$(nproc) || make -j$NPROC 590 | 591 | - name: 5.Compile failure 592 | if: env.PLUGINver == 'true' && failure() 593 | id: Compile_failure_5 594 | run: | 595 | cd openwrt && make -j1 V=99 596 | 597 | 598 | - name : 5.Upload Vanilla BIN 599 | if: env.PLUGINver == 'true' && !failure() && !cancelled() 600 | uses: actions/upload-artifact@master 601 | with: 602 | name: ${{ env.openclash_BIN }} 603 | path: openwrt/bin/ 604 | if-no-files-found: warn 605 | 606 | - name : 5.Upload factory 607 | if: env.PLUGINver == 'true' && !failure() && !cancelled() 608 | uses: actions/upload-artifact@master 609 | with: 610 | name: ${{ env.openclash_FACTORY }} 611 | path: openwrt/bin/targets/*/*/*squashfs-factory.bin 612 | if-no-files-found: ignore 613 | 614 | - name : 5.Upload sysupgrade 615 | if: env.PLUGINver == 'true' && !failure() && !cancelled() 616 | uses: actions/upload-artifact@master 617 | with: 618 | name: ${{ env.openclash_SYSUPGRADE }} 619 | path: openwrt/bin/targets/*/*/*squashfs-sysupgrade.bin 620 | if-no-files-found: ignore 621 | 622 | - name: 5.tar 623 | if: env.PLUGINver == 'true' && !failure() && !cancelled() 624 | run: | 625 | tar zcvf RELEASE/$openclash_BIN.tar.gz --exclude=openwrt/bin/targets/*/*/*squashfs-factory.bin --exclude=openwrt/bin/targets/*/*/*squashfs-sysupgrade.bin openwrt/bin/ || echo "$NAME is no directory BIN" 626 | tar zcvf RELEASE/$openclash_FACTORY.tar.gz openwrt/bin/targets/*/*/*squashfs-factory.bin || echo "$NAME is no factory.bin" 627 | tar zcvf RELEASE/$openclash_SYSUPGRADE.tar.gz openwrt/bin/targets/*/*/*squashfs-sysupgrade.bin || echo "ERROR: $NAME is no sysupgrade" 628 | 629 | #----------------------------------------------------------------------- 630 | - name: 6.108M openclash ssrplus passwall 631 | if: env.PLUGINver == 'true' && !failure() && !cancelled() 632 | run: | 633 | rm -rf openwrt/bin openwrt/.config 634 | cp config/$CONFIG_FILE openwrt/ 635 | cd openwrt && mv $CONFIG_FILE .config 636 | echo "修改前" 637 | cat .config 638 | 639 | - name: 6.修改后config 640 | if: env.PLUGINver == 'true' && !failure() && !cancelled() 641 | run: | 642 | cd openwrt 643 | ./REVISECONFIG.sh ttyd filetransfer openclash ssr-plus passwall 644 | cat .config 645 | 646 | - name: 6.Download package 647 | if: env.PLUGINver == 'true' && !failure() && !cancelled() 648 | id: package_6 649 | run: | 650 | cd openwrt && rm -rf tmp 651 | make defconfig && make download -j$DOWNLOAD 652 | find dl -size -1024c -exec ls -l {} \; 653 | find dl -size -1024c -exec rm -f {} \; 654 | 655 | - name: 6.Compile 656 | if: env.PLUGINver == 'true' && !failure() && !cancelled() 657 | id: compile_6 658 | run: | 659 | cd openwrt 660 | echo -e "$(nproc) thread compile" 661 | [[ $NPROC -eq 0 ]] && make -j$(nproc) || make -j$NPROC 662 | 663 | - name: 6.Compile failure 664 | if: env.PLUGINver == 'true' && failure() 665 | id: Compile_failure_6 666 | run: | 667 | cd openwrt && make -j1 V=99 668 | 669 | - name : 6.Upload Vanilla BIN 670 | if: env.PLUGINver == 'true' && !failure() && !cancelled() 671 | uses: actions/upload-artifact@master 672 | with: 673 | name: ${{ env.openclash_ssrplus_passwall_BIN }} 674 | path: openwrt/bin/ 675 | if-no-files-found: warn 676 | 677 | - name : 6.Upload factory 678 | if: env.PLUGINver == 'true' && !failure() && !cancelled() 679 | uses: actions/upload-artifact@master 680 | with: 681 | name: ${{ env.openclash_ssrplus_passwall_FACTORY }} 682 | path: openwrt/bin/targets/*/*/*squashfs-factory.bin 683 | if-no-files-found: ignore 684 | 685 | - name : 6.Upload sysupgrade 686 | if: env.PLUGINver == 'true' && !failure() && !cancelled() 687 | uses: actions/upload-artifact@master 688 | with: 689 | name: ${{ env.openclash_ssrplus_passwall_SYSUPGRADE }} 690 | path: openwrt/bin/targets/*/*/*squashfs-sysupgrade.bin 691 | if-no-files-found: ignore 692 | 693 | - name: 6.tar 694 | if: env.PLUGINver == 'true' && !failure() && !cancelled() 695 | run: | 696 | tar zcvf RELEASE/$openclash_ssrplus_passwall_BIN.tar.gz --exclude=openwrt/bin/targets/*/*/*squashfs-factory.bin --exclude=openwrt/bin/targets/*/*/*squashfs-sysupgrade.bin openwrt/bin/ || echo "$NAME is no directory BIN" 697 | tar zcvf RELEASE/$openclash_ssrplus_passwall_FACTORY.tar.gz openwrt/bin/targets/*/*/*squashfs-factory.bin || echo "$NAME is no factory.bin" 698 | tar zcvf RELEASE/$openclash_ssrplus_passwall_SYSUPGRADE.tar.gz openwrt/bin/targets/*/*/*squashfs-sysupgrade.bin || echo "ERROR: $NAME is no sysupgrade" 699 | 700 | #----------------------------------------------------------------------- 701 | - name: 0.OneDrive Try 702 | id: UPload1 703 | if: env.OneDrive == 'true' && !failure() && !cancelled() 704 | run: | 705 | times=0 706 | while true;do up_status=`cat /onedrive5g/log/log.txt` || up_status=1 707 | if [[ $up_status != 0 ]];then echo "log is not 0, The OneDrive is being used " ; echo 'sleep 2m...' ; sleep 2m; times=$(($times+1)) 708 | if [[ $times -ge 10 ]];then echo "超过30分钟" ; echo "0" > /onedrive5g/log/log.txt ; fi 709 | else echo "up_status = $up_status"; echo "1" > /onedrive5g/log/log.txt ; break ; fi ; done 710 | echo "::set-output name=status::success" 711 | 712 | - name: 0.UPload1 start OneDrive 713 | id: UPload1_start 714 | if: env.OneDrive == 'true' && steps.UPload1.outputs.status == 'success' && !failure() && !cancelled() 715 | run: | 716 | logname=$(date +"%Y.%m.%d_%H.%M") 717 | cp /onedrive5g/log/360T7_backup.log . 718 | rclone copy -P --transfers=4 --ignore-errors --log-file=new.log -v RELEASE/ one:360T7/ && echo '上传成功' 719 | cat new.log 360T7_backup.log > /onedrive5g/log/360T7_backup.log 720 | up_status=`cat /onedrive5g/log/log.txt` 721 | echo "up_status: $up_status" 722 | echo "0" > /onedrive5g/log/log.txt 723 | echo "up_status: $up_status" 724 | 725 | - name: 0.UPload Over 726 | if: env.OneDrive == 'true' && steps.UPload1_start.outputs.status == 'success' && failure() 727 | run: | 728 | echo "0" > /onedrive5g/log/log.txt 729 | up_status=`cat /onedrive5g/log/log.txt` 730 | echo "up_status: $up_status" 731 | 732 | - name: 1.Generate release tag1 latest 733 | if: env.Release == 'true' && !failure() && !cancelled() 734 | id: tag1 735 | run: | 736 | echo "::set-output name=release_tag1::latest" 737 | touch release.txt 738 | echo "🔗 [Cowtransfer] " >> release.txt 739 | echo "::set-output name=status::success" 740 | 741 | - name: 1.Upload firmware to release 742 | uses: softprops/action-gh-release@v1 743 | if: steps.tag1.outputs.status == 'success' && !cancelled() && env.Release == 'true' 744 | env: 745 | GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} 746 | with: 747 | tag_name: ${{ steps.tag1.outputs.release_tag1 }} 748 | body_path: release.txt 749 | files: | 750 | RELEASE/* 751 | 752 | - name: 2.LZY Environment 753 | id: LZY_start 754 | if: env.LanzhouYun == 'true' && !failure() && !cancelled() 755 | run: | 756 | git clone https://github.com/weigefenxiang/LanZouCloud-API && cd LanZouCloud-API 757 | sudo pip install -U pip 758 | sudo pip install -r requirements.txt 759 | sudo python3 setup.py install 760 | sudo apt install rename 761 | cd $GITHUB_WORKSPACE/RELEASE 762 | export RELEASE_dir=`pwd` 763 | echo "RELEASE_dir=$RELEASE_dir" >> $GITHUB_ENV 764 | rename "s/openclash/猫/" * 765 | rename "s/ssrplus/师夷/" * 766 | rename "s/passwall/pa斯沃/" * 767 | rename "s/-360T7//" * 768 | sudo mv *BIN.tar.gz /tmp/ 769 | echo "::set-output name=status::success" 770 | 771 | - name: 2.UPload LanzhouYun 772 | id: LZY_UPload 773 | if: env.LanzhouYun == 'true' && !failure() && !cancelled() 774 | run: | 775 | times=0 776 | while true;do LZYstatus=`cat /onedrive5g/log/Lanzhou_log.txt` || echo "LZYstatus 获取失败" 777 | if [[ $LZYstatus == 0 ]];then echo "LZY 暂未被开启" && echo "LZYstatus: $LZYstatus" ; LZYstatus=$(($LZYstatus+1)) ; echo $LZYstatus > /onedrive5g/log/Lanzhou_log.txt 778 | python3 python/lzy.py ${{ secrets.LZ_YLOGIN }} ${{ secrets.LZ_PHPDISK }} \ 779 | 'HISTORY' 'latest' $RELEASE_dir 0 780 | LZYstatus=$(($LZYstatus+1)) ; echo $LZYstatus > /onedrive5g/log/Lanzhou_log.txt ; 781 | break 782 | elif [[ $(($LZYstatus%2)) == 0 ]];then echo "LZY 已开启,直接上传" && echo "LZYstatus: $LZYstatus" ; LZYstatus=$(($LZYstatus+1)) ; echo $LZYstatus > /onedrive5g/log/Lanzhou_log.txt ; 783 | python3 python/lzy.py ${{ secrets.LZ_YLOGIN }} ${{ secrets.LZ_PHPDISK }} \ 784 | 'HISTORY' 'latest' $RELEASE_dir 1 785 | LZYstatus=$(($LZYstatus+1)) ; 786 | if [[ $LZYstatus == 6 ]];then echo 0 > /onedrive5g/log/Lanzhou_log.txt && echo -e "LZYstatus:$LZYstatus 成功初始化\nLanzhou_log=0" ; else echo $LZYstatus > /onedrive5g/log/Lanzhou_log.txt ; fi 787 | break 788 | elif [[ $(($LZYstatus%2)) == 1 ]];then echo "LZY is being used " && echo "LZYstatus: $LZYstatus" ; echo 'sleep 20s...' ; sleep 20s ; times=$(($times+1)) 789 | if [[ $times -ge 20 ]];then echo "超时 400s" ; LZYstatus=$(($LZYstatus+1)) ; echo $LZYstatus > /onedrive5g/log/Lanzhou_log.txt ; fi 790 | else echo "LZYstatus 获取失败" ; echo "sleep 20s" ; sleep 20s 791 | fi ; done 792 | export LZYstatus=$LZYstatus 793 | echo "LZYstatus=$LZYstatus" >> $GITHUB_ENV 794 | echo "::set-output name=status::success" 795 | 796 | - name: 2.蓝奏云同步成功 797 | if: env.LanzhouYun == 'true' && steps.LZY_UPload.outputs.status == 'success' 798 | run: | 799 | echo "蓝奏云同步成功" 800 | 801 | - name: 2.LanzhouYun failer 802 | if: env.LanzhouYun == 'true' && steps.LZY_start.outputs.status == 'success' && failure() 803 | run: | 804 | if [ $LZYstatus -ge 4 ];then echo 0 > /onedrive5g/log/Lanzhou_log.txt ; 805 | elif [[ $(($LZYstatus%2)) == 1 ]];then LZYstatus=$(($LZYstatus+1)) ; echo $LZYstatus > /onedrive5g/log/Lanzhou_log.txt ; 806 | else echo "LZYstatus:$LZYstatus 正常退出" ; fi 807 | 808 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2023 @weigefenxiang 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | 2 | 3 | ## 鸣谢 4 | 5 | weigefenxiang/360T7 (本项目基于此项目): 6 | 7 | [SuLingGG/OpenWrt-Docker](https://github.com/SuLingGG/OpenWrt-Docker) 8 | 9 | [P3TERX/Actions-OpenWrt](https://github.com/P3TERX/Actions-OpenWrt) 10 | 11 | [zaxtyson/LanZouCloud-API](https://github.com/zaxtyson/LanZouCloud-API) 12 | -------------------------------------------------------------------------------- /Shell/FileName.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | # 3 | # Copyright (c) 2023 @weigefenxiang 4 | # 5 | 6 | NUM=0 7 | GITHUB_ENV=$1 8 | #1.0 stock(非108M 原厂Uboot) 9 | export VanillaFILENAME=$SERIAL'.'$NUM'-360T7-'$NAME 10 | export VanillaBIN=$VanillaFILENAME'-BIN' 11 | export VanillaFACTORY=$VanillaFILENAME'-factory' 12 | export VanillaSYSUPGRADE=$VanillaFILENAME'-sysupgrade' 13 | 14 | echo "VanillaBIN=$VanillaBIN" >> $GITHUB_ENV 15 | echo "VanillaFACTORY=$VanillaFACTORY" >> $GITHUB_ENV 16 | echo "VanillaSYSUPGRADE=$VanillaSYSUPGRADE" >> $GITHUB_ENV 17 | 18 | export NUM=$((NUM+1)) 19 | 20 | #1.1 108M 21 | export FILENAME=$SERIAL'.'$NUM'-360T7-108M-'$NAME 22 | export BIN=$FILENAME'-BIN' 23 | export FACTORY=$FILENAME'-factory' 24 | export SYSUPGRADE=$FILENAME'-sysupgrade' 25 | 26 | #echo "FILENAME=$FILENAME" >> $GITHUB_ENV 27 | echo "BIN=$BIN" >> $GITHUB_ENV 28 | echo "FACTORY=$FACTORY" >> $GITHUB_ENV 29 | echo "SYSUPGRADE=$SYSUPGRADE" >> $GITHUB_ENV 30 | export NUM=$((NUM+1)) 31 | 32 | #1.2 ttyd+filetransfer 33 | export mini_NAME=$SERIAL'.'$NUM'-360T7-108M-'$NAME'-mini' 34 | export mini_BIN=$mini_NAME'-BIN' 35 | export mini_FACTORY=$mini_NAME'-factory' 36 | export mini_SYSUPGRADE=$mini_NAME'-sysupgrade' 37 | 38 | # echo "mini_NAME=${mini_NAME}" >> $GITHUB_ENV 39 | echo "mini_BIN=${mini_BIN}" >> $GITHUB_ENV 40 | echo "mini_FACTORY=${mini_FACTORY}" >> $GITHUB_ENV 41 | echo "mini_SYSUPGRADE=${mini_SYSUPGRADE}" >> $GITHUB_ENV 42 | export NUM=$((NUM+1)) 43 | 44 | #1.3 ssrplus 45 | export ssrplus_NAME=$SERIAL'.'$NUM'-360T7-108M-'$NAME'-ssrplus' 46 | export ssrplus_BIN=$ssrplus_NAME'-BIN' 47 | export ssrplus_FACTORY=$ssrplus_NAME'-factory' 48 | export ssrplus_SYSUPGRADE=$ssrplus_NAME'-sysupgrade' 49 | 50 | echo "ssrplus_BIN=${ssrplus_BIN}" >> $GITHUB_ENV 51 | echo "ssrplus_FACTORY=${ssrplus_FACTORY}" >> $GITHUB_ENV 52 | echo "ssrplus_SYSUPGRADE=${ssrplus_SYSUPGRADE}" >> $GITHUB_ENV 53 | export NUM=$((NUM+1)) 54 | 55 | #1.4 passwall 56 | export passwall_NAME=$SERIAL'.'$NUM'-360T7-108M-'$NAME'-passwall' 57 | export passwall_BIN=$passwall_NAME'-BIN' 58 | export passwall_FACTORY=$passwall_NAME'-factory' 59 | export passwall_SYSUPGRADE=$passwall_NAME'-sysupgrade' 60 | 61 | echo "passwall_BIN=${passwall_BIN}" >> $GITHUB_ENV 62 | echo "passwall_FACTORY=${passwall_FACTORY}" >> $GITHUB_ENV 63 | echo "passwall_SYSUPGRADE=${passwall_SYSUPGRADE}" >> $GITHUB_ENV 64 | export NUM=$((NUM+1)) 65 | 66 | #1.5 openclash 67 | export openclash_NAME=$SERIAL'.'$NUM'-360T7-108M-'$NAME'-openclash' 68 | export openclash_BIN=$openclash_NAME'-BIN' 69 | export openclash_FACTORY=$openclash_NAME'-factory' 70 | export openclash_SYSUPGRADE=$openclash_NAME'-sysupgrade' 71 | 72 | echo "openclash_BIN=${openclash_BIN}" >> $GITHUB_ENV 73 | echo "openclash_FACTORY=${openclash_FACTORY}" >> $GITHUB_ENV 74 | echo "openclash_SYSUPGRADE=${openclash_SYSUPGRADE}" >> $GITHUB_ENV 75 | export NUM=$((NUM+1)) 76 | 77 | #1.6 openclash_ssrplus_passwall 78 | export openclash_ssrplus_passwall_NAME=$SERIAL'.'$NUM'-360T7-108M-'$NAME'-openclash-ssrplus-passwall' 79 | export openclash_ssrplus_passwall_BIN=$openclash_ssrplus_passwall_NAME'-BIN' 80 | export openclash_ssrplus_passwall_FACTORY=$openclash_ssrplus_passwall_NAME'-factory' 81 | export openclash_ssrplus_passwall_SYSUPGRADE=$openclash_ssrplus_passwall_NAME'-sysupgrade' 82 | 83 | echo "openclash_ssrplus_passwall_BIN=${openclash_ssrplus_passwall_BIN}" >> $GITHUB_ENV 84 | echo "openclash_ssrplus_passwall_FACTORY=${openclash_ssrplus_passwall_FACTORY}" >> $GITHUB_ENV 85 | echo "openclash_ssrplus_passwall_SYSUPGRADE=${openclash_ssrplus_passwall_SYSUPGRADE}" >> $GITHUB_ENV 86 | export NUM=$((NUM+1)) 87 | 88 | echo "FILENAME: $FILENAME" 89 | echo "BIN: $BIN" 90 | echo "FACTORY: $FACTORY" 91 | echo "SYSUPGRADE: $SYSUPGRADE" 92 | echo "VanillaFILENAME: $VanillaFILENAME" 93 | echo "VanillaBIN: $VanillaBIN" 94 | echo "VanillaFACTORY: $VanillaFACTORY" 95 | echo "VanillaSYSUPGRADE: $VanillaSYSUPGRADE" 96 | 97 | echo "NUM=$NUM" >> $GITHUB_ENV 98 | export GITHUB_ENV 99 | -------------------------------------------------------------------------------- /Shell/REVISECONFIG.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | # 3 | # Copyright (c) 2023 @weigefenxiang 4 | # 5 | 6 | ### 7 | ### Usage: 8 | ### speedpower 9 | ### 10 | ### Options: 11 | ### ImmortalWrt | hanwckf | padavanonly 12 | ### 插件 13 | ### ttyd | filetransfer | upnp | openclash | passwall | ssr-plus | vssr | opkg | mtk 14 | ### 15 | ### 16 | filename=.config 17 | rm -rf /tmp/tmp.log 18 | touch /tmp/tmp.log 19 | CHANGE(){ 20 | if [ $NAME = "ImmortalWrt" ];then 21 | sed -i '/# CONFIG_TARGET_mediatek_filogic_DEVICE_qihoo_360-t7-stock is not set/s/.*/CONFIG_TARGET_mediatek_filogic_DEVICE_qihoo_360-t7-stock=y/; 22 | /CONFIG_TARGET_mediatek_filogic_DEVICE_qihoo_360-t7-ubootmod=y/s/.*/# CONFIG_TARGET_mediatek_filogic_DEVICE_qihoo_360-t7-ubootmod is not set/; 23 | /CONFIG_TARGET_PROFILE="DEVICE_qihoo_360-t7-ubootmod"/s/.*/CONFIG_TARGET_PROFILE="DEVICE_qihoo_360-t7-stock"/' .config && \ 24 | echo -e "\033[31m 360-t7-stock is not set \t \033[0m \t >>> \t \033[36m 360-t7-stock=y \033[0m" \ 25 | echo -e "\033[31m 360-t7-ubootmod=y \t \033[0m \t >>> \t \033[36m 360-t7-ubootmod is not set \033[0m" \ 26 | echo -e '\033[31m "DEVICE_qihoo_360-t7-ubootmod" \t \033[0m \t >>> \t \033[36m "DEVICE_qihoo_360-t7-stock" \033[0m' || \ 27 | echo -e "\033[31m 360-t7-stock is not set \t \033[0m \t >>> \t \033[31m 替换失败 \033[0m" \ 28 | echo -e "\033[31m 360-t7-ubootmod=y \t \033[0m \t >>> \t \033[31m 替换失败 \033[0m" \ 29 | echo -e '\033[31m "DEVICE_qihoo_360-t7-ubootmod" \t \033[0m \t >>> \t \033[31m 替换失败 \033[0m' 30 | grep 'CONFIG_TARGET_mediatek_filogic_DEVICE_qihoo_360-t7-stock' $filename >> /tmp/tmp.log 31 | grep 'CONFIG_TARGET_mediatek_filogic_DEVICE_qihoo_360-t7-ubootmod' $filename >> /tmp/tmp.log 32 | grep 'CONFIG_TARGET_PROFILE=' $filename >> /tmp/tmp.log 33 | elif [ $NAME = "hanwckf" -o $NAME = "padavanonly" ];then 34 | sed -i '/# CONFIG_TARGET_mediatek_mt7981_DEVICE_mt7981-360-t7 is not set/s/.*/CONFIG_TARGET_mediatek_mt7981_DEVICE_mt7981-360-t7=y/; 35 | /CONFIG_TARGET_mediatek_mt7981_DEVICE_mt7981-360-t7-108M=y/s/.*/# CONFIG_TARGET_mediatek_mt7981_DEVICE_mt7981-360-t7-108M is not set/; 36 | /CONFIG_TARGET_PROFILE="DEVICE_mt7981-360-t7-108M"/s/.*/CONFIG_TARGET_PROFILE="DEVICE_mt7981-360-t7"/' .config && \ 37 | echo -e "\033[31m 360-t7 is not set \t \033[0m \t >>> \t \033[36m 360-t7=y \033[0m" \ 38 | echo -e "\033[31m 360-t7-108M=y \t \033[0m \t >>> \t \033[36m 360-t7-108M is not set \033[0m" \ 39 | echo -e '\033[31m "DEVICE_mt7981-360-t7-108M" \t \033[0m \t >>> \t \033[36m "DEVICE_mt7981-360-t7" \033[0m' || \ 40 | echo -e "\033[31m 360-t7 is not set \t \033[0m \t >>> \t \033[31m 替换失败 \033[0m" \ 41 | echo -e "\033[31m 360-t7-108M=y \t \033[0m \t >>> \t \033[31m 替换失败 \033[0m" \ 42 | echo -e '\033[31m "DEVICE_mt7981-360-t7-108M" \t \033[0m \t >>> \t \033[31m 替换失败 \033[0m' 43 | grep 'CONFIG_TARGET_mediatek_mt7981_DEVICE_mt7981-360-t7' $filename >> /tmp/tmp.log 44 | grep 'CONFIG_TARGET_mediatek_mt7981_DEVICE_mt7981-360-t7-108M' $filename >> /tmp/tmp.log 45 | grep 'CONFIG_TARGET_PROFILE="DEVICE_mt7981-360-t7-108M' $filename >> /tmp/tmp.log 46 | else 47 | echo -e "请输如正确作者名: \033[31m ImmortalWrt/hanwckf/padavanonly \033[0m" 48 | fi 49 | } 50 | 51 | 52 | CHECK(){ 53 | grep "# CONFIG_PACKAGE_luci-app-$PluginNAME is not set" $filename >/dev/null;command1=$? 54 | grep "CONFIG_PACKAGE_luci-app-$PluginNAME=m" $filename >/dev/null;command2=$? 55 | grep "CONFIG_PACKAGE_luci-app-$PluginNAME=y" $filename >/dev/null;command3=$? 56 | } 57 | 58 | PLUGIN(){ 59 | CHECK 60 | if [ $command1 -eq 0 ];then 61 | sed -i "s/# CONFIG_PACKAGE_luci-app-$PluginNAME is not set/CONFIG_PACKAGE_luci-app-$PluginNAME=y/g" $filename && \ 62 | echo -e "\033[31m Plugin: $PluginNAME \t\t 未被选中 \033[0m \t>>>\t \033[36m Plugin: $PluginNAME=y \033[0m" || \ 63 | echo -e "\033[31m Plugin: $PluginNAME \t\t 未被选中 \033[0m \t>>>\t \033[31m 替换失败 \033[0m" 64 | elif [ $command2 -eq 0 ];then 65 | echo -e "\033[34m Plugin: $PluginNAME=m \t\t \033[0m \t>>>\t \033[36m Plugin: $PluginNAME=y \033[0m" && \ 66 | sed -i "s/CONFIG_PACKAGE_luci-app-$PluginNAME=m/CONFIG_PACKAGE_luci-app-$PluginNAME=y/g" $filename || \ 67 | echo -e "\033[31m Plugin: $PluginNAME \t\t 未被选中 \033[0m \t>>>\t \033[31m 替换失败 \033[0m" 68 | elif [ $command3 -eq 0 ];then 69 | echo -e "\033[32m Plugin: $PluginNAME is selected! \033[0m" 70 | else 71 | echo -e "\033[31m ERROR: $PluginNAME \t\t 未找到 \033[0m" 72 | fi 73 | grep "CONFIG_PACKAGE_luci-app-$PluginNAME=y" $filename >> /tmp/tmp.log 74 | } 75 | 76 | CHECKKOMD(){ 77 | grep "# CONFIG_PACKAGE_$KOMDNAME is not set" $filename >/dev/null;command1=$? 78 | grep "CONFIG_PACKAGE_$KOMDNAME=m" $filename >/dev/null;command2=$? 79 | grep "CONFIG_PACKAGE_$KOMDNAME=y" $filename >/dev/null;command3=$? 80 | } 81 | 82 | KOMD(){ 83 | CHECKKOMD 84 | if [ $command1 -eq 0 ];then 85 | sed -i "s/# CONFIG_PACKAGE_$KOMDNAME is not set/CONFIG_PACKAGE_$KOMDNAME=y/g" $filename && \ 86 | echo -e "\033[31m Plugin: $KOMDNAME \t\t 未被选中 \033[0m \t>>>\t \033[36m Plugin: $KOMDNAME=y \033[0m" || \ 87 | echo -e "\033[31m Plugin: $KOMDNAME \t\t 未被选中 \033[0m \t>>>\t \033[31m 替换失败 \033[0m" 88 | elif [ $command2 -eq 0 ];then 89 | echo -e "\033[34m Plugin: $KOMDNAME=m \t\t \033[0m \t>>>\t \033[36m Plugin: $KOMDNAME=y \033[0m" && \ 90 | sed -i "s/CONFIG_PACKAGE_$KOMDNAME=m/CONFIG_PACKAGE_$KOMDNAME=y/g" $filename || \ 91 | echo -e "\033[31m Plugin: $KOMDNAME \t\t 未被选中 \033[0m \t>>>\t \033[31m 替换失败 \033[0m" 92 | elif [ $command3 -eq 0 ];then 93 | echo -e "\033[32m Plugin: $KOMDNAME is selected! \033[0m" 94 | else 95 | echo -e "\033[31m ERROR: $KOMDNAME \t\t 未找到 \033[0m" 96 | fi 97 | grep "CONFIG_PACKAGE_$KOMDNAME=y" $filename >> /tmp/tmp.log 98 | } 99 | 100 | while [ $# -gt 0 ] 101 | do 102 | key="$1" 103 | case $key in 104 | -h | --help ) 105 | INPUT=$2 106 | sed -rn 's/^### ?//;T;p' "$0" && exit 1 ;shift;shift;; 107 | ImmortalWrt | hanwckf | padavanonly ) 108 | NAME=$1 109 | CHANGE 110 | shift;; 111 | accesscontrol | acme | adblock | adbyby-fix | adbyby-plus | advanced-reboot | advancedsetting | ahcp | airplay2 | airwhu | aliddns | amule | appfilter | argon-config | aria2 | arpbind | asterisk | attendedsysupgrade | autoreboot | baidupcs-web | bcp38 | beardropper | bird1-ipv4 | bird1-ipv6 | bmx6 | brook-server | cd8021x | cifs | cifs-mount | cjdns | clamav | commands | cpufreq | cpulimit | cshark | cupsd | dawn | ddns | diag-core | diskman | diskman_INCLUDE_mdadm | dnscrypt-proxy | dnsforwarder | docker | dump1090 | dynapoint | eqos | fileassistant | filebrowser | filetransfer | frpc | frps | fwknopd | gost | gowebdav | guest-wifi | haproxy-tcp | hd-idle | hnet | https-dns-proxy | https_dns_proxy | ipsec-vpnd | ipsec-vpnserver-manyusers | iptvhelper | kcptun | kodexplorer | ksmbd | lxc | mentohust | minidlna | minieap | mjpg-streamer | music-remote-center | mwan3 | mwan3helper | mwol | n2n_v2 | naiveproxy | netdata | nfs | nft-qos | nginx-pingos | ngrokc | njitclient | nlbwmon | nps | ntpc | ocserv | oled | olsr | olsr-services | olsr-viz | olsrd2 | onliner | openclash | openvpn | openvpn-server | oscam | p910nd | pagekitec | passwall_Nftables_Transparent_Proxy | passwall_INCLUDE_Hysteria | passwall_INCLUDE_NaiveProxy | passwall_INCLUDE_Trojan_GO | polipo | pppoe-relay | pppoe-server | privoxy | ps3netsrv | qbittorrent | qos | radicale | ramfree | rclone | rp-pppoe-server | samba | samba4 | scutclient | serverchan | shadowsocks-libev | shairplay | siitwizard | simple-adblock | smartdns | smartinfo | smstool | socat | softethervpn | softethervpn5 | speederv2 | splash | sqm | squid | ssocks | ssr-libev-server | ssr-mudb-server | ssr-plus | ssr-plus_INCLUDE_Shadowsocks_NONE_Client | ssr-plus_INCLUDE_Shadowsocks_Libev_Client | ssr-plus_INCLUDE_Shadowsocks_NONE_Server | ssr-plus_INCLUDE_Shadowsocks_Libev_Server | ssr-plus_INCLUDE_NONE_V2RAY | ssr-plus_INCLUDE_V2ray | ssr-plus_INCLUDE_SagerNet_Core | ssr-plus_INCLUDE_Hysteria | ssr-plus_INCLUDE_NaiveProxy | ssr-plus_INCLUDE_Redsocks2 | ssrserver-python | statistics | syncdial | syncthing | sysuh3c | timecontrol | timewol | tinyproxy | transmission | travelmate | trojan-server | ttyd | turboacc-mtk_INCLUDE_DNSFORWARDER | turboacc-mtk_INCLUDE_DNSPROXY | udp2raw | udpxy | uhttpd | unblockmusic | unblockneteasemusic-go | unbound | usb-printer | usb3disable | uugamebooster | v2ray-server | verysync | vlmcsd | vnstat | vpn-policy-routing | vpnbypass | vsftpd | vssr_INCLUDE_Hysteria | watchcat | webadmin | webrestriction | weburl | wifischedule | wireguard | wol | wrtbwmon | xlnetacc | zerotier | diskman_INCLUDE_btrfs_progs | diskman_INCLUDE_lsblk | firewall | mtk | passwall | passwall_Iptables_Transparent_Proxy | passwall_INCLUDE_Brook | passwall_INCLUDE_ChinaDNS_NG | passwall_INCLUDE_Haproxy | passwall_INCLUDE_Shadowsocks_Libev_Client | passwall_INCLUDE_Shadowsocks_Libev_Server | passwall_INCLUDE_Shadowsocks_Rust_Client | passwall_INCLUDE_Shadowsocks_Rust_Server | passwall_INCLUDE_ShadowsocksR_Libev_Client | passwall_INCLUDE_ShadowsocksR_Libev_Server | passwall_INCLUDE_Simple_Obfs | passwall_INCLUDE_Trojan_Plus | passwall_INCLUDE_V2ray | passwall_INCLUDE_V2ray_Plugin | passwall_INCLUDE_Xray | passwall_INCLUDE_Xray_Plugin | rclone_INCLUDE_rclone-webui | rclone_INCLUDE_rclone-ng | ssr-plus_INCLUDE_Shadowsocks_Rust_Client | ssr-plus_INCLUDE_Shadowsocks_Rust_Server | ssr-plus_INCLUDE_Xray | ssr-plus_INCLUDE_ChinaDNS_NG | ssr-plus_INCLUDE_IPT2Socks | ssr-plus_INCLUDE_Kcptun | ssr-plus_INCLUDE_Shadowsocks_Simple_Obfs | ssr-plus_INCLUDE_Shadowsocks_V2ray_Plugin | ssr-plus_INCLUDE_ShadowsocksR_Libev_Client | ssr-plus_INCLUDE_ShadowsocksR_Libev_Server | ssr-plus_INCLUDE_Trojan | turboacc | turboacc-mtk | turboacc-mtk_INCLUDE_OFFLOADING | turboacc-mtk_INCLUDE_BBR_CCA | turboacc-mtk_INCLUDE_PDNSD | upnp | vssr | vssr_INCLUDE_Kcptun | vssr_INCLUDE_ShadowsocksR_Libev_Server | vssr_INCLUDE_Trojan | vssr_INCLUDE_Xray | vssr_INCLUDE_Xray_plugin ) 112 | PluginNAME=$1 113 | PLUGIN $1;shift;; 114 | base-files | block-mount | busybox | ca-bundle | dnsmasq-full | dnsmasq_full_dhcp | dnsmasq_full_dhcpv6 | dnsmasq_full_dnssec | dnsmasq_full_ipset | dropbear | firewall | fstools | fwtool | getrandom | jsonfilter | libatomic | libc | libgcc | libpthread | librt | libstdcpp | logd | mtd | netifd | openwrt-keyring | opkg | procd | resolveip | rpcd | swconfig | ubox | ubus | ubusd | uci | urandom-seed | urngd | usign | wireless-tools | autocore-arm | ipv6helper | libiwinfo-data | kmod-dax | kmod-dm | kmod-crypto-acompress | kmod-crypto-aead | kmod-crypto-arc4 | kmod-crypto-authenc | kmod-crypto-cbc | kmod-crypto-ccm | kmod-crypto-cmac | kmod-crypto-crc32c | kmod-crypto-ctr | kmod-crypto-cts | kmod-crypto-des | kmod-crypto-ecb | kmod-crypto-hash | kmod-crypto-hmac | kmod-crypto-lib-blake2s | kmod-crypto-lib-chacha20 | kmod-crypto-lib-chacha20poly1305 | kmod-crypto-lib-curve25519 | kmod-crypto-lib-poly1305 | kmod-crypto-manager | kmod-crypto-md4 | kmod-crypto-md5 | kmod-crypto-null | kmod-crypto-rng | kmod-crypto-seqiv | kmod-crypto-sha1 | kmod-crypto-sha256 | kmod-crypto-sha512 | kmod-crypto-user | kmod-cryptodev | kmod-fs-btrfs | kmod-fs-cifs | kmod-fs-exportfs | kmod-fs-nfs | kmod-fs-nfs-common | kmod-fs-nfs-common-rpcsec | kmod-fs-nfs-v4 | kmod-fs-nfsd | kmod-fuse | kmod-input-core | kmod-leds-gpio | kmod-asn1-decoder | kmod-lib-crc-ccitt | kmod-lib-crc32c | kmod-lib-lzo | kmod-lib-raid6 | kmod-lib-textsearch | kmod-lib-xor | kmod-lib-zlib-deflate | kmod-lib-zlib-inflate | kmod-lib-zstd | kmod-nls-base | kmod-nls-utf8 | kmod-br-netfilter | kmod-ip6tables | kmod-ipt-conntrack | kmod-ipt-conntrack-extra | kmod-ipt-core | kmod-ipt-extra | kmod-ipt-fullconenat | kmod-ipt-ipopt | kmod-ipt-iprange | kmod-ipt-ipsec | kmod-ipt-ipset | kmod-ipt-nat | kmod-ipt-nat-extra | kmod-ipt-nat6 | kmod-ipt-offload | kmod-ipt-raw | kmod-ipt-tproxy | kmod-nf-conntrack | kmod-nf-conntrack6 | kmod-nf-flow | kmod-nf-ipt | kmod-nf-ipt6 | kmod-nf-ipvs | kmod-nf-nat | kmod-nf-nat6 | kmod-nf-nathelper | kmod-nf-nathelper-extra | kmod-nf-reject | kmod-nf-reject6 | kmod-nfnetlink | kmod-oaf | kmod-ifb | kmod-macvlan | kmod-mediatek_hnat | kmod-atm | kmod-dnsresolver | kmod-gre | kmod-inet-diag | kmod-ip6-tunnel | kmod-iptunnel | kmod-iptunnel4 | kmod-iptunnel6 | kmod-l2tp | kmod-ppp | kmod-mppe | kmod-ppp-synctty | kmod-pppoa | kmod-pppoe | kmod-pppol2tp | kmod-pppox | kmod-pptp | kmod-sched | kmod-sched-cake | kmod-sched-connmark | kmod-sched-core | kmod-sit | kmod-slhc | kmod-tcp-bbr | kmod-tun | kmod-udptunnel4 | kmod-udptunnel6 | kmod-veth | kmod-wireguard | kmod-gpio-button-hotplug | kmod-ikconfig | kmod-keys-encrypted | kmod-keys-trusted | kmod-random-core | kmod-tpm | kmod-sound-core | libiwinfo-lua | lua | lua-cjson | lua-maxminddb | lua-neturl | luasocket | luci-lib-fs | libip4tc | libip6tc | libxtables | libmbedtls | libopenssl | libopenssl-conf | boost | boost-date_time | boost-program_options | boost-system | libblobmsg-json | libbpf | libcares | libcurl | libelf | libev | libgmp | libiwinfo | libjson-c | libkvcutil | libltdl | liblua | liblua5.3 | libmaxminddb | libmnl | libncurses | libnettle | libnghttp2 | libnl-tiny | libpcre | libreadline | libsodium | libubox | libubus | libubus-lua | libuci | libuci-lua | libuclient | libudns | libustream-openssl | libuuid | rpcd-mod-rrdns | terminfo | zlib | luci | luci-base | luci-compat | luci-mod-admin-full | iptables-mod-tproxy | iptables-mod-extra | TURBOACC_INCLUDE_OFFLOADING | TURBOACC_INCLUDE_BBR_CCA | luci-theme-argon | luci-theme-bootstrap | luci-proto-ipv6 | luci-proto-ppp | luci-lib-ip | luci-lib-ipkg | luci-lib-jsonc | luci-lib-nixio | luci-lib-nixio_openssl | default-settings | default-settings-chn | luci-i18n-base-en | luci-i18n-base-zh-cn | luci-i18n-firewall-en | luci-i18n-firewall-zh-cn | luci-i18n-mtk-zh-cn | luci-i18n-passwall-zh-cn | luci-i18n-turboacc-mtk-zh-cn | luci-i18n-turboacc-zh-cn | luci-i18n-upnp-en | luci-i18n-upnp-zh-cn | luci-i18n-vssr-zh-cn | datconf | datconf-lua | mii_mgr | regs | switch | kmod-conninfra | kmod-mt_wifi | kmod-warp | wifi-profile | curl | wget-ssl | ip6tables | ip6tables-mod-nat | iptables | iptables-mod-conntrack-extra | iptables-mod-fullconenat | iptables-mod-ipopt | iptables-mod-iprange | iptables-mod-nat-extra | miniupnpd | chinadns-ng | dns2socks | dns2tcp | pdnsd-alt | ip-full | tc-mod-iptables | tc-tiny | brook | haproxy | kcptun-client | microsocks | shadowsocks-libev-config | shadowsocks-libev-ss-local | shadowsocks-libev-ss-redir | shadowsocks-libev-ss-server | shadowsocks-rust-sslocal | shadowsocks-rust-ssserver | shadowsocksr-libev-ssr-check | shadowsocksr-libev-ssr-local | shadowsocksr-libev-ssr-redir | shadowsocksr-libev-ssr-server | trojan | trojan-plus | uhttpd | uhttpd-mod-ubus | v2ray-plugin | xray-plugin | mtkiappd | 6in4 | ethtool | ipset | ipt2socks | libipset | mtkhnat_util | odhcp6c | odhcpd-ipv6only | omcproxy | ppp | ppp-mod-pppoe | simple-obfs-client | tcping | uclient-fetch | v2ray-core | xray-core | uboot-envtools | unzip | nano | bash | coreutils | coreutils-base64 | coreutils-nohup | jshn | kvcedit | libjson-script | shellsync | ubi-utils | attendedsysupgrade-common | auc | blockd | bridge | busybox-selinux | ca-certificates | dnsmasq | dnsmasq-dhcpv6 | dnsmasq_full_auth | dnsmasq_full_conntrack | dnsmasq_full_noid | dnsmasq_full_broken_rtc | ead | firewall4 | libgomp | nft-qos | ootoc | procd-selinux | qos-scripts | refpolicy | rpcd-mod-file | rpcd-mod-iwinfo | rpcd-mod-rpcsys | selinux-policy | snapshot-tool | sqm-scripts | sqm-scripts-extra | ucert | ucert-full | zram-swap | zabbix-agentd | zabbix-extra-network | zabbix-extra-wifi | zabbix-get | zabbix-proxy | zabbix-sender | zabbix-server | zabbix-server-frontend | netjson-monitoring | openwisp-config | openwisp-monitoring | atop | backuppc | bpytop | debian-archive-keyring | debootstrap | gkrellmd | gotop | htop | ipmitool | monit | monit-nossl | muninlite | netatop | netdata | nload | nyx | rsyslog | schroot | sudo | syslog-ng | libncurses-dev | libxml2-dev | zlib-dev | ar | autoconf | automake | binutils | delve | diffutils | gcc | gdb | gdbserver | gitlab-runner | go-rice | libtool-bin | lpc21isp | lttng-tools | m4 | make | objdump | packr | patch | pkg-config | pkgconf | trace-cmd | trace-cmd-extra | valgrind | automount | autosamba | jose | nginx | nginx-mod-luci-ssl | nginx-util | tang | aircard-pcmcia-firmware | amdgpu-firmware | ap6256-firmware | ar3k-firmware | ath10k-board-qca4019 | ath10k-board-qca9377 | ath10k-board-qca9887 | ath10k-board-qca9888 | ath10k-board-qca988x | ath10k-board-qca9984 | ath10k-board-qca99x0 | ath10k-board-qca99x0-2g | ath10k-board-qca99x0-5g | ath10k-firmware-qca4019 | ath10k-firmware-qca4019-ct | ath10k-firmware-qca4019-ct-full-htt | ath10k-firmware-qca4019-ct-htt | ath10k-firmware-qca6174 | ath10k-firmware-qca9377 | ath10k-firmware-qca9887 | ath10k-firmware-qca9887-ct | ath10k-firmware-qca9887-ct-full-htt | ath10k-firmware-qca9888 | ath10k-firmware-qca9888-ct | ath10k-firmware-qca9888-ct-full-htt | ath10k-firmware-qca9888-ct-htt | ath10k-firmware-qca988x | ath10k-firmware-qca988x-ct | ath10k-firmware-qca988x-ct-full-htt | ath10k-firmware-qca9984 | ath10k-firmware-qca9984-ct | ath10k-firmware-qca9984-ct-full-htt | ath10k-firmware-qca9984-ct-htt | ath10k-firmware-qca99x0 | ath10k-firmware-qca99x0-ct | ath10k-firmware-qca99x0-ct-full-htt | ath10k-firmware-qca99x0-ct-htt | ath6k-firmware | ath9k-htc-firmware | b43legacy-firmware | bnx2-firmware | bnx2x-firmware | brcmfmac-firmware-4329-sdio | brcmfmac-firmware-43430-sdio-rpi-3b | brcmfmac-firmware-43430-sdio-rpi-zero-w | brcmfmac-firmware-43430a0-sdio | brcmfmac-firmware-43455-sdio-rpi-3b-plus | brcmfmac-firmware-43455-sdio-rpi-4b | brcmfmac-firmware-43602a1-pcie | brcmfmac-firmware-4366b1-pcie | brcmfmac-firmware-4366c0-pcie | brcmfmac-firmware-4366c0-pcie-vendor | brcmfmac-firmware-usb | brcmsmac-firmware | carl9170-firmware | cypress-firmware-43012-sdio | cypress-firmware-43340-sdio | cypress-firmware-43362-sdio | cypress-firmware-4339-sdio | cypress-firmware-43430-sdio | cypress-firmware-43455-sdio | cypress-firmware-4354-sdio | cypress-firmware-4356-pcie | cypress-firmware-4356-sdio | cypress-firmware-43570-pcie | cypress-firmware-4373-sdio | cypress-firmware-4373-usb | cypress-firmware-54591-pcie | dvb-firmware | e100-firmware | edgeport-firmware | eip197-mini-firmware | ibt-firmware | iwl3945-firmware | iwl4965-firmware | iwlwifi-firmware-iwl100 | iwlwifi-firmware-iwl1000 | iwlwifi-firmware-iwl105 | iwlwifi-firmware-iwl135 | iwlwifi-firmware-iwl2000 | iwlwifi-firmware-iwl2030 | iwlwifi-firmware-iwl3160 | iwlwifi-firmware-iwl3168 | iwlwifi-firmware-iwl5000 | iwlwifi-firmware-iwl5150 | iwlwifi-firmware-iwl6000g2 | iwlwifi-firmware-iwl6000g2a | iwlwifi-firmware-iwl6000g2b | iwlwifi-firmware-iwl6050 | iwlwifi-firmware-iwl7260 | iwlwifi-firmware-iwl7265 | iwlwifi-firmware-iwl7265d | iwlwifi-firmware-iwl8260c | iwlwifi-firmware-iwl8265 | iwlwifi-firmware-iwl9000 | iwlwifi-firmware-iwl9260 | libertas-sdio-firmware | libertas-spi-firmware | libertas-usb-firmware | mt7601u-firmware | mt7622bt-firmware | mwifiex-pcie-firmware | mwifiex-sdio-firmware | mwl8k-firmware | p54-pci-firmware | p54-spi-firmware | p54-usb-firmware | prism54-firmware | r8152-firmware | r8169-firmware | radeon-firmware | rs9113-firmware | rt2800-pci-firmware | rt2800-usb-firmware | rt61-pci-firmware | rt73-usb-firmware | rtl8188eu-firmware | rtl8192ce-firmware | rtl8192cu-firmware | rtl8192de-firmware | rtl8192eu-firmware | rtl8192se-firmware | rtl8192su-firmware | rtl8723au-firmware | rtl8723bu-firmware | rtl8821ae-firmware | rtl8822be-firmware | rtl8822ce-firmware | ti-3410-firmware | ti-5052-firmware | wil6210-firmware | wireless-regdb | wl12xx-firmware | wl18xx-firmware | dejavu-fonts-ttf-DejaVuMathTeXGyre | dejavu-fonts-ttf-DejaVuSans | dejavu-fonts-ttf-DejaVuSans-Bold | dejavu-fonts-ttf-DejaVuSans-BoldOblique | dejavu-fonts-ttf-DejaVuSans-ExtraLight | dejavu-fonts-ttf-DejaVuSans-Oblique | dejavu-fonts-ttf-DejaVuSansCondensed | dejavu-fonts-ttf-DejaVuSansCondensed-Bold | dejavu-fonts-ttf-DejaVuSansCondensed-BoldOblique | dejavu-fonts-ttf-DejaVuSansCondensed-Oblique | dejavu-fonts-ttf-DejaVuSansMono | dejavu-fonts-ttf-DejaVuSansMono-Bold | dejavu-fonts-ttf-DejaVuSansMono-BoldOblique | dejavu-fonts-ttf-DejaVuSansMono-Oblique | dejavu-fonts-ttf-DejaVuSerif | dejavu-fonts-ttf-DejaVuSerif-Bold | dejavu-fonts-ttf-DejaVuSerif-BoldItalic | dejavu-fonts-ttf-DejaVuSerif-Italic | dejavu-fonts-ttf-DejaVuSerifCondensed | dejavu-fonts-ttf-DejaVuSerifCondensed-Bold | dejavu-fonts-ttf-DejaVuSerifCondensed-BoldItalic | dejavu-fonts-ttf-DejaVuSerifCondensed-Italic | kmod-aoe | kmod-ata-ahci | kmod-ata-artop | kmod-ata-core | kmod-ata-marvell-sata | kmod-ata-nvidia-sata | kmod-ata-pdc202xx-old | kmod-ata-piix | kmod-ata-sil | kmod-ata-sil24 | kmod-ata-via-sata | kmod-block2mtd | kmod-dm-raid | kmod-iosched-bfq | kmod-iscsi-initiator | kmod-loop | kmod-md-mod | kmod-nbd | kmod-scsi-cdrom | kmod-scsi-core | kmod-scsi-generic | kmod-scsi-tape | kmod-can | kmod-crypto-deflate | kmod-crypto-ecdh | kmod-crypto-echainiv | kmod-crypto-fcrypt | kmod-crypto-gcm | kmod-crypto-gf128 | kmod-crypto-ghash | kmod-crypto-hw-hifn-795x | kmod-crypto-hw-padlock | kmod-crypto-kpp | kmod-crypto-michael-mic | kmod-crypto-misc | kmod-crypto-pcbc | kmod-crypto-rmd160 | kmod-crypto-test | kmod-crypto-xcbc | kmod-crypto-xts | kmod-fs-afs | kmod-fs-antfs | kmod-fs-autofs4 | kmod-fs-configfs | kmod-fs-cramfs | kmod-fs-exfat | kmod-fs-exfat0 | kmod-fs-ext4 | kmod-fs-f2fs | kmod-fs-fscache | kmod-fs-hfs | kmod-fs-hfsplus | kmod-fs-isofs | kmod-fs-jfs | kmod-fs-ksmbd | kmod-fs-minix | kmod-fs-msdos | kmod-fs-nfs-v3 | kmod-fs-ntfs | kmod-fs-reiserfs | kmod-fs-squashfs | kmod-fs-udf | kmod-fs-vfat | kmod-fs-xfs | kmod-firewire | kmod-gpio-cascade | kmod-gl-mifi-mcu | kmod-hwmon-ad7418 | kmod-hwmon-adcxx | kmod-hwmon-adt7410 | kmod-hwmon-adt7475 | kmod-hwmon-core | kmod-hwmon-dme1737 | kmod-hwmon-drivetemp | kmod-hwmon-gpiofan | kmod-hwmon-ina209 | kmod-hwmon-ina2xx | kmod-hwmon-it87 | kmod-hwmon-lm63 | kmod-hwmon-lm75 | kmod-hwmon-lm77 | kmod-hwmon-lm85 | kmod-hwmon-lm90 | kmod-hwmon-lm92 | kmod-hwmon-lm95241 | kmod-hwmon-ltc4151 | kmod-hwmon-mcp3021 | kmod-hwmon-pwmfan | kmod-hwmon-sch5627 | kmod-hwmon-sht21 | kmod-hwmon-tmp102 | kmod-hwmon-tmp103 | kmod-hwmon-tmp421 | kmod-hwmon-vid | kmod-hwmon-w83793 | kmod-pmbus-core | kmod-pmbus-zl6100 | kmod-i2c-algo-bit | kmod-i2c-algo-pca | kmod-i2c-algo-pcf | kmod-i2c-core | kmod-i2c-designware-pci | kmod-i2c-gpio | kmod-i2c-mux | kmod-i2c-mux-gpio | kmod-i2c-mux-pca9541 | kmod-i2c-mux-pca954x | kmod-i2c-pxa | kmod-i2c-smbus | kmod-i2c-tiny-usb | kmod-iio-ad799x | kmod-iio-ads1015 | kmod-iio-am2315 | kmod-iio-bh1750 | kmod-iio-bme680 | kmod-iio-bme680-i2c | kmod-iio-bme680-spi | kmod-iio-bmp280 | kmod-iio-bmp280-i2c | kmod-iio-bmp280-spi | kmod-iio-ccs811 | kmod-iio-core | kmod-iio-dht11 | kmod-iio-fxas21002c | kmod-iio-fxas21002c-i2c | kmod-iio-fxas21002c-spi | kmod-iio-fxos8700 | kmod-iio-fxos8700-i2c | kmod-iio-fxos8700-spi | kmod-iio-hmc5843 | kmod-iio-htu21 | kmod-iio-kfifo-buf | kmod-iio-lsm6dsx | kmod-iio-lsm6dsx-i2c | kmod-iio-lsm6dsx-spi | kmod-iio-si7020 | kmod-iio-sps30 | kmod-iio-st_accel | kmod-iio-st_accel-i2c | kmod-iio-st_accel-spi | kmod-iio-tsl4531 | kmod-industrialio-triggered-buffer | kmod-hid | kmod-hid-generic | kmod-input-evdev | kmod-input-gpio-encoder | kmod-input-gpio-keys | kmod-input-gpio-keys-polled | kmod-input-joydev | kmod-input-matrixkmap | kmod-input-polldev | kmod-input-touchscreen-ads7846 | kmod-input-uinput | kmod-input-leds | kmod-leds-pca963x | kmod-leds-uleds | kmod-ledtrig-activity | kmod-ledtrig-audio | kmod-ledtrig-gpio | kmod-ledtrig-oneshot | kmod-ledtrig-transient | kmod-lib-cordic | kmod-lib-crc-itu-t | kmod-lib-crc16 | kmod-lib-crc7 | kmod-lib-crc8 | kmod-lib-lz4 | kmod-mux-core | kmod-nls-cp1250 | kmod-nls-cp1251 | kmod-nls-cp437 | kmod-nls-cp775 | kmod-nls-cp850 | kmod-nls-cp852 | kmod-nls-cp862 | kmod-nls-cp864 | kmod-nls-cp866 | kmod-nls-cp932 | kmod-nls-cp936 | kmod-nls-cp950 | kmod-nls-iso8859-1 | kmod-nls-iso8859-13 | kmod-nls-iso8859-15 | kmod-nls-iso8859-2 | kmod-nls-iso8859-6 | kmod-nls-iso8859-8 | kmod-nls-koi8r | kmod-arptables | kmod-ebtables | kmod-ebtables-ipv4 | kmod-ebtables-ipv6 | kmod-ebtables-watchers | kmod-ip6tables-extra | kmod-ipt-account | kmod-ipt-chaos | kmod-ipt-checksum | kmod-ipt-cluster | kmod-ipt-clusterip | kmod-ipt-compat-xtables | kmod-ipt-condition | kmod-ipt-conntrack-label | kmod-ipt-coova | kmod-ipt-debug | kmod-ipt-delude | kmod-ipt-dhcpmac | kmod-ipt-dnetmap | kmod-ipt-filter | kmod-ipt-fuzzy | kmod-ipt-geoip | kmod-ipt-hashlimit | kmod-ipt-iface | kmod-ipt-ipmark | kmod-ipt-ipp2p | kmod-ipt-ipv4options | kmod-ipt-led | kmod-ipt-length2 | kmod-ipt-logmark | kmod-ipt-lscan | kmod-ipt-lua | kmod-ipt-nathelper-rtsp | kmod-ipt-nflog | kmod-ipt-nfqueue | kmod-ipt-physdev | kmod-ipt-proto | kmod-ipt-psd | kmod-ipt-quota2 | kmod-ipt-raw6 | kmod-ipt-rpfilter | kmod-ipt-rtpengine | kmod-ipt-sysrq | kmod-ipt-tarpit | kmod-ipt-tee | kmod-ipt-u32 | kmod-ipt-ulog | kmod-netatop | kmod-nf-conntrack-netlink | kmod-nf-ipvs-ftp | kmod-nf-ipvs-sip | kmod-nfnetlink-log | kmod-nfnetlink-queue | kmod-nft-arp | kmod-nft-bridge | kmod-nft-core | kmod-nft-fib | kmod-nft-nat | kmod-nft-nat6 | kmod-nft-netdev | kmod-nft-offload | kmod-nft-queue | kmod-3c59x | kmod-8139cp | kmod-8139too | kmod-alx | kmod-atl1 | kmod-atl1c | kmod-atl1e | kmod-atl2 | kmod-b44 | kmod-be2net | kmod-bnx2 | kmod-bnx2x | kmod-dm9000 | kmod-dummy | kmod-e100 | kmod-e1000 | kmod-et131x | kmod-ethoc | kmod-fixed-phy | kmod-forcedeth | kmod-hfcmulti | kmod-hfcpci | kmod-i40e | kmod-iavf | kmod-igb | kmod-igc | kmod-ipvlan | kmod-ixgbe | kmod-ixgbevf | kmod-jme | kmod-libphy | kmod-mdio-gpio | kmod-mii | kmod-mlx4-core | kmod-mlx5-core | kmod-natsemi | kmod-ne2k-pci | kmod-niu | kmod-of-mdio | kmod-pcnet32 | kmod-phy-bcm84881 | kmod-phy-broadcom | kmod-phy-microchip | kmod-phy-realtek | kmod-phylink | kmod-qlcnic | kmod-r6040 | kmod-r8125 | kmod-r8168 | kmod-r8169 | kmod-sfc | kmod-sfc-falcon | kmod-sfp | kmod-siit | kmod-sis190 | kmod-sis900 | kmod-skge | kmod-sky2 | kmod-solos-pci | kmod-spi-ks8995 | kmod-swconfig | kmod-switch-bcm53xx | kmod-switch-bcm53xx-mdio | kmod-switch-ip17xx | kmod-switch-rtl8306 | kmod-switch-rtl8366-smi | kmod-switch-rtl8366rb | kmod-switch-rtl8366s | kmod-switch-rtl8367b | kmod-tg3 | kmod-tulip | kmod-via-rhine | kmod-via-velocity | kmod-vmxnet3 | kmod-atmtcp | kmod-ax25 | kmod-batman-adv | kmod-bonding | kmod-bpf-test | kmod-fast-classifier | kmod-fou | kmod-fou6 | kmod-geneve | kmod-gre6 | kmod-ipip | kmod-ipoa | kmod-ipsec | kmod-isdn4linux | kmod-jool-netfilter | kmod-l2tp-eth | kmod-l2tp-ip | kmod-macremapper | kmod-macsec | kmod-mdio-netlink | kmod-misdn | kmod-mpls | kmod-nat46 | kmod-netem | kmod-netlink-diag | kmod-nlmon | kmod-nsh | kmod-openvswitch | kmod-openvswitch-geneve | kmod-openvswitch-gre | kmod-openvswitch-vxlan | kmod-ovpn-dco | kmod-pf-ring | kmod-pktgen | kmod-sched-act-vlan | kmod-sched-bpf | kmod-sched-ctinfo | kmod-sched-flower | kmod-sched-ipset | kmod-sched-mqprio | kmod-sctp | kmod-shortcut-fe | kmod-shortcut-fe-cm | kmod-slip | kmod-tcp-hybla | kmod-trelay | kmod-vxlan | kmod-6lowpan | kmod-ath3k | kmod-bcma | kmod-bluetooth | kmod-bluetooth-6lowpan | kmod-btmrvl | kmod-button-hotplug | kmod-echo | kmod-eeprom-93cx6 | kmod-eeprom-at24 | kmod-eeprom-at25 | kmod-gpio-beeper | kmod-gpio-mcp23s08 | kmod-gpio-nxp-74hc164 | kmod-gpio-pca953x | kmod-gpio-pcf857x | kmod-it87-wdt | kmod-itco-wdt | kmod-lp | kmod-mmc | kmod-mtd-rw | kmod-mtdoops | kmod-mtdram | kmod-mtdtests | kmod-parport-pc | kmod-ppdev | kmod-pps | kmod-pps-gpio | kmod-pps-ldisc | kmod-ptp | kmod-rtc-ds1307 | kmod-rtc-ds1374 | kmod-rtc-ds1672 | kmod-rtc-em3027 | kmod-rtc-isl1208 | kmod-rtc-pcf2123 | kmod-rtc-pcf2127 | kmod-rtc-pcf8563 | kmod-rtc-pt7c4338 | kmod-rtc-rs5c372a | kmod-rtc-rx8025 | kmod-rtc-s35390a | kmod-sdhci | kmod-serial-8250 | kmod-serial-8250-exar | kmod-softdog | kmod-ssb | kmod-tpm-i2c-atmel | kmod-tpm-i2c-infineon | kmod-w83627hf-wdt | kmod-wifidog-ng | kmod-zram | kmod-mmc-spi | kmod-spi-bitbang | kmod-spi-dev | kmod-spi-gpio | kmod-ac97 | kmod-sound-dummy | kmod-sound-ens1371 | kmod-sound-hda-core | kmod-sound-i8x0 | kmod-sound-mpu401 | kmod-sound-seq | kmod-sound-soc-ac97 | kmod-sound-soc-core | kmod-sound-soc-spdif | kmod-sound-via82xx | kmod-usb-audio | kmod-chaoskey | kmod-usb-acm | kmod-usb-atm | kmod-usb-cm109 | kmod-usb-core | kmod-usb-dwc2 | kmod-usb-dwc3 | kmod-usb-hid | kmod-usb-hid-cp2112 | kmod-usb-ledtrig-usbport | kmod-usb-net | kmod-usb-net-aqc111 | kmod-usb-net-asix | kmod-usb-net-asix-ax88179 | kmod-usb-net-cdc-eem | kmod-usb-net-cdc-ether | kmod-usb-net-cdc-mbim | kmod-usb-net-cdc-ncm | kmod-usb-net-cdc-subset | kmod-usb-net-dm9601-ether | kmod-usb-net-hso | kmod-usb-net-huawei-cdc-ncm | kmod-usb-net-ipheth | kmod-usb-net-kalmia | kmod-usb-net-kaweth | kmod-usb-net-lan78xx | kmod-usb-net-mcs7830 | kmod-usb-net-pegasus | kmod-usb-net-pl | kmod-usb-net-qmi-wwan | kmod-usb-net-rndis | kmod-usb-net-rtl8150 | kmod-usb-net-rtl8152 | kmod-usb-net-rtl8152-vendor | kmod-usb-net-sierrawireless | kmod-usb-net-smsc95xx | kmod-usb-net-sr9700 | kmod-usb-ohci | kmod-usb-ohci-pci | kmod-usb-printer | kmod-usb-serial | kmod-usb-serial-ark3116 | kmod-usb-serial-belkin | kmod-usb-serial-ch341 | kmod-usb-serial-cp210x | kmod-usb-serial-cypress-m8 | kmod-usb-serial-edgeport | kmod-usb-serial-ftdi | kmod-usb-serial-garmin | kmod-usb-serial-ipw | kmod-usb-serial-keyspan | kmod-usb-serial-mct | kmod-usb-serial-mos7720 | kmod-usb-serial-mos7840 | kmod-usb-serial-option | kmod-usb-serial-oti6858 | kmod-usb-serial-pl2303 | kmod-usb-serial-qualcomm | kmod-usb-serial-sierrawireless | kmod-usb-serial-simple | kmod-usb-serial-ti-usb | kmod-usb-serial-visor | kmod-usb-storage | kmod-usb-storage-extras | kmod-usb-storage-uas | kmod-usb-uhci | kmod-usb-wdm | kmod-usb-yealink | kmod-usb2 | kmod-usb2-pci | kmod-usb3 | kmod-usbip | kmod-usbip-client | kmod-usbip-server | kmod-usbmon | kmod-multimedia-input | kmod-v4l2loopback | kmod-video-core | kmod-dahdi | kmod-w1 | kmod-at86rf230 | kmod-atusb | kmod-ca8210 | kmod-cc2520 | kmod-fakelb | kmod-ieee802154 | kmod-ieee802154-6lowpan | kmod-mac802154 | kmod-mrf24j40 | kmod-adm8211 | kmod-ar5523 | kmod-ath | kmod-ath10k | kmod-ath10k-ct | kmod-ath10k-ct-smallbuffers | kmod-ath10k-smallbuffers | kmod-ath5k | kmod-ath6kl-sdio | kmod-ath6kl-usb | kmod-ath9k | kmod-ath9k-htc | kmod-b43 | kmod-b43legacy | kmod-brcmfmac | kmod-brcmsmac | kmod-brcmutil | kmod-carl9170 | kmod-cfg80211 | kmod-hermes | kmod-hermes-pci | kmod-hermes-plx | kmod-ipw2100 | kmod-ipw2200 | kmod-iwl-legacy | kmod-iwl3945 | kmod-iwl4965 | kmod-iwlwifi | kmod-lib80211 | kmod-libertas-sdio | kmod-libertas-spi | kmod-libertas-usb | kmod-libipw | kmod-mac80211 | kmod-mac80211-hwsim | kmod-mt76 | kmod-mt7601u | kmod-mt7601u-ap | kmod-mt7603 | kmod-mt7615-firmware | kmod-mt7615e | kmod-mt7663-firmware-ap | kmod-mt7663-firmware-sta | kmod-mt7663s | kmod-mt7663u | kmod-mt76x0e | kmod-mt76x0u | kmod-mt76x2 | kmod-mt76x2u | kmod-mt7915e | kmod-mt7921e | kmod-mt7921s | kmod-mt7921u | kmod-mwifiex-pcie | kmod-mwifiex-sdio | kmod-mwl8k | kmod-net-prism54 | kmod-net-rtl8192su | kmod-owl-loader | kmod-p54-common | kmod-p54-pci | kmod-p54-usb | kmod-rsi91x | kmod-rsi91x-sdio | kmod-rsi91x-usb | kmod-rt2400-pci | kmod-rt2500-pci | kmod-rt2500-usb | kmod-rt2800-pci | kmod-rt2800-usb | kmod-rt2x00-lib | kmod-rt61-pci | kmod-rt73-usb | kmod-rtl8180 | kmod-rtl8187 | kmod-rtl8188eu | kmod-rtl8189es | kmod-rtl8192ce | kmod-rtl8192cu | kmod-rtl8192de | kmod-rtl8192eu | kmod-rtl8192se | kmod-rtl8723bs | kmod-rtl8812au-ac | kmod-rtl8812au-ct | kmod-rtl8821ae | kmod-rtl8821cu | kmod-rtl88x2bu | kmod-rtl8xxxu | kmod-rtw88 | kmod-wil6210 | kmod-wl12xx | kmod-wl18xx | kmod-wlcore | kmod-zd1211rw | erlang | erlang-asn1 | erlang-compiler | erlang-crypto | erlang-erl-interface | erlang-inets | erlang-mnesia | erlang-os_mon | erlang-public-key | erlang-reltool | erlang-runtime-tools | erlang-snmp | erlang-ssh | erlang-ssl | erlang-syntax-tools | erlang-tools | erlang-xmerl | golang | golang-doc | golang-github-jedisct1-dnscrypt-proxy2-dev | golang-github-nextdns-nextdns-dev | golang-src | cqueues | dkjson | json4lua | ldbus | linotify | lpeg | lsqlite3 | lua-bencode | lua-bit32 | lua-copas | lua-coxpcall | lua-cs-bouncer | lua-curl-v3 | lua-examples | lua-lzlib | lua-md5 | lua-mobdebug | lua-mosquitto | lua-openssl | lua-penlight | lua-rings | lua-rs232 | lua-sha2 | lua-wsapi-base | lua-wsapi-xavante | lua-xavante | lua5.3 | luabitop | luac | luac5.3 | luaexpat | luafilesystem | luai2c | luajit | lualanes | luaossl | luaposix | luarocks | luasec | luasoap | luasocket5.3 | luasql-mysql | luasql-pgsql | luasql-sqlite3 | luv | lyaml | lzmq | uuid | php7 | php8 | perl | libpython3 | micropython-lib | micropython-mbedtls | micropython-nossl | python-pip-conf | python3 | python3-RPi.GPIO | python3-aiohttp | python3-aiohttp-cors | python3-apipkg | python3-apparmor | python3-appdirs | python3-asgiref | python3-astral | python3-async-timeout | python3-asyncio | python3-atomicwrites | python3-attrs | python3-augeas | python3-automat | python3-awesomeversion | python3-awscli | python3-babel | python3-base | python3-bcrypt | python3-bidict | python3-boto3 | python3-botocore | python3-bottle | python3-cached-property | python3-cachelib | python3-cachetools | python3-certifi | python3-cffi | python3-cgi | python3-cgitb | python3-chardet | python3-ciso8601 | python3-click | python3-click-log | python3-codecs | python3-colorama | python3-constantly | python3-contextlib2 | python3-cryptodome | python3-cryptodomex | python3-cryptography | python3-ctypes | python3-curl | python3-dateutil | python3-dbm | python3-decimal | python3-decorator | python3-defusedxml | python3-dev | python3-distro | python3-distutils | python3-django | python3-django-cors-headers | python3-django-etesync-journal | python3-django-restframework | python3-dns | python3-docker | python3-dockerpty | python3-docopt | python3-docutils | python3-dotenv | python3-drf-nested-routers | python3-email | python3-engineio | python3-et_xmlfile | python3-evdev | python3-eventlet | python3-execnet | python3-flask | python3-flask-babel | python3-flask-httpauth | python3-flask-login | python3-flask-restful | python3-flask-seasurf | python3-flask-session | python3-flask-socketio | python3-flup | python3-gmpy2 | python3-gnupg | python3-gpiod | python3-greenlet | python3-hyperlink | python3-idna | python3-ifaddr | python3-importlib-metadata | python3-incremental | python3-influxdb | python3-iniconfig | python3-intelhex | python3-itsdangerous | python3-jdcal | python3-jinja2 | python3-jmespath | python3-jsonpath-ng | python3-jsonschema | python3-lib2to3 | python3-libmodbus | python3-libselinux | python3-libsemanage | python3-light | python3-logging | python3-lxml | python3-lzma | python3-markdown | python3-markupsafe | python3-maxminddb | python3-more-itertools | python3-msgpack | python3-multidict | python3-multiprocessing | python3-mutagen | python3-ncurses | python3-netdisco | python3-netifaces | python3-networkx | python3-numpy | python3-openpyxl | python3-openssl | python3-packaging | python3-paho-mqtt | python3-paramiko | python3-parsley | python3-passlib | python3-pillow | python3-pip | python3-pkg-resources | python3-pluggy | python3-ply | python3-psutil | python3-psycopg2 | python3-py | python3-pyasn1 | python3-pyasn1-modules | python3-pycparser | python3-pydoc | python3-pyinotify | python3-pymysql | python3-pynacl | python3-pyodbc | python3-pyopenssl | python3-pyotp | python3-pyparsing | python3-pyroute2 | python3-pyrsistent | python3-pyserial | python3-pysocks | python3-pytest | python3-pytest-forked | python3-pytest-xdist | python3-pytz | python3-readline | python3-requests | python3-rsa | python3-ruamel-yaml | python3-s3transfer | python3-schedule | python3-schema | python3-sentry-sdk | python3-sepolgen | python3-sepolicy | python3-service-identity | python3-setuptools | python3-six | python3-slugify | python3-smbus | python3-socketio | python3-sqlalchemy | python3-sqlite3 | python3-sqlparse | python3-stem | python3-text-unidecode | python3-texttable | python3-toml | python3-tornado | python3-twisted | python3-typing-extensions | python3-ubus | python3-uci | python3-unidecode | python3-unittest | python3-urllib | python3-urllib3 | python3-uuid | python3-vobject | python3-voluptuous | python3-voluptuous-serialize | python3-wcwidth | python3-websocket-client | python3-websockets | python3-werkzeug | python3-xml | python3-xmltodict | python3-yaml | python3-yarl | python3-zeroconf | python3-zipp | python3-zope-interface | ruby | tcl | chicken-scheme-full | chicken-scheme-interpreter | python3-gensio | slsh | libbz2 | liblz4 | liblzma | libunrar | libzip-gnutls | libzip-mbedtls | libzip-nossl | libzip-openssl | libzstd | libmariadb | libpq | libsqlite3 | pgsqlodbc | psqlodbca | psqlodbcw | redis-cli | redis-server | redis-utils | tdb | unixodbc | libacl | libattr | libfuse | libfuse3 | libow | libow-capi | libsysfs | libfko | libxtables-nft | quasselc | libmraa | libmraa-python3 | libupm | libupm-a110x | libupm-a110x-python3 | libupm-abp | libupm-abp-python3 | libupm-ad8232 | libupm-ad8232-python3 | libupm-adafruitms1438 | libupm-adafruitms1438-python3 | libupm-adafruitss | libupm-adafruitss-python3 | libupm-adc121c021 | libupm-adc121c021-python3 | libupm-adis16448 | libupm-adis16448-python3 | libupm-ads1x15 | libupm-ads1x15-python3 | libupm-adxl335 | libupm-adxl335-python3 | libupm-adxl345 | libupm-adxl345-python3 | libupm-adxrs610 | libupm-adxrs610-python3 | libupm-am2315 | libupm-am2315-python3 | libupm-apa102 | libupm-apa102-python3 | libupm-apds9002 | libupm-apds9002-python3 | libupm-apds9930 | libupm-apds9930-python3 | libupm-at42qt1070 | libupm-at42qt1070-python3 | libupm-bh1749 | libupm-bh1749-python3 | libupm-bh1750 | libupm-bh1750-python3 | libupm-bh1792 | libupm-bh1792-python3 | libupm-biss0001 | libupm-biss0001-python3 | libupm-bma220 | libupm-bma220-python3 | libupm-bma250e | libupm-bma250e-python3 | libupm-bmg160 | libupm-bmg160-python3 | libupm-bmi160 | libupm-bmi160-python3 | libupm-bmm150 | libupm-bmm150-python3 | libupm-bmp280 | libupm-bmp280-python3 | libupm-bmpx8x | libupm-bmpx8x-python3 | libupm-bmx055 | libupm-bmx055-python3 | libupm-bno055 | libupm-bno055-python3 | libupm-button | libupm-button-python3 | libupm-buzzer | libupm-buzzer-python3 | libupm-cjq4435 | libupm-cjq4435-python3 | libupm-collision | libupm-collision-python3 | libupm-curieimu | libupm-curieimu-python3 | libupm-cwlsxxa | libupm-cwlsxxa-python3 | libupm-dfrec | libupm-dfrec-python3 | libupm-dfrorp | libupm-dfrorp-python3 | libupm-dfrph | libupm-dfrph-python3 | libupm-ds1307 | libupm-ds1307-python3 | libupm-ds1808lc | libupm-ds1808lc-python3 | libupm-ds18b20 | libupm-ds18b20-python3 | libupm-ds2413 | libupm-ds2413-python3 | libupm-ecezo | libupm-ecezo-python3 | libupm-ecs1030 | libupm-ecs1030-python3 | libupm-ehr | libupm-ehr-python3 | libupm-eldriver | libupm-eldriver-python3 | libupm-electromagnet | libupm-electromagnet-python3 | libupm-emg | libupm-emg-python3 | libupm-enc03r | libupm-enc03r-python3 | libupm-flex | libupm-flex-python3 | libupm-gas | libupm-gas-python3 | libupm-gp2y0a | libupm-gp2y0a-python3 | libupm-gprs | libupm-gprs-python3 | libupm-gsr | libupm-gsr-python3 | libupm-guvas12d | libupm-guvas12d-python3 | libupm-h3lis331dl | libupm-h3lis331dl-python3 | libupm-h803x | libupm-h803x-python3 | libupm-hcsr04 | libupm-hcsr04-python3 | libupm-hdc1000 | libupm-hdc1000-python3 | libupm-hdxxvxta | libupm-hdxxvxta-python3 | libupm-hka5 | libupm-hka5-python3 | libupm-hlg150h | libupm-hlg150h-python3 | libupm-hm11 | libupm-hm11-python3 | libupm-hmc5883l | libupm-hmc5883l-python3 | libupm-hmtrp | libupm-hmtrp-python3 | libupm-hp20x | libupm-hp20x-python3 | libupm-ht9170 | libupm-ht9170-python3 | libupm-htu21d | libupm-htu21d-python3 | libupm-hwxpxx | libupm-hwxpxx-python3 | libupm-hx711 | libupm-hx711-python3 | libupm-ili9341 | libupm-ili9341-python3 | libupm-ims | libupm-ims-python3 | libupm-ina132 | libupm-ina132-python3 | libupm-interfaces | libupm-interfaces-python3 | libupm-isd1820 | libupm-isd1820-python3 | libupm-itg3200 | libupm-itg3200-python3 | libupm-jhd1313m1 | libupm-jhd1313m1-python3 | libupm-joystick12 | libupm-joystick12-python3 | libupm-kx122 | libupm-kx122-python3 | libupm-kxcjk1013 | libupm-kxcjk1013-python3 | libupm-kxtj3 | libupm-kxtj3-python3 | libupm-l298 | libupm-l298-python3 | libupm-l3gd20 | libupm-l3gd20-python3 | libupm-lcd | libupm-lcd-python3 | libupm-lcdks | libupm-lcdks-python3 | libupm-lcm1602 | libupm-lcm1602-python3 | libupm-ldt0028 | libupm-ldt0028-python3 | libupm-led | libupm-led-python3 | libupm-lidarlitev3 | libupm-lidarlitev3-python3 | libupm-light | libupm-light-python3 | libupm-linefinder | libupm-linefinder-python3 | libupm-lis2ds12 | libupm-lis2ds12-python3 | libupm-lis3dh | libupm-lis3dh-python3 | libupm-lm35 | libupm-lm35-python3 | libupm-lol | libupm-lol-python3 | libupm-loudness | libupm-loudness-python3 | libupm-lp8860 | libupm-lp8860-python3 | libupm-lpd8806 | libupm-lpd8806-python3 | libupm-lsm303agr | libupm-lsm303agr-python3 | libupm-lsm303d | libupm-lsm303d-python3 | libupm-lsm303dlh | libupm-lsm303dlh-python3 | libupm-lsm6ds3h | libupm-lsm6ds3h-python3 | libupm-lsm6dsl | libupm-lsm6dsl-python3 | libupm-lsm9ds0 | libupm-lsm9ds0-python3 | libupm-m24lr64e | libupm-m24lr64e-python3 | libupm-mag3110 | libupm-mag3110-python3 | libupm-max30100 | libupm-max30100-python3 | libupm-max31723 | libupm-max31723-python3 | libupm-max31855 | libupm-max31855-python3 | libupm-max44000 | libupm-max44000-python3 | libupm-max44009 | libupm-max44009-python3 | libupm-max5487 | libupm-max5487-python3 | libupm-maxds3231m | libupm-maxds3231m-python3 | libupm-maxsonarez | libupm-maxsonarez-python3 | libupm-mb704x | libupm-mb704x-python3 | libupm-mcp2515 | libupm-mcp2515-python3 | libupm-mcp9808 | libupm-mcp9808-python3 | libupm-md | libupm-md-python3 | libupm-mg811 | libupm-mg811-python3 | libupm-mhz16 | libupm-mhz16-python3 | libupm-mic | libupm-mic-python3 | libupm-micsv89 | libupm-micsv89-python3 | libupm-mlx90614 | libupm-mlx90614-python3 | libupm-mma7361 | libupm-mma7361-python3 | libupm-mma7455 | libupm-mma7455-python3 | libupm-mma7660 | libupm-mma7660-python3 | libupm-mma8x5x | libupm-mma8x5x-python3 | libupm-mmc35240 | libupm-mmc35240-python3 | libupm-moisture | libupm-moisture-python3 | libupm-mpl3115a2 | libupm-mpl3115a2-python3 | libupm-mpr121 | libupm-mpr121-python3 | libupm-mpu9150 | libupm-mpu9150-python3 | libupm-mq303a | libupm-mq303a-python3 | libupm-ms5611 | libupm-ms5611-python3 | libupm-ms5803 | libupm-ms5803-python3 | libupm-my9221 | libupm-my9221-python3 | libupm-nlgpio16 | libupm-nlgpio16-python3 | libupm-nmea_gps | libupm-nmea_gps-python3 | libupm-nrf24l01 | libupm-nrf24l01-python3 | libupm-nrf8001 | libupm-nrf8001-python3 | libupm-nunchuck | libupm-nunchuck-python3 | libupm-o2 | libupm-o2-python3 | libupm-otp538u | libupm-otp538u-python3 | libupm-ozw | libupm-ozw-python3 | libupm-p9813 | libupm-p9813-python3 | libupm-pca9685 | libupm-pca9685-python3 | libupm-pn532 | libupm-pn532-python3 | libupm-ppd42ns | libupm-ppd42ns-python3 | libupm-pulsensor | libupm-pulsensor-python3 | libupm-relay | libupm-relay-python3 | libupm-rf22 | libupm-rf22-python3 | libupm-rfr359f | libupm-rfr359f-python3 | libupm-rgbringcoder | libupm-rgbringcoder-python3 | libupm-rhusb | libupm-rhusb-python3 | libupm-rn2903 | libupm-rn2903-python3 | libupm-rotary | libupm-rotary-python3 | libupm-rotaryencoder | libupm-rotaryencoder-python3 | libupm-rpr220 | libupm-rpr220-python3 | libupm-rsc | libupm-rsc-python3 | libupm-scam | libupm-scam-python3 | libupm-sensortemplate | libupm-sensortemplate-python3 | libupm-servo | libupm-servo-python3 | libupm-sht1x | libupm-sht1x-python3 | libupm-si1132 | libupm-si1132-python3 | libupm-si114x | libupm-si114x-python3 | libupm-si7005 | libupm-si7005-python3 | libupm-slide | libupm-slide-python3 | libupm-sm130 | libupm-sm130-python3 | libupm-smartdrive | libupm-smartdrive-python3 | libupm-speaker | libupm-speaker-python3 | libupm-ssd1351 | libupm-ssd1351-python3 | libupm-st7735 | libupm-st7735-python3 | libupm-stepmotor | libupm-stepmotor-python3 | libupm-sx1276 | libupm-sx1276-python3 | libupm-sx6119 | libupm-sx6119-python3 | libupm-t3311 | libupm-t3311-python3 | libupm-t6713 | libupm-t6713-python3 | libupm-ta12200 | libupm-ta12200-python3 | libupm-tca9548a | libupm-tca9548a-python3 | libupm-tcs3414cs | libupm-tcs3414cs-python3 | libupm-tcs37727 | libupm-tcs37727-python3 | libupm-teams | libupm-teams-python3 | libupm-temperature | libupm-temperature-python3 | libupm-tex00 | libupm-tex00-python3 | libupm-th02 | libupm-th02-python3 | libupm-tm1637 | libupm-tm1637-python3 | libupm-tmp006 | libupm-tmp006-python3 | libupm-tsl2561 | libupm-tsl2561-python3 | libupm-ttp223 | libupm-ttp223-python3 | libupm-uartat | libupm-uartat-python3 | libupm-uln200xa | libupm-uln200xa-python3 | libupm-ultrasonic | libupm-ultrasonic-python3 | libupm-urm37 | libupm-urm37-python3 | libupm-utilities | libupm-utilities-python3 | libupm-vcap | libupm-vcap-python3 | libupm-vdiv | libupm-vdiv-python3 | libupm-veml6070 | libupm-veml6070-python3 | libupm-water | libupm-water-python3 | libupm-waterlevel | libupm-waterlevel-python3 | libupm-wfs | libupm-wfs-python3 | libupm-wheelencoder | libupm-wheelencoder-python3 | libupm-wt5001 | libupm-wt5001-python3 | libupm-xbee | libupm-xbee-python3 | libupm-yg1006 | libupm-yg1006-python3 | libupm-zfm20 | libupm-zfm20-python3 | libyaml | libelektra-core | libelektra-cpp | libelektra-crypto | libelektra-curlget | libelektra-dbus | libelektra-ev | libelektra-extra | libelektra-lua | libelektra-plugins | libelektra-python3 | libelektra-resolvers | libelektra-uv | libelektra-xerces | libelektra-xml | libelektra-yajl | libelektra-yamlcpp | libelektra-zmq | libdcwproto | libdcwsocket | libsctp | libslirp | libuhttpd-mbedtls | libuhttpd-nossl | libuhttpd-openssl | libuhttpd-wolfssl | libulfius-gnutls | libulfius-nossl | libunbound | libuwsc-mbedtls | libuwsc-nossl | libuwsc-openssl | libuwsc-wolfssl | libcups | libcupsimage | libQt6Concurrent | libQt6Core | libQt6DBus | libQt6Gui | libQt6Network | libQt6PrintSupport | libQt6Sql | libQt6Test | libQt6Widgets | libQt6Xml | qt6-plugin-libqcertonlybackend | qt6-plugin-libqminimal | qt6-plugin-libqnetworkmanager | qt6-plugin-libqoffscreen | qt6-plugin-libqopensslbackend | qt6-plugin-libqsqlite | qt6-plugin-libqtuiotouchplugin | qt6-plugin-libqxdgdesktopportal | libgnutls | libgnutls-dane | libnss | libopenssl-devcrypto | libopenssl-gost_engine | libwolfssl | alsa-ucm-conf | liblo | bcg729 | dahdi-tools-libtonezone | gsmlib | libctb | libfreetdm | libiksemel | libks | libosip2 | libpj | libpjlib-util | libpjmedia | libpjnath | libpjsip | libpjsip-simple | libpjsip-ua | libpjsua | libpjsua2 | libre | librem | libspandsp | libspandsp3 | libsrtp2 | signalwire-client-c | sofia-sip | libimobiledevice | libplist | libusbmuxd | acsccid | alsa-lib | antileech | argp-standalone | avro-c | bind-libs | bluez-libs | boost-atomic | boost-chrono | boost-container | boost-context | boost-contract | boost-coroutine | boost-fiber | boost-filesystem | boost-graph | boost-iostreams | boost-json | boost-locale | boost-log | boost-math | boost-nowide | boost-python3 | boost-random | boost-regex | boost-serialization | boost-wserialization | boost-stacktrace | boost-thread | boost-timer | boost-type_erasure | boost-wave | boringssl | cJSON | ccid | check | confuse | cpp-httplib | czmq | dtndht | getdns | gflags | giflib | glib2 | glog | google-authenticator-libpam | hidapi | ibrcommon | ibrdtn | icu | icu-data-tools | icu-full-data | jansson | json-glib | jsoncpp | knot-libs | knot-libzscanner | libaio | libalac | libantlr3c | libao | libapparmor | libapr | libaprutil | libarchive | libarchive-noopenssl | libasm | libassuan | libatasmart | libaudit | libauparse | libavahi-client | libavahi-compat-libdnssd | libavahi-dbus-support | libavahi-nodbus-support | libavl | libbfd | libblkid | libbsd | libcanfestival | libcap | libcap-ng | libcbor | libcgroup | libcharset | libcoap | libcomerr | libconfig | libcron | libcryptopp | libctf | libdaemon | libdaq | libdaq3 | libdb47 | libdb47xx | libdbi | libdbus | libdevmapper | libdevmapper-selinux | libdmapsharing | libdnet | libdouble-conversion | libdrm | libdvbcsa | libdw | libecdsautil | libedit | libesmtp | libestr | libevdev | libevent2 | libevent2-core | libevent2-extra | libevent2-openssl | libevent2-pthreads | libexif | libexpat | libexslt | libext2fs | libextractor | libf2fs | libf2fs-selinux | libfaad2 | libfastjson | libfdisk | libfdt | libffi | libffmpeg-audio-dec | libffmpeg-custom | libffmpeg-full | libffmpeg-mini | libfido2 | libflac | libfmt | libfreetype | libfstrm | libftdi | libftdi1 | libgabe | libgcrypt | libgd | libgd-full | libgdbm | libgee | libgensio | libgensiocpp | libglpk | libgnurl | libgpg-error | libgpgme | libgpgmepp | libgphoto2 | libgpiod | libgps | libhamlib | libhavege | libhiredis | libhttp-parser | libhwloc | libi2c | libical | libiconv | libiconv-full | libid3tag | libidn | libidn2 | libiio | libinotifytools | libinput | libintl | libintl-full | libipfs-http-client | libiw | libjpeg-turbo | libkeyutils | libkmod | libksba | libldns | liblucihttp | liblucihttp-lua | liblzo | libmad | libmagic | libmbim | libmcrypt | libmicrohttpd-no-ssl | libmicrohttpd-ssl | libmicrosocks11 | libmilter-sendmail | libminiupnpc | libmms | libmodbus | libmosquitto-nossl | libmosquitto-ssl | libmount | libmpdclient | libmpeg2 | libmpg123 | libnatpmp | libndpi | libneon | libnet-1.2.x | libnetconf2 | libnetfilter-acct | libnetfilter-conntrack | libnetfilter-cthelper | libnetfilter-cttimeout | libnetfilter-log | libnetfilter-queue | libnetsnmp | libnfnetlink | libnftnl | libnl | libnl-core | libnl-genl | libnl-nf | libnl-route | libnopoll | libnpth | libnpupnp | libogg | liboil | libopcodes | libopendkim | libopenobex | libopensc | libopenzwave | liboping | libopus | libopusenc | libopusfile | liborcania | libout123 | libowipcalc | libp11 | libpagekite | libpam | libparted | libpbc | libpcap | libpci | libpciaccess | libpcre16 | libpcre2 | libpcre2-16 | libpcre2-32 | libpcre32 | libpcsclite | libpfring | libpkcs11-spy | libpkgconf | libpng | libpopt | libpri | libprotobuf-c | libpsl | libqmi | libqrencode | libqrtr-glib | libquickjs | libradcli | libredblack | librouteros | libroxml | librrd1 | librtlsdr | libruby | libsamplerate | libsane | libsasl2 | libsasl2-sasldb | libseccomp | libselinux | libsemanage | libsensors | libsepol | libshout | libshout-full | libshout-nossl | libsigar | libsispmctl | libslang2 | libslang2-mod-base64 | libslang2-mod-chksum | libslang2-mod-csv | libslang2-mod-fcntl | libslang2-mod-fork | libslang2-mod-histogram | libslang2-mod-iconv | libslang2-mod-json | libslang2-mod-onig | libslang2-mod-pcre | libslang2-mod-png | libslang2-mod-rand | libslang2-mod-select | libslang2-mod-slsmg | libslang2-mod-socket | libslang2-mod-stats | libslang2-mod-sysconf | libslang2-mod-termios | libslang2-mod-varray | libslang2-mod-zlib | libslang2-modules | libsmartcols | libsndfile | libsoc | libsocks | libsoup | libsoxr | libspeex | libspeexdsp | libspice-server | libss | libssh | libssh2 | libstoken | libstrophe | libsyn123 | libsysrepo | libtalloc | libtar | libtasn1 | libtheora | libtiff | libtins | libtirpc | libtorrent-rasterbar | libubox-lua | libuci2 | libudev-zero | libuecc | libugpio | libunistring | libunwind | libupnp | libupnpp | liburcu | liburing | libusb-1.0 | libusb-compat | libustream-mbedtls | libustream-wolfssl | libuv | libuvc | libv4l | libvorbis | libvorbisidec | libvpx | libwebp | libwebsockets-full | libwebsockets-mbedtls | libwebsockets-openssl | libwrap | libwxbase | libx264 | libxerces-c | libxerces-c-samples | libxml2 | libxslt | libyaml-cpp | libyang | libzdb | libzmq-curve | libzmq-nc | linux-atm | lmdb | log4cplus | loudmouth | lttng-ust | minizip | msgpack-c | mtdev | musl-fts | mxml | nspr | oniguruma | openblas | openpgm | p11-kit | pixman | poco | poco-all | protobuf | protobuf-lite | pthsem | re2 | sbc | serdisplib | taglib | tinycdb | totem-pl-parser | uw-imap | xmlrpc-c | xmlrpc-c-client | xmlrpc-c-server | yajl | luci-nginx | luci-ssl | luci-ssl-nginx | luci-ssl-openssl | luci-mod-failsafe | luci-mod-rpc | TURBOACC_INCLUDE_SHORTCUT_FE | TURBOACC_INCLUDE_DNSFORWARDER | TURBOACC_INCLUDE_DNSPROXY | luci-theme-Butterfly | luci-theme-Butterfly-dark | luci-theme-argon-dark-mod | luci-theme-argon-light-mod | luci-theme-argon-mc | luci-theme-argon-mod | luci-theme-argon-new | luci-theme-argonv2 | luci-theme-argonv3 | luci-theme-atmaterial | luci-theme-bootstrap-mod | luci-theme-darkmatter | luci-theme-infinityfreedom | luci-theme-material | luci-theme-neobird | luci-theme-netgear | luci-theme-netgearv2 | luci-theme-opentomato | luci-theme-opentomcat | luci-theme-rosy | luci-proto-3g | luci-proto-bonding | luci-proto-ipip | luci-proto-mbim | luci-proto-minieap | luci-proto-modemmanager | luci-proto-ncm | luci-proto-openconnect | luci-proto-qmi | luci-proto-relay | luci-proto-vpnc | luci-proto-wireguard | luci-lib-dracula | luci-lib-httpclient | luci-lib-httpprotoutils | luci-lib-iptparser | luci-lib-jquery-1-4 | luci-lib-json | luci-lib-luaneightbl | luci-lib-nixio_notls | luci-lib-nixio_axtls | luci-lib-nixio_cyassl | luci-lib-px5g | luci-i18n-base-ca | luci-i18n-base-cs | luci-i18n-base-de | luci-i18n-base-el | luci-i18n-base-es | luci-i18n-base-fr | luci-i18n-base-he | luci-i18n-base-hu | luci-i18n-base-it | luci-i18n-base-ja | luci-i18n-base-ko | luci-i18n-base-ms | luci-i18n-base-no | luci-i18n-base-pl | luci-i18n-base-pt | luci-i18n-base-pt-br | luci-i18n-base-ro | luci-i18n-base-ru | luci-i18n-base-sk | luci-i18n-base-sv | luci-i18n-base-tr | luci-i18n-base-uk | luci-i18n-base-vi | luci-i18n-base-zh-tw | luci-i18n-firewall-ca | luci-i18n-firewall-cs | luci-i18n-firewall-de | luci-i18n-firewall-el | luci-i18n-firewall-es | luci-i18n-firewall-fr | luci-i18n-firewall-he | luci-i18n-firewall-hu | luci-i18n-firewall-it | luci-i18n-firewall-ja | luci-i18n-firewall-ko | luci-i18n-firewall-ms | luci-i18n-firewall-no | luci-i18n-firewall-pl | luci-i18n-firewall-pt | luci-i18n-firewall-pt-br | luci-i18n-firewall-ro | luci-i18n-firewall-ru | luci-i18n-firewall-sk | luci-i18n-firewall-sv | luci-i18n-firewall-tr | luci-i18n-firewall-uk | luci-i18n-firewall-vi | luci-i18n-firewall-zh-tw | luci-i18n-upnp-ca | luci-i18n-upnp-cs | luci-i18n-upnp-de | luci-i18n-upnp-el | luci-i18n-upnp-es | luci-i18n-upnp-fr | luci-i18n-upnp-he | luci-i18n-upnp-hu | luci-i18n-upnp-it | luci-i18n-upnp-ja | luci-i18n-upnp-ms | luci-i18n-upnp-no | luci-i18n-upnp-pl | luci-i18n-upnp-pt | luci-i18n-upnp-pt-br | luci-i18n-upnp-ro | luci-i18n-upnp-ru | luci-i18n-upnp-sk | luci-i18n-upnp-sv | luci-i18n-upnp-tr | luci-i18n-upnp-uk | luci-i18n-upnp-vi | luci-i18n-upnp-zh-tw | alpine | bogofilter | dovecot | dovecot-pigeonhole | dovecot-utils | emailrelay | exim | exim-gnutls | exim-ldap | exim-openssl | fdm | greyfix | mailsend | mailsend-nossl | mblaze | msmtp | msmtp-mta | msmtp-nossl | msmtp-queue | mutt | nail | opendkim | opendkim-tools | postfix | spamc | spamc-ssl | 8021xd | oggfwd | UnblockNeteaseMusic-Go | ffmpeg | ffprobe | fswebcam | gallery-dl | gmediarender | gphoto2 | graphicsmagick | grilo | grilo-plugins | gst1-libav | gstreamer1-libs | gstreamer1-plugins-bad | gstreamer1-plugins-base | gstreamer1-plugins-good | gstreamer1-plugins-ugly | gstreamer1-utils | icecast | imagemagick | lcdgrilo | lux | minidlna | minisatip | mjpg-streamer | motion | tvheadend | v4l2rtspserver | v4l2tools | vips | xupnpd | ykdl | you-get | youtube-dl | yt-dlp | mktorrent | opentracker | opentracker6 | qBittorrent-Enhanced-Edition | rtorrent | rtorrent-rpc | simple-torrent | transmission-cli-mbedtls | transmission-cli-openssl | transmission-daemon-mbedtls | transmission-daemon-openssl | transmission-remote-mbedtls | transmission-remote-openssl | transmission-web-control | bitsrunlogin-go | mentohust | minieap | njit8021xclient | scutclient | sysuh3c | coova-chilli | mesh11sd | nodogsplash | wifidog | wifidog-ng-mbedtls | wifidog-ng-nossl | wifidog-ng-openssl | wifidog-ng-wolfssl | wifidog-tls | cloudreve | rclone-ng | rclone-webui-react | rp-pppoe-common | rp-pppoe-relay | rp-pppoe-server | ariang | ariang-nginx | baidupcs-web | pandownload-fake-server | webui-aria2 | yaaw | aria2 | atftp | atftpd | gnurl | go-aliyundrive-webdav | gowebdav | lftp | ps3netsrv | rclone | rclone-config | rsync | rsyncd | transfer | vsftpd | vsftpd-tls | webdav-go | wget-nossl | davfs2 | ksmbd-avahi-service | ksmbd-hotplug | ksmbd-server | ksmbd-utils | netatalk | nfs-kernel-server | owftpd | owhttpd | owserver | sshfs | arptables | ebtables | fwknop | fwknopd | ip6tables-extra | iptables-mod-account | iptables-mod-chaos | iptables-mod-checksum | iptables-mod-cluster | iptables-mod-clusterip | iptables-mod-condition | iptables-mod-delude | iptables-mod-dhcpmac | iptables-mod-dnetmap | iptables-mod-filter | iptables-mod-fuzzy | iptables-mod-geoip | iptables-mod-hashlimit | iptables-mod-iface | iptables-mod-ipmark | iptables-mod-ipp2p | iptables-mod-ipsec | iptables-mod-ipv4options | iptables-mod-led | iptables-mod-length2 | iptables-mod-logmark | iptables-mod-lscan | iptables-mod-lua | iptables-mod-nflog | iptables-mod-nfqueue | iptables-mod-physdev | iptables-mod-proto | iptables-mod-psd | iptables-mod-quota2 | iptables-mod-rpfilter | iptables-mod-rtpengine | iptables-mod-sysrq | iptables-mod-tarpit | iptables-mod-tee | iptables-mod-trace | iptables-mod-u32 | iptables-mod-ulog | iptaccount | iptgeoip | miniupnpc | natpmpc | nftables-json | nftables-nojson | shorewall | shorewall-core | shorewall-lite | shorewall6 | shorewall6-lite | snort | iodine | iodined | freeradius3 | freeradius3-common | freeradius3-utils | aggregate | announce | avahi-autoipd | avahi-daemon-service-http | avahi-daemon-service-ssh | avahi-dbus-daemon | avahi-dnsconfd | avahi-nodbus-daemon | avahi-utils | bind-check | bind-client | bind-dig | bind-dnssec | bind-host | bind-nslookup | bind-rndc | bind-server | bind-tools | chinadns | ddns-scripts | ddns-scripts_aliyun | ddns-scripts_dnspod | dhcp-forwarder | dns-forwarder | dns-over-https | dnscrypt-proxy | dnscrypt-proxy-resolvers | dnslookup | dnsproxy | drill | hostip | idn | idn2 | inadyn | isc-dhcp-client-ipv4 | isc-dhcp-client-ipv6 | isc-dhcp-omshell-ipv4 | isc-dhcp-omshell-ipv6 | isc-dhcp-relay-ipv4 | isc-dhcp-relay-ipv6 | isc-dhcp-server-ipv4 | isc-dhcp-server-ipv6 | kadnode | knot | knot-dig | knot-host | knot-keymgr | knot-nsupdate | knot-resolver | knot-resolver_dnstap | knot-tests | knot-zonecheck | ldns-examples | mdns-utils | mdnsd | mdnsresponder | mosdns | nsd | nsd-control | nsd-control-setup | nsd-nossl | ohybridproxy | overture | pcap-dnsproxy | stubby | tor-hs | torsocks | unbound-anchor | unbound-checkconf | unbound-control | unbound-control-setup | unbound-daemon | unbound-host | v2ray-geoip | v2ray-geosite | wsdd2 | zonestitcher | bitlbee | irssi | ngircd | ngircd-nossl | prosody | quassel-irssi | umurmur-mbedtls | umurmur-openssl | znc | atm-aread | atm-atmaddr | atm-atmdiag | atm-atmdump | atm-atmloop | atm-atmsigd | atm-atmswitch | atm-atmtcp | atm-awrite | atm-bus | atm-debug-tools | atm-diagnostics | atm-esi | atm-ilmid | atm-ilmidiag | atm-lecs | atm-les | atm-mpcd | atm-saaldump | atm-sonetdiag | atm-svc_recv | atm-svc_send | atm-tools | atm-ttcp_atm | atm-zeppelin | br2684ctl | ncat | ncat-full | ncat-ssl | ndiff | nmap | nmap-full | nmap-ssl | nping | nping-ssl | ntripcaster | ntripclient | ntripserver | oonf-dlep-proxy | oonf-dlep-radio | oonf-init-scripts | oonf-olsrd2 | openvswitch | openvswitch-ovn-host | openvswitch-ovn-north | openvswitch-python3 | ovsd | libopenldap | openldap-server | openldap-utils | amule | cups | cups-bsd | cups-client | cups-filters | cups-ppdc | p910nd | babel-pinger | babeld | batmand | bcp38 | bird1-ipv4 | bird1-ipv4-uci | bird1-ipv6 | bird1-ipv6-uci | bird1c-ipv4 | bird1c-ipv6 | bird1cl-ipv4 | bird1cl-ipv6 | bird2 | bird2c | bird2cl | bmx6 | bmx7 | cjdns | cjdns-tests | dcstad | dcwapd | devlink | frr | genl | igmpproxy | ip-bridge | ip-tiny | iptvhelper | lldpd | mcproxy | mrmctl | mwan3 | nstat | olsrd | prince | quagga | rdma | relayd | ss | sslh | tc-full | tcpproxy | ua2f | udp-broadcast-relay-redux | vis | autossh | openssh-client | openssh-client-utils | openssh-keygen | openssh-moduli | openssh-server | openssh-server-pam | openssh-sftp-avahi-service | openssh-sftp-client | openssh-sftp-server | sshtunnel | tmate | thc-ipv6-address6 | thc-ipv6-alive6 | thc-ipv6-covert-send6 | thc-ipv6-covert-send6d | thc-ipv6-denial6 | thc-ipv6-detect-new-ip6 | thc-ipv6-detect-sniffer6 | thc-ipv6-dnsdict6 | thc-ipv6-dnsrevenum6 | thc-ipv6-dos-new-ip6 | thc-ipv6-dump-router6 | thc-ipv6-exploit6 | thc-ipv6-fake-advertise6 | thc-ipv6-fake-dhcps6 | thc-ipv6-fake-dns6d | thc-ipv6-fake-dnsupdate6 | thc-ipv6-fake-mipv6 | thc-ipv6-fake-mld26 | thc-ipv6-fake-mld6 | thc-ipv6-fake-mldrouter6 | thc-ipv6-fake-router26 | thc-ipv6-fake-router6 | thc-ipv6-fake-solicitate6 | thc-ipv6-flood-advertise6 | thc-ipv6-flood-dhcpc6 | thc-ipv6-flood-mld26 | thc-ipv6-flood-mld6 | thc-ipv6-flood-mldrouter6 | thc-ipv6-flood-router26 | thc-ipv6-flood-router6 | thc-ipv6-flood-solicitate6 | thc-ipv6-fragmentation6 | thc-ipv6-fuzz-dhcpc6 | thc-ipv6-fuzz-dhcps6 | thc-ipv6-fuzz-ip6 | thc-ipv6-implementation6 | thc-ipv6-implementation6d | thc-ipv6-inverse-lookup6 | thc-ipv6-kill-router6 | thc-ipv6-ndpexhaust6 | thc-ipv6-node-query6 | thc-ipv6-parasite6 | thc-ipv6-passive-discovery6 | thc-ipv6-randicmp6 | thc-ipv6-redir6 | thc-ipv6-rsmurf6 | thc-ipv6-sendpees6 | thc-ipv6-sendpeesmp6 | thc-ipv6-smurf6 | thc-ipv6-thcping6 | thc-ipv6-toobig6 | thc-ipv6-trace6 | tcpbridge | tcpcapinfo | tcpliveplay | tcpprep | tcpreplay | tcpreplay-all | tcpreplay-edit | tcprewrite | asterisk | baresip | coturn | freeswitch | kamailio | miax | pcapsipdump | rtpengine | rtpengine-no-transcode | rtpengine-recording | rtpproxy | sipp | siproxd | yate | chrony | chrony-nts | htpdate | linuxptp | ntp-keygen | ntp-utils | ntpclient | ntpd | ntpdate | chaosvpn | fastd | n2n-edge | n2n-supernode | ocserv | openconnect | openvpn-easy-rsa | openvpn-mbedtls | openvpn-openssl | openvpn-wolfssl | pptpd | softethervpn-base | softethervpn-bridge | softethervpn-client | softethervpn-server | softethervpn5-bridge | softethervpn5-client | softethervpn5-server | sstp-client | strongswan | tailscale | tailscaled | tinc | tinyfecvpn | uanytun | uanytun-nettle | uanytun-nocrypt | uanytun-sslcrypt | vpnc | vpnc-scripts | wireguard-tools | xl2tpd | zerotier | git | git-http | subversion-client | subversion-libs | subversion-server | adb-enablemodem | comgt | comgt-directip | comgt-ncm | umbim | uqmi | apache | cgi-io | clamav | cloudflared | freshclam | frpc | frps | gateway-go | gq-client | gq-server | halog | haproxy-nossl | kcptun-server | lighttpd | naiveproxy | nginx-all-module | nginx-mod-luci | nginx-ssl | nginx-ssl-util | nginx-ssl-util-nopcre | ngrokc | npc | nps | polipo | privoxy | radicale | radicale2 | radicale2-examples | redsocks2 | shadowsocks-libev-ss-rules | shadowsocks-libev-ss-tunnel | shadowsocks-rust-ssmanager | shadowsocks-rust-ssservice | shadowsocks-rust-ssurl | shadowsocksr-libev-ssr-nat | sockd | socksify | spawn-fcgi | squid | srelay | tinyproxy | trojan-go | uhttpd-mod-lua | uwsgi | v2raya | aircrack-ng | airmon-ng | dynapoint | horst | pixiewps | reaver | wavemon | wifischedule | eapol-test | eapol-test-openssl | eapol-test-wolfssl | hostapd | hostapd-basic | hostapd-basic-openssl | hostapd-basic-wolfssl | hostapd-common | hostapd-mini | hostapd-openssl | hostapd-wolfssl | hs20-client | hs20-common | hs20-server | wpa-supplicant | wpa-supplicant-basic | wpa-supplicant-mini | wpa-supplicant-openssl | wpa-supplicant-wolfssl | wpad | wpad-basic | wpad-basic-openssl | wpad-basic-wolfssl | wpad-mini | wpad-openssl | wpad-wolfssl | arp-scan | arp-scan-database | 464xlat | 6rd | 6to4 | ShadowVPN | UDPspeeder | acme | acme-dnsapi | adblock | adbyby | addrwatch | addrwatch-mysql | addrwatch-stdout | addrwatch-syslog | adguardhome | ahcpd | alfred | apcupsd | apcupsd-cgi | apinger | appfilter | atlas-probe | atlas-sw-probe | atlas-sw-probe-rpc | banip | batctl-default | batctl-full | batctl-tiny | beanstalkd | bmon | boinc | bpftool-full | bpftool-minimal | bwm-ng | cdnspeedtest | chat | cifsmount | cni-route-override | coap-server | conserver | crowdsec | crowdsec-firewall-bouncer | cshark | daemonlogger | darkstat | dawn | dhcpcd | dmapd | dnscrypt-proxy2 | dnsforwarder | dnstap | ds-lite | dsmboot | esniper | etherwake | ethtool-full | fail2ban | fakeidentd | fakepop | family-dns | fast-classifier-example | foolsm | fping | generate-ipv6-address | gensio-bin | geoipupdate | gg | git-lfs | gnunet | go-nats | go-wol | gost | gre | hnet-full | hnet-full-l2tp | hnet-full-secure | hnetd-nossl | hnetd-openssl | httping | httping-nossl | https-dns-proxy | httptunnel | hysteria | i2pd | ibrdtn-tools | ibrdtnd | ifstat | iftop | iiod | iperf | iperf3 | iperf3-ssl | ipip | ipset-dns | ipset-lists | iptraf-ng | iputils-arping | iputils-clockdiff | iputils-ping | iputils-tracepath | irtt | iw | iw-full | jool-tools-netfilter | keepalived | knxd | kplex | krb5-client | krb5-libs | krb5-server | krb5-server-extras | linknx | mac-telnet-client | mac-telnet-discover | mac-telnet-ping | mac-telnet-server | map | mbusd | mdns-repeater | memcached | microsocks11 | mii-tool | mikrotik-btest | mini_snmpd | minimalist-pcproxy | miredo | modemmanager | mosquitto-client-nossl | mosquitto-client-ssl | mosquitto-nossl | mosquitto-ssl | mtr-json | mtr-nojson | mwol | nbd | nbd-server | ncp | ndppd | nebula | nebula-cert | net-tools-route | netcat | netdiscover | netifyd | netperf | netstinky | nextdns | nfdump | nlbwmon | noping | nut | odhcpd | ola | onionshare-cli | ooniprobe | oping | oscam | pagekitec | pcapplusplus | pen | phantap | pimbd | pingcheck | port-mirroring | ppp-mod-passwordfd | ppp-mod-pppoa | ppp-mod-pppol2tp | ppp-mod-pptp | ppp-mod-radius | ppp-multilink | pppdump | pppoe-discovery | pppossh | pppstats | proto-bonding | proxychains-ng | radsecproxy | ratched | redsocks | remserial | rpcapd | rpcbind | rssileds | safe-search | sagernet-core | samba36-client | samba36-net | samba36-server | samba4-admin | samba4-client | samba4-libs | samba4-server | samba4-utils | samplicator | scapy | sctp-tools | ser2net | simple-adblock | simple-obfs-server | slirp4netns | smartdns | smbinfo | snmp-mibs | snmp-utils | snmpd | snmptrapd | socat | softflowd | soloscli | speedtest-cli | speedtest-go | speedtestpp | ssocks | ssocksd | static-neighbor-reports | stunnel | sub-web | subweb | tayga | tcpdump | tcpdump-mini | tcping-simple | tcpping | tgt | tinyPortMapper | tmate-ssh-server | tor | tor-basic | travelmate | u2pnpd | uacme | uacme-ualpn | udhcpsnoop | udp2raw | udpxy | ulogd | umdns | uradvd | usbip | usteer | ustp | uugamebooster | v2ray-example | v2ray-extra | vallumd | verysync | vlmcsd | vncrepeater | vnstat | vpn-policy-routing | vpnbypass | vxlan | wakeonlan | wg-installer-client | wg-installer-server | wol | wpan-tools | wwan | xinetd | xray-example | alsa-utils | alsa-utils-seq | alsa-utils-tests | aserver | espeak | faad2 | fdk-aac | forked-daapd | ices | lame | lame-lib | liblo-utils | madplay | moc | mpc | mpd-avahi-service | mpd-full | mpd-mini | mpg123 | opus-tools | owntone | pianod | pianod-client | portaudio | pulseaudio-daemon | pulseaudio-daemon-avahi | shairplay | shairport-sync-mbedtls | shairport-sync-mini | shairport-sync-openssl | shine | sox | squeezelite-full | squeezelite-mini | svox | upmpdcli | apparmor-profiles | apparmor-utils | fconfig | bsdtar | bsdtar-noopenssl | bzip2 | gzip | lz4 | pigz | unrar | xz-utils | zipcmp | zipmerge | ziptool | zstd | mariadb-client | mariadb-server-base | pgsql-cli | pgsql-cli-extra | pgsql-server | rrdcgi1 | rrdtool1 | sqlite3-cli | unixodbc-tools | autopart | blkid | blockdev | cfdisk | cgdisk | eject | fatresize | fdisk | findfs | fio | fixparts | gdisk | hd-idle | hdparm | lsblk | lvm2 | lvm2-selinux | mdadm | mtools | parted | partx-utils | sfdisk | sgdisk | uvol | wipefs | hexedit | joe | nano-full | nano-plus | vim | vim-full | vim-fuller | vim-help | vim-runtime | zile | ccrypt | certtool | cryptsetup | cryptsetup-ssh | gnupg | gnupg2 | gnupg2-dirmngr | gnutls-utils | gpgv | gpgv2 | keyctl | keyutils | px5g-mbedtls | px5g-standalone | px5g-wolfssl | stoken | acl | afuse | antfs-mount | attr | badblocks | btrfs-progs | chattr | debugfs | dosfstools | dumpe2fs | e2freefrag | e2fsprogs | e4crypt | exfat-fsck | exfat-mkfs | f2fs-tools | f2fs-tools-selinux | f2fsck | f2fsck-selinux | filefrag | fstrim | fuse-utils | fuse3-utils | hfsfsck | lsattr | mkf2fs | mkf2fs-selinux | mkhfs | ncdu | nfs-utils | nfs-utils-libs | ntfs-3g | ntfs-3g-low | ntfs-3g-utils | owfs | owshell | resize2fs | squashfs-tools-mksquashfs | squashfs-tools-unsquashfs | swap-utils | sysfsutils | tune2fs | xfs-admin | xfs-fsck | xfs-growfs | xfs-mkfs | libjpeg-turbo-utils | tiff-utils | avrdude | dfu-programmer | stm32flash | convbin | pos2kml | rnx2rtkp | rtkrcv | str2str | fish | klish | mksh | tcsh | zsh | dahdi-cfg | dahdi-monitor | gsm-utils | sipgrep | sngrep | agetty | dvtm | kitty-terminfo | minicom | picocom | rtty-mbedtls | rtty-nossl | rtty-openssl | rtty-wolfssl | screen | script-utils | serialconsole | setterm | tio | tmux | ttyd | wall | zoneinfo-africa | zoneinfo-all | zoneinfo-asia | zoneinfo-atlantic | zoneinfo-australia-nz | zoneinfo-core | zoneinfo-europe | zoneinfo-india | zoneinfo-northamerica | zoneinfo-pacific | zoneinfo-poles | zoneinfo-simple | zoneinfo-southamerica | libimobiledevice-utils | libusbmuxd-utils | plistutil | usbmuxd | libselinux-avcstat | libselinux-compute_av | libselinux-compute_create | libselinux-compute_member | libselinux-compute_relabel | libselinux-getconlist | libselinux-getdefaultcon | libselinux-getenforce | libselinux-getfilecon | libselinux-getpidcon | libselinux-getsebool | libselinux-getseuser | libselinux-matchpathcon | libselinux-policyvers | libselinux-sefcontext_compile | libselinux-selabel_digest | libselinux-selabel_get_digests_all_partial_matches | libselinux-selabel_lookup | libselinux-selabel_lookup_best_match | libselinux-selabel_partial_match | libselinux-selinux_check_access | libselinux-selinux_check_securetty_context | libselinux-selinuxenabled | libselinux-selinuxexeccon | libselinux-setenforce | libselinux-setfilecon | libselinux-togglesebool | libselinux-validatetrans | ack | acpid | adb | airos-dfs-reset | ap51-flash | apk | at | atheepmgr | audit | audit-utils | augeas | augeas-lenses | augeas-lenses-tests | avro-c-utils | bandwidthd | bandwidthd-pgsql | bandwidthd-php | bandwidthd-sqlite | banhostlist | bc | bluelog | bluez-daemon | bluez-utils | bluez-utils-extra | bluld | bonniexx | bossa | bsdiff | bspatch | cache-domains-mbedtls | cache-domains-openssl | cache-domains-wolfssl | cal | canutils | catatonit | cgroup-tools | cgroupfs-mount | checkpolicy | checksec | checksec_automator | chkcon | clocate | cmdpad | cni | cni-plugins | cni-plugins-nft | coap-client | collectd | conmon | containerd | coremark | coreutils-b2sum | coreutils-base32 | coreutils-basename | coreutils-basenc | coreutils-cat | coreutils-chcon | coreutils-chgrp | coreutils-chmod | coreutils-chown | coreutils-chroot | coreutils-cksum | coreutils-comm | coreutils-cp | coreutils-csplit | coreutils-cut | coreutils-date | coreutils-dd | coreutils-df | coreutils-dir | coreutils-dircolors | coreutils-dirname | coreutils-du | coreutils-echo | coreutils-env | coreutils-expand | coreutils-expr | coreutils-factor | coreutils-false | coreutils-fmt | coreutils-fold | coreutils-groups | coreutils-head | coreutils-hostid | coreutils-id | coreutils-install | coreutils-join | coreutils-kill | coreutils-link | coreutils-ln | coreutils-logname | coreutils-ls | coreutils-md5sum | coreutils-mkdir | coreutils-mkfifo | coreutils-mknod | coreutils-mktemp | coreutils-mv | coreutils-nice | coreutils-nl | coreutils-nproc | coreutils-numfmt | coreutils-od | coreutils-paste | coreutils-pathchk | coreutils-pinky | coreutils-pr | coreutils-printenv | coreutils-printf | coreutils-ptx | coreutils-pwd | coreutils-readlink | coreutils-realpath | coreutils-rm | coreutils-rmdir | coreutils-runcon | coreutils-seq | coreutils-sha1sum | coreutils-sha224sum | coreutils-sha256sum | coreutils-sha384sum | coreutils-sha512sum | coreutils-shred | coreutils-shuf | coreutils-sleep | coreutils-sort | coreutils-split | coreutils-stat | coreutils-stdbuf | coreutils-stty | coreutils-sum | coreutils-sync | coreutils-tac | coreutils-tail | coreutils-tee | coreutils-test | coreutils-timeout | coreutils-touch | coreutils-tr | coreutils-true | coreutils-truncate | coreutils-tsort | coreutils-tty | coreutils-uname | coreutils-unexpand | coreutils-uniq | coreutils-unlink | coreutils-uptime | coreutils-users | coreutils-vdir | coreutils-wc | coreutils-who | coreutils-whoami | coreutils-yes | cpulimit | cpulimit-ng | crconf | crelay | crun | csstidy | ct-bugcheck | ctop | dbus | dbus-utils | dfu-util | dhrystone | digitemp | digitemp-usb | dmesg | docker | docker-compose | dockerd | domoticz | dropbearconvert | dtc | dump1090 | ecdsautils | elektra-kdb | evtest | extract | fdt-utils | file | filebrowser | findutils | findutils-find | findutils-locate | findutils-xargs | flashrom | flashrom-pci | flashrom-spi | flashrom-usb | flent-tools | flock | fritz-caldata | fritz-tffs | fritz-tffs-nand | ftdi_eeprom | fuse-overlayfs | gammu | gawk | getopt | giflib-utils | gkermit | gl-puli-mcu | gnuplot | gpioctl-sysfs | gpiod-tools | gpsd | gpsd-clients | gpsd-utils | grep | hamlib | haserl | haveged | hub-ctrl | hwclock | hwinfo | hwloc-utils | i2c-tools | iconv | iio-utils | inotifywait | inotifywatch | io | ipfs-http-client-tests | irqbalance | iwcap | iwinfo | joker | jq | kmod | lcd4linux-custom | lcdproc-clients | lcdproc-drivers | lcdproc-server | less | libnetwork | libucode | libxml2-utils | lm-sensors | lm-sensors-detect | logger | logrotate | lolcat | look | losetup | lrzsz | lscpu | lsof | lxc | maccalc | macchanger | mandoc | mbedtls-util | mbim-utils | mbtools | mc | mc-skins | mcookie | mdio-tools | mhz | miniflux | mmc-utils | more | moreutils | mosh-client | mosh-server | mount-utils | mpack | mt-st | namei | nand-utils | naywatch | netwhere | nnn | nsenter | nss-utils | nsutils | oath-toolkit | oci-runtime-tool | open-plc-utils | open2300 | openobex | openobex-apps | openocd | opensc-utils | openssl-util | openzwave | openzwave-config | owipcalc | pciids | pciutils | pcsc-tools | pcscd | podman | policycoreutils | powertop | pps-tools | prlimit | procps-ng | progress | prometheus-node-exporter-lua | psmisc | pv | qmi-utils | qrencode | quota | ravpower-mcu | relayctl | rename | rng-tools | rtl-ais | rtl-sdr | rtl_433 | rtl_433-ssl | runc | sane-backends | sane-daemon | sane-frontends | secilc | sed | selinux-audit2allow | selinux-chcat | selinux-semanage | semodule-utils | serdisplib-tools | setools | setserial | shadow-utils | shared-mime-info | sispmctl | slide-switch | smartd | smartd-mail | smartmontools | smartmontools-drivedb | smstools3 | sockread | spi-tools | spidev-test | ssdeep | sshpass | strace | stress | stress-ng | subconverter | sumo | supervisor | syncthing | sysrepo | sysrepocfg | sysrepoctl | sysstat | tar | taskwarrior | telegraf | telegraf-full | telldus-core | thefuck | tini | tinyionice | tinymembench | tracertools | tree | triggerhappy | ucode | udns-dnsget | udns-ex-rdns | udns-rblcheck | ugps | uhubctl | uledd | unshare | usb-modeswitch | usbids | usbutils | uuidd | uuidgen | uvcdynctrl | v4l-utils | view1090 | watchcat | whereis | which | whois | wifitoggle | xsltproc | xxd | yanglint | yara | yq | fontconfig ) 115 | KOMDNAME=$1 116 | KOMD 117 | shift;; 118 | *) 119 | echo -e " \033[31m 错误参数: $1 请输如正确参数:\033[0m" 120 | sed -rn 's/^### ?//;T;p' "$0" 121 | exit 1; ;; 122 | esac 123 | done 124 | 125 | cat /tmp/tmp.log 126 | 127 | 128 | 129 | 130 | -------------------------------------------------------------------------------- /Shell/diy-immortalwrt.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | # 3 | # Copyright (c) 2023 @weigefenxiang 4 | # 5 | -------------------------------------------------------------------------------- /Shell/diy2-360T7-hanwckf.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | # 3 | # Copyright (c) 2023 @weigefenxiang 4 | # 5 | 6 | #- name: 替换默认主题 luci-theme-argon 7 | sed -i 's/luci-theme-bootstrap/luci-theme-argon/' feeds/luci/collections/luci/Makefile 8 | 9 | # 默认ip 192.168.1.1 10 | sed -i 's/192.168.[0-9]\{1,3\}.1/192.168.1.1/g' package/base-files/files/bin/config_generate 11 | 12 | # 修改时区 UTF-8 13 | sed -i 's/UTC/CST-8/g' package/base-files/files/bin/config_generate 14 | 15 | # 修改主机名 OP 16 | sed -i 's/ImmortalWrt/OpenWrt/g' package/base-files/files/bin/config_generate 17 | 18 | # 时区 19 | sed -i 's/time1.apple.com/time1.cloud.tencent.com/g' package/base-files/files/bin/config_generate 20 | sed -i 's/time1.google.com/ntp.aliyun.com/g' package/base-files/files/bin/config_generate 21 | sed -i 's/time.cloudflare.com/cn.ntp.org.cn/g' package/base-files/files/bin/config_generate 22 | sed -i 's/pool.ntp.org/cn.pool.ntp.org/g' package/base-files/files/bin/config_generate 23 | 24 | # 替换源 25 | sed -i 's,mirrors.vsean.net/openwrt,mirrors.pku.edu.cn/immortalwrt,g' package/emortal/default-settings/files/99-default-settings-chinese 26 | 27 | # 28 | MTK_HNAT(){ 29 | rm -rf target/linux/mediatek/files-5.4/drivers/net/ethernet/mediatek/mtk_hnat 30 | svn co https://github.com/padavanonly/immortalwrtARM/branches/mt7981/target/linux/mediatek/files-5.4/drivers/net/ethernet/mediatek/mtk_hnat 31 | mv mtk_hnat target/linux/mediatek/files-5.4/drivers/net/ethernet/mediatek/mtk_hnat 32 | } 33 | 34 | MT_WIFI(){ 35 | rm -rf package/mtk/drivers/mt_wifi 36 | svn co https://github.com/padavanonly/immortalwrtARM/branches/mt7981/package/mtk/drivers/mt_wifi 37 | mv mt_wifi package/mtk/drivers/mt_wifi 38 | } 39 | 40 | MTK_HNAT 41 | echo '-------------------------------------------------------------------------------------------------' 42 | MT_WIFI 43 | 44 | 45 | 46 | 47 | 48 | -------------------------------------------------------------------------------- /Shell/diy2-360T7-padavanonly.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | # 3 | # Copyright (c) 2023 @weigefenxiang 4 | # 5 | 6 | # name: 替换默认主题 luci-theme-argon 7 | sed -i 's/luci-theme-bootstrap/luci-theme-argon/' feeds/luci/collections/luci/Makefile 8 | 9 | # 默认ip 192.168.1.1 10 | sed -i 's/192.168.[0-9]\{1,3\}.1/192.168.1.1/g' package/base-files/files/bin/config_generate 11 | 12 | # 修改时区 UTF-8 13 | sed -i 's/UTC/CST-8/g' package/base-files/files/bin/config_generate 14 | 15 | # 修改主机名 OP 16 | sed -i 's/ImmortalWrt/OpenWrt/g' package/base-files/files/bin/config_generate 17 | 18 | # 时区 19 | sed -i 's/time1.apple.com/time1.cloud.tencent.com/g' package/base-files/files/bin/config_generate 20 | sed -i 's/time1.google.com/ntp.aliyun.com/g' package/base-files/files/bin/config_generate 21 | sed -i 's/time.cloudflare.com/cn.ntp.org.cn/g' package/base-files/files/bin/config_generate 22 | sed -i 's/pool.ntp.org/cn.pool.ntp.org/g' package/base-files/files/bin/config_generate 23 | 24 | # 替换源 25 | sed -i 's,mirrors.vsean.net/openwrt,mirrors.pku.edu.cn/immortalwrt,g' package/emortal/default-settings/files/99-default-settings-chinese 26 | 27 | # Do not be evil # ae6ff34105444482cc3d46d43987cc467ea79ac7 28 | LANG=C sed -i ':label;N;s/^[\x81-\xFE][\x40-\xFE].*\n//g' target/linux/mediatek/files-5.4/arch/arm64/boot/dts/mediatek/mt7981-h3c-nx30pro.dts 29 | cat target/linux/mediatek/files-5.4/arch/arm64/boot/dts/mediatek/mt7981-h3c-nx30pro.dts 30 | -------------------------------------------------------------------------------- /Shell/diy2-360T7.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | # 3 | # Copyright (c) 2023 @weigefenxiang 4 | # 5 | 6 | # name: 替换默认主题 luci-theme-argon 7 | sed -i 's/luci-theme-bootstrap/luci-theme-argon/' feeds/luci/collections/luci/Makefile 8 | 9 | # 默认ip 192.168.1.1 10 | sed -i 's/192.168.[0-9]\{1,3\}.1/192.168.1.1/g' package/base-files/files/bin/config_generate 11 | 12 | # 修改时区 UTF-8 13 | sed -i 's/UTC/CST-8/g' package/base-files/files/bin/config_generate 14 | 15 | # 修改主机名 OP 16 | sed -i 's/ImmortalWrt/OpenWrt/g' package/base-files/files/bin/config_generate 17 | 18 | # 时区 19 | sed -i 's/time1.apple.com/time1.cloud.tencent.com/g' package/base-files/files/bin/config_generate 20 | sed -i 's/time1.google.com/ntp.aliyun.com/g' package/base-files/files/bin/config_generate 21 | sed -i 's/time.cloudflare.com/cn.ntp.org.cn/g' package/base-files/files/bin/config_generate 22 | sed -i 's/pool.ntp.org/cn.pool.ntp.org/g' package/base-files/files/bin/config_generate 23 | 24 | # 替换源 25 | sed -i 's,mirrors.vsean.net/openwrt,mirrors.pku.edu.cn/immortalwrt,g' package/emortal/default-settings/files/99-default-settings-chinese 26 | -------------------------------------------------------------------------------- /Shell/diy3-360T7-hanwckf.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | # 3 | # Copyright (c) 2023 @weigefenxiang 4 | # 5 | 6 | ./REVISECONFIG.sh tc-tiny kmod-sched kmod-sched-cake kmod-sched-connmark kmod-sched-ipset 7 | echo '-----------------------------------------------' 8 | -------------------------------------------------------------------------------- /config/platform.config: -------------------------------------------------------------------------------- 1 | 1,hanwckf,hanwckf/immortalwrt-mt798x,openwrt-21.02,diy-immortalwrt.sh,diy2-360T7-hanwckf.sh,diy3-360T7-hanwckf.sh 2 | 2,ImmortalWrt,immortalwrt/immortalwrt,master,diy-immortalwrt.sh,diy2-360T7.sh,other 3 | 3,padavanonly,padavanonly/immortalwrtARM,mt7981,diy-immortalwrt.sh,diy2-360T7-padavanonly.sh,other 4 | -------------------------------------------------------------------------------- /python/lzy.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/python 2 | # 3 | # Copyright (c) 2023 @weigefenxiang 4 | # 5 | import re 6 | import datetime 7 | import sys 8 | import os 9 | from lanzou.api import LanZouCloud 10 | 11 | ylogin = sys.argv[1] 12 | phpdisk_info = sys.argv[2] 13 | LZ_folder_name = sys.argv[3] 14 | MOVE_dir = sys.argv[4] 15 | Github_path = sys.argv[5] 16 | num = int(sys.argv[6]) 17 | 18 | cookie = {'ylogin': f'{ylogin}', 'phpdisk_info': f'{phpdisk_info}'} 19 | 20 | 21 | def exID(folder_name): 22 | ex = f"FolderId\(name='{folder_name}', id=(\d+)\)" 23 | return ex 24 | 25 | 26 | def show_progress(file_name, total_size, now_size): 27 | """显示进度的回调函数""" 28 | percent = now_size / total_size 29 | bar_len = 40 # 进度条长总度 30 | bar_str = '>' * round(bar_len * percent) + '=' * round(bar_len * (1 - percent)) 31 | print('\r{:.2f}%\t[{}] {:.1f}/{:.1f}MB | {} '.format( 32 | percent * 100, bar_str, now_size / 1048576, total_size / 1048576, file_name), end='') 33 | if total_size == now_size: 34 | print('') # 下载完成换行 35 | 36 | 37 | class lanzou(object): 38 | def __init__(self): 39 | self.lzy = LanZouCloud() 40 | res = self.lzy.login_by_cookie(cookie) 41 | if res == 0: 42 | print(f'蓝奏云登录成功') 43 | else: 44 | print(f'蓝奏云登录 failed!\nERROR: res= {res}') 45 | 46 | def __del__(self): 47 | pass 48 | 49 | def get_FOLDERS(self): 50 | folders = self.lzy.get_move_folders() 51 | return folders 52 | 53 | def get_FOLDER_ID(self, folder_name): 54 | folders = self.lzy.get_move_folders() 55 | ex = exID(folder_name) 56 | folder_id = int(re.findall(ex, str(folders.find_by_name(folder_name)), re.S)[0]) 57 | return folder_id 58 | 59 | def get_FILE_list(self, folder_name): 60 | folder_id = self.get_FOLDER_ID(folder_name) 61 | file_list = self.lzy.get_file_list(folder_id) 62 | if len(str(file_list)) <= 7: 63 | return False 64 | else: 65 | file_id = int(re.findall('id=(\d+),', str(file_list), re.S)[0]) 66 | return file_id 67 | 68 | def MOVE_folder(self, folder_ID, parent_folder_id): 69 | try: 70 | res = self.lzy.move_folder(int(folder_ID), int(parent_folder_id)) 71 | except TypeError: 72 | print(f'文件夹并未改变位置,移动失败\nparent_folder_id: {parent_folder_id}') 73 | except Exception as result: 74 | print("未知错误 %s" % result) 75 | else: 76 | if res == 0: 77 | print(f'已将文件夹 {folder_ID} 成功转义') 78 | elif res == -1: 79 | print(f'移动失败 文件夹 {folder_ID} 位于同级目录') 80 | else: 81 | print(f'移动失败 res: {res}') 82 | 83 | def MOVE_file(self, folder_id, parent_folder_id): 84 | res = self.lzy.move_file(int(folder_id), int(parent_folder_id)) 85 | if res == 0: 86 | print(f'文件 {int(folder_id)} 已成功转移') 87 | else: 88 | print(f'移动文件错误,res: {res}') 89 | 90 | def MKDIR_files_from_folder(self, folder_name, new_folder_name): 91 | while True: 92 | file_id = self.get_FILE_list(folder_name) 93 | if file_id == False: 94 | print(f'文件夹 {folder_name} 内的文件已转移完毕') 95 | break 96 | new_folder_id = self.get_FOLDER_ID(new_folder_name) 97 | self.MOVE_file(file_id, new_folder_id) 98 | 99 | def MKDIR_folder(self, parent_id, folder_name, desc=''): 100 | fid = self.lzy.mkdir(parent_id, folder_name, desc) 101 | if fid == False: 102 | print('创建文件夹失败') 103 | else: 104 | return fid 105 | 106 | def RENAME_dir(self, folder_id, folder_name): 107 | if self.lzy.rename_dir(int(folder_id), folder_name) == 0: 108 | print(f'已将 {int(folder_id)} 重命名为 {folder_name}') 109 | 110 | def SET_desc(self, fid, desc, is_file=False): 111 | if self.lzy.set_desc(int(fid), desc, is_file) == 0: 112 | print(f'修改文件(夹) {int(fid)} 描述信息为 {desc}') 113 | 114 | def SET_passwd(self, fid, passwd='', is_file=False): 115 | if self.lzy.set_passwd(int(fid), passwd, is_file) == 0: 116 | print(f'修改文件(夹) {int(fid)} 提取码为 {passwd}') 117 | 118 | def show_failed(self, code, filename): 119 | print(f"下载失败,错误码: {code}, 文件名: {filename}") 120 | 121 | def handler(self, fid, is_file, desc=''): 122 | if is_file: 123 | self.lzy.set_desc(fid, desc, is_file=True) 124 | self.lzy.set_passwd(fid, '', is_file=True) 125 | 126 | def UPLOAD_file(self, file_path, parent_name): 127 | folder_id = self.get_FOLDER_ID(parent_name) 128 | file_name = file_path.split("/")[-1] 129 | code = self.lzy.upload_file(file_path, folder_id, callback=None, uploaded_handler=self.handler) 130 | if code == 0: 131 | print(f'上传文件 {file_name} 成功') 132 | else: 133 | print(f'文件 {file_name} 上传失败 错误代码{self.lzy.FAILED}') 134 | 135 | def UPLOAD_dir(self, dir_path, parent_name, callback=None, failed_callback=None, uploaded_handler=None): 136 | folder_id = self.get_FOLDER_ID(parent_name) 137 | print(f'dir_path: {dir_path}\nfolder_id: {folder_id}\nfolder_name: {parent_name}') 138 | handler = lanzou._handler(folder_id, False) 139 | code = self.lzy.upload_dir(dir_path, int(folder_id), callback=show_progress, uploaded_handler=self.handler) 140 | if code == 0: 141 | print(f'上传 {dir_path} 成功 folder_id:{folder_id}') 142 | 143 | def UPLOAD_files_from_DIR(self, file_dir, parent_name): 144 | for root, dirs, files_list in os.walk(file_dir): 145 | print("files_list", files_list) # 当前路径下所有非目录子文件 146 | for i in files_list: 147 | file_path = file_dir + '/' + i 148 | print(file_path) 149 | self.UPLOAD_file(file_path, parent_name) 150 | 151 | 152 | def main(): 153 | lz = lanzou() 154 | nowtime = str(datetime.datetime.now().strftime('%Y-%m-%d_%H_%M.%S')) 155 | father_id = lz.get_FOLDER_ID(LZ_folder_name) 156 | if num == 0: 157 | lz.MKDIR_folder(father_id, nowtime, f'历史资料') 158 | lz.MKDIR_files_from_folder(MOVE_dir, nowtime) 159 | lz.UPLOAD_files_from_DIR(Github_path, MOVE_dir) 160 | 161 | 162 | if __name__ == '__main__': 163 | main() 164 | -------------------------------------------------------------------------------- /rclone.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/weigefenxiang/360T7/0ab345decc37ba9b7cb8c446a3b7e28464a6623d/rclone.zip --------------------------------------------------------------------------------