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 combined with the next blog post, even if you are a beginner, you will be able to easily complete the deployment of 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, consider CatWrt;
A more convenient method for implementing this tutorial has been integrated into the Application Software Source on Cattools within the system.
You need to prepare a smart brain, and in some regions, you may need network acceleration!
::: warning
It is recommended to read it completely, 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
, etc., and will notice the similarities; CatWrt is no exception. Our firmware can use a large number of packages, but to prevent abuse of free resources, the software source is not configured to the CatWrt repository by default, and you need to understand and familiarize yourself with changing sources according to this blog post. By default, it uses the package repository provided by Tencent Cloud.
Plugins#
Before installing plugins, you need to understand these 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 offline installation. 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 example, installing the iStore store and oc cat both depend on an unusually large number of plugins, and there may also be issues where the body is downloaded but does not have 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 a firmware update!
Next, 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 cause instability in the soft router! It only guarantees that you can install and use them, but does not guarantee 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 functionality.
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 when 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 lot of installations.
Expansion Tutorial: Expand Overlay / Expand Root Directory
Wireless#
The CatWrt Wireless series hard routers install plugins, typically 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; let this processor be.
Software Sources#
😍 Using Cattools can quickly configure software sources without the need for the cumbersome configurations below.
If you have refreshed the list opkg update
before use, please first run rm -f /var/lock/opkg.lock
in the terminal to clear the default Tencent source index file, 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 examples of using alternative sources at the bottom. Of course, you can also test each available source before use.
- Alibaba Cloud: https://repo.miaoer.xyz
- Vercel: https://vercel.catwrt.eu.org
- Netlify: https://netlify.catwrt.eu.org
- Vercel (Cloudflare Proxy): https://cfvercel.catwrt.eu.org
- Netlify (Cloudflare Proxy): https://cfnetlify.catwrt.eu.org
x86-64
Traditional x86 soft router (only supports 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, adding cf in front of the vercel domain name will allow you to 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 are all long-term support versions (LTS), and historical versions are all added to the /history folder.
For example, 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 aforementioned 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 use the command to deploy directly.
$ docker run -d -p 1480:80 miaoer/catwrt-repo:latest
- Use Linux panel 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 deployment
Installation Method#
Install in LuCI#
Before you operate, please complete the update of the software source.
System - Software Packages - Actions - Refresh List
You can first add the plugin list to the custom software source, refresh it, and check System - Software Source - Dynamic - Available Packages L
.
And try CTRL + F
to search for luci-app
.
Update first and then install the plugin. Of course, you can first install packages like luci-i18n-xxxxx-zh-cn, which are Chinese language packs. Installing the Chinese language pack also installs the plugin, but some software may need to be installed separately, depending on the situation.
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.
Update first and then install the plugin. Of course, you can first install packages like luci-i18n-xxxxx-zh-cn, which are Chinese language packs. Installing the 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 with 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
This article was synchronized and updated to xLog by Mix Space. The original link is https://www.miaoer.net/posts/network/catwrt-install-application