banner
miaoer

miaoer

喵二の小博客 https://www.miaoer.net xLog 分站
tg_channel
telegram
bilibili

Installation Guide for CatWrt Extension Applications, Universal for the Entire Ecosystem

Start#

In the CatWrt-v22.11 firmware, we implemented the software source design proposed earlier, which can alleviate the issue of CatWrt being overly bloated. After reading this article, you will have a clear understanding of the opkg package manager, and with the next blog post, even if you are a beginner, you will be able to easily deploy applications.

This tutorial may not be applicable to other OpenWrt/LEDE/QWRT and is for reference only. If you want to use our software source, you might consider CatWrt;

A more convenient method for implementing this tutorial has been integrated into the Application Software Source on Cattools within the system.

1

You need to prepare a smart brain, and in some areas, network acceleration may be required!

CatWrt Repository

::: warning
It is recommended to read the entire article and then check the second article at the bottom to troubleshoot issues.
:::


opkg#

The opkg tool is a lightweight package manager used to download and install OpenWrt packages from local or internet software repositories.

GNU/Linux users may be familiar with package managers like apt-get, pacman, yum, and will notice the similarities; CatWrt is no exception. Our firmware can use a large number of packages, but to prevent the abuse of free resources, the software source is not configured to the CatWrt repository by default. You need to understand and familiarize yourself with changing sources according to this blog post, with the default using the package repository provided by Tencent Cloud.

Plugins#

Before installing plugins, you need to understand these points to avoid issues during the installation process.

LuCI usually refers to the front-end management panel for plugin applications. An application in OpenWrt is divided into a plugin (luci-app) + language (luci-i18n) + software + dependencies. When saving and applying, the plugin settings are handed over to uci by the LuCI front end to apply the plugin settings, such as enabling or modifying configuration items to achieve the effect of enabling the software.

To put it simply, we do not recommend performing offline installations. For example, if you download a luci-app-xxx.ipk package, it still requires the software body + the running dependency ipk files. You not only need to carefully check what dependencies are missing, but these dependencies can be quite varied. For instance, installing the iStore store and oc cat both rely on an unusually high number of dependencies, and there may also be issues where the body is downloaded without the Chinese language pack i18n.

Therefore, using software sources is essential, and this is a basic skill for using GNU/Linux. Each opkg update pulls each index file from the specified source; it does not download all plugins, nor does it mean firmware updates!

Now let's start selecting your CatWrt architecture software source. I believe that after reading this, you can also install different extension applications.

Too many plugins may lead to instability in the soft router! It only guarantees that you can install and use them, not the overall firmware stability.


Architecture Selection#

x86 and ARM#

x86 and ARM (rockchip) soft routers typically represent software routers that do not have hardware acceleration and wireless Wi-Fi capabilities.

To expand CatWrt, you need to expand the overlay partition and Docker partition. It is recommended to reserve 200M of idle hard disk space for future upgrades during partitioning; other partitions can be as large as possible.

In versions after v23.8, if enough usable space is reserved, expansion is not necessary unless your applications require a large number of installations.

Expansion Tutorial: Expand Overlay / Expand Root Directory

2

3

Wireless#

The CatWrt Wireless series hard routers install plugins, usually representing home routers with wireless Wi-Fi functionality.

  • MT798x in version v23.8 and later are streamlined firmware, with sufficient available space to install some simple basic applications.
  • MT7621 streamlined firmware; it is not recommended to install a bunch of plugins, just let this processor be.

Software Sources#

😍 Using Cattools can quickly configure software sources without the tedious configurations below.

If you have refreshed the list opkg update before use, please first clean up the default Tencent source index file in the terminal with rm -f /var/lock/opkg.lock, then fill in the source index into the CatWrt distribution software source and refresh it.

If it is unavailable or cannot connect, you can look for usage examples of alternative sources at the bottom. Of course, you can also test each available source before use.

x86-64

Traditional x86 soft router (supports only x86_64/AMD64/64-bit; does not support x86_32/386/32-bit)

Release version: v24.9

src/gz openwrt_core https://vercel.catwrt.eu.org/targets/x86/64/packages
src/gz openwrt_base https://vercel.catwrt.eu.org/x86_64/base
src/gz openwrt_luci https://vercel.catwrt.eu.org/x86_64/luci
src/gz openwrt_packages https://vercel.catwrt.eu.org/x86_64/packages
src/gz openwrt_routing https://vercel.catwrt.eu.org/x86_64/routing
src/gz openwrt_telephony https://vercel.catwrt.eu.org/x86_64/telephony

mt798x

Supports TP-link TL-XDR 4288/6086/6088, Xiaomi Redmi AX6000, Xiaomi WR30U, jcg q30, GL.inet mt3000, H3C nx30Pro

Release version: v23.8

src/gz openwrt_core https://vercel.catwrt.eu.org/targets/mt798x/filogic/packages
src/gz openwrt_base https://vercel.catwrt.eu.org/mt798x/base
src/gz openwrt_luci https://vercel.catwrt.eu.org/mt798x/luci
src/gz openwrt_packages https://vercel.catwrt.eu.org/mt798x/packages
src/gz openwrt_routing https://vercel.catwrt.eu.org/mt798x/routing
src/gz openwrt_telephony https://vercel.catwrt.eu.org/mt798x/telephony

aarch64_generic

Electric Rhino r66s, Friendly r5s * (only compatible models) *

Release version: v22.12

src/gz openwrt_core https://vercel.catwrt.eu.org/targets/rockchip/armv8/packages
src/gz openwrt_base https://vercel.catwrt.eu.org/aarch64_generic/base
src/gz openwrt_luci https://vercel.catwrt.eu.org/aarch64_generic/luci
src/gz openwrt_packages https://vercel.catwrt.eu.org/aarch64_generic/packages
src/gz openwrt_routing https://vercel.catwrt.eu.org/aarch64_generic/routing
src/gz openwrt_telephony https://vercel.catwrt.eu.org/aarch64_generic/telephony

mt7621

Xiaomi/Redmi AC2100, New Router 3 (Newifi_d2), etc...

Release version: v24.9

src/gz openwrt_core https://vercel.catwrt.eu.org/targets/mt7621/packages
src/gz openwrt_base https://vercel.catwrt.eu.org/mt7621/base
src/gz openwrt_luci https://vercel.catwrt.eu.org/mt7621/luci
src/gz openwrt_packages https://vercel.catwrt.eu.org/mt7621/packages
src/gz openwrt_routing https://vercel.catwrt.eu.org/mt7621/routing
src/gz openwrt_telephony https://vercel.catwrt.eu.org/mt7621/telephony

Change Source#

Change to Available Source#

Sometimes when other mirror software sources are inaccessible, you can choose to replace the domain name with Cloudflare.

For example, by adding cf in front of the vercel domain name, you can use the CDN source.

src/gz openwrt_core https://cfvercel.catwrt.eu.org/targets/mt798x/filogic/packages
src/gz openwrt_base https://cfvercel.catwrt.eu.org/mt798x/base
src/gz openwrt_luci https://cfvercel.catwrt.eu.org/mt798x/luci
src/gz openwrt_packages https://cfvercel.catwrt.eu.org/mt798x/packages
src/gz openwrt_routing https://cfvercel.catwrt.eu.org/mt798x/routing
src/gz openwrt_telephony https://cfvercel.catwrt.eu.org/mt798x/telephony

Use Historical (LTS) Source#

The blog posts all contain long-term support versions (LTS), and historical versions are all placed in the /history folder.

For example, for CatWrt.v22.2 x86_64:

src/gz openwrt_core https://vercel.catwrt.eu.org/history/v22.2/targets/x86/64/packages
src/gz openwrt_base https://vercel.catwrt.eu.org/history/v22.2/x86_64/base
src/gz openwrt_luci https://vercel.catwrt.eu.org/history/v22.2/x86_64/luci
src/gz openwrt_oui https://vercel.catwrt.eu.org/history/v22.2/x86_64/oui
src/gz openwrt_packages https://vercel.catwrt.eu.org/history/v22.2/x86_64/packages
src/gz openwrt_routing https://vercel.catwrt.eu.org/history/v22.2/x86_64/routing
src/gz openwrt_telephony https://vercel.catwrt.eu.org/history/v22.2/x86_64/telephony

Deploy Software Source#

You can deploy this repository on your own server to build your own software source. After deployment, you need to modify the domain name in the software source configuration file according to the mentioned models to your container address.


  • Use docker-compose to deploy, pull the orchestration file to your local for startup.
$ wget https://fastly.jsdelivr.net/gh/miaoermua/CatWrt@main/docker-compose.yml

$ docker compose up -d  
# docker-compose up -d

Or deploy directly using the command.

$ docker run -d -p 1480:80 miaoer/catwrt-repo:latest
  • Use Linux panel for deployment.

Clone this repository to the server website directory using git clone https://github.com/miaoermua/CatWrt.git, and modify the panel website directory to CatWrt;

  • Use Windows for deployment.

4

Installation Method#

Install in LuCI#

Before you operate, please complete the update of the software source.

System - Software Packages - Actions - Refresh List

The plugin list can be added to the custom software source first. After refreshing, check System - Software Sources - Dynamic - Available Packages L.

And try CTRL + F to search for luci-app.

First update and then install the plugins. Of course, you can first install packages like luci-i18n-xxxxx-zh-cn, which are Chinese language packs. Installing a Chinese language pack also installs the plugin, but some software may need to be installed separately, depending on the situation.

image

Install in Terminal#

This is only recommended for those with some experience. Execute in the terminal, taking the installation of dynamic DNS as an example.

5

First update and then install the plugins. Of course, you can first install packages like luci-i18n-xxxxx-zh-cn, which are Chinese language packs. Installing a Chinese language pack also installs the plugin, but some software may need to be installed separately, depending on the situation.

opkg update  ## Update software source

opkg install luci-app-ddns  ## Plugin

opkg install luci-i18n-ddns-zh-cn  ## Plugin Chinese language pack

Below is an example of installing the iStore store using CatWrt;

Here, the CatWrt software source has been used and covered in the distribution software source. Execute opkg update to pull the software source index file and then execute opkg install luci-app-store.

BusyBox v1.36.0 (2023-07-05 11:34:20 UTC) built-in shell (ash)


     _____     _             _
    |     |___| |_ _ _ _ ___| |_
    |   --| .'|  _| | | |  _|  _|
    |_____|__,|_| |_____|_| |_|
   W I R E L E S S   F R E E D O M

======================================
         CatWrt.v23.8.x86_64
           Blog: miaoer.xyz
 OpenWrt: Lean source r6134-961ee0e81
======================================
root@CatWrt:~# opkg update
Downloading https://netlify.catwrt.eu.org/targets/x86/64/packages/Packages.gz
Updated list of available packages in /var/opkg-lists/openwrt_core
Downloading https://netlify.catwrt.eu.org/targets/x86/64/packages/Packages.sig
Signature check passed.
Downloading https://netlify.catwrt.eu.org/x86_64/base/Packages.gz
Updated list of available packages in /var/opkg-lists/openwrt_base
Downloading https://netlify.catwrt.eu.org/x86_64/base/Packages.sig
Signature check passed.
Downloading https://netlify.catwrt.eu.org/x86_64/luci/Packages.gz
Updated list of available packages in /var/opkg-lists/openwrt_luci
Downloading https://netlify.catwrt.eu.org/x86_64/luci/Packages.sig
Signature check passed.
Downloading https://netlify.catwrt.eu.org/x86_64/packages/Packages.gz
Updated list of available packages in /var/opkg-lists/openwrt_packages
Downloading https://netlify.catwrt.eu.org/x86_64/packages/Packages.sig
Signature check passed.
Downloading https://netlify.catwrt.eu.org/x86_64/routing/Packages.gz
Updated list of available packages in /var/opkg-lists/openwrt_routing
Downloading https://netlify.catwrt.eu.org/x86_64/routing/Packages.sig
Signature check passed.
Downloading https://netlify.catwrt.eu.org/x86_64/telephony/Packages.gz
Updated list of available packages in /var/opkg-lists/openwrt_telephony
Downloading https://netlify.catwrt.eu.org/x86_64/telephony/Packages.sig
Signature check passed.
root@CatWrt:~# opkg install luci-app-store
Installing luci-app-store (0.1.14-1) to root...
Downloading https://netlify.catwrt.eu.org/x86_64/base/luci-app-store_0.1.14-1_all.ipk
Installing xz-utils (5.4.1-1) to root...
Downloading https://netlify.catwrt.eu.org/x86_64/packages/xz-utils_5.4.1-1_x86_64.ipk
Installing liblzma (5.4.1-1) to root...
Downloading https://netlify.catwrt.eu.org/x86_64/packages/liblzma_5.4.1-1_x86_64.ipk
Installing xz (5.4.1-1) to root...
Downloading https://netlify.catwrt.eu.org/x86_64/packages/xz_5.4.1-1_x86_64.ipk
Installing libbz2-1.0 (1.0.8-1) to root...
Downloading https://netlify.catwrt.eu.org/x86_64/base/libbz2-1.0_1.0.8-1_x86_64.ipk
Installing bzip2 (1.0.8-1) to root...
Downloading https://netlify.catwrt.eu.org/x86_64/base/bzip2_1.0.8-1_x86_64.ipk
Installing tar (1.34-1) to root...
Downloading https://netlify.catwrt.eu.org/x86_64/packages/tar_1.34-1_x86_64.ipk
Installing coreutils-stat (9.1-1) to root...
Downloading https://netlify.catwrt.eu.org/x86_64/packages/coreutils-stat_9.1-1_x86_64.ipk
Installing luci-lib-xterm (4.18.0) to root...
Downloading https://netlify.catwrt.eu.org/x86_64/base/luci-lib-xterm_4.18.0_all.ipk
Installing script-utils (2.38.1-1) to root...
Downloading https://netlify.catwrt.eu.org/x86_64/base/script-utils_2.38.1-1_x86_64.ipk
Installing coreutils-stty (9.1-1) to root...
Downloading https://netlify.catwrt.eu.org/x86_64/packages/coreutils-stty_9.1-1_x86_64.ipk
Installing taskd (1.0.3-1) to root...
Downloading https://netlify.catwrt.eu.org/x86_64/base/taskd_1.0.3-1_all.ipk
Installing luci-lib-taskd (1.0.17) to root...
Downloading https://netlify.catwrt.eu.org/x86_64/base/luci-lib-taskd_1.0.17_all.ipk
Configuring libbz2-1.0.
Configuring liblzma.
Configuring luci-lib-xterm.
Configuring coreutils-stat.
Configuring bzip2.
Configuring xz-utils.
Configuring xz.
Configuring tar.
Configuring script-utils.
Configuring coreutils-stty.
Configuring taskd.
Configuring luci-lib-taskd.
Configuring luci-app-store.
root@CatWrt:~# 

Next Article

6

This article is synchronized and updated to xLog by Mix Space. The original link is https://www.miaoer.net/posts/network/catwrt-install-application

Footnotes#

  1. https://www.miaoer.net/posts/blog/cattools

  2. https://www.miaoer.net/posts/network/openwrt-overlay

  3. https://www.miaoer.net/posts/network/expansion-overlay

  4. https://www.miaoer.net/posts/blog/windows-deploy-catwrt-repo

  5. https://www.miaoer.net/posts/blog/ssh-connection-to-openwrt

  6. https://www.miaoer.net/posts/network/catwrt-applist

Loading...
Ownership of this post data is guaranteed by blockchain and smart contracts to the creator alone.