開始#
在 CatWrt-v22.11 固件中我們實現了早期提出軟體源設計,可以緩解 CatWrt 過於臃腫的問題。這一篇看完相信你會對 opkg 軟體包管理器有很明顯的認知,並且配合下篇部落格即便你是小白也是很輕鬆就完成部署應用。
本教程可能不適用其他 OpenWrt/LEDE/QWRT,僅供參考,如果你要使用我們的軟體源不妨考慮 CatWrt;
本教程的實現更方便的方法,已經集成在系統中的 Cattools 上的 應用軟體源
需要準備一個聰明的腦子,在部分地區可能需要網路加速!
::: warning
推薦完整看完,然後文章底部看 第二篇 排查問題。
:::
opkg#
opkg 工具是一個用來從本地軟體倉庫或互聯網軟體倉庫上下載並安裝 OpenWrt 軟體包的輕量型軟體包管理器。
GNU/Linux 使用者可能會對 apt-get
,pacman
,yum
等包管理器比較熟悉,也會看出其相似之處,這裡 CatWrt 也不例外。
我們的固件可以使用附帶了大量的軟體包但是為了防止免費資源的濫用,默認是沒有配置軟體源到 CatWrt 倉庫的需要按照本篇部落格了解並且熟悉換源,默認就使用騰訊雲提供的軟體包倉庫。
插件#
首先在安裝插件之前你需要了解這些,避免在安裝過程中碰壁。
LuCI 通常指代插件應用的前端管理面板,一個應用在 OpenWrt 分為插件 (luci-app) + 語言 (luci-i18n) + 軟體 + 依賴,插件在保存並應用的時候會由 LuCI 前端交給 uci 去應用插件設置例如開啟或者修改配置項來達到開啟軟體的效果。
說個簡單的,我們這裡不推薦進行離線安裝,例如你下載了一個 luci-app-xxx.ipk
的包他還需要軟體本體 + 運行依賴的 ipk 檔案,不僅僅要仔細看缺少什麼依賴,這個依賴可能千奇百怪例如安裝 iStore 商店以及 oc 貓貓都是依賴多的出奇的插件那種還有可能下載了本體並沒有中文包 i18n 的問題。
因此使用軟體源是勢在必得的,這也是使用 GNU/Linux 的基礎技能,軟體源的每一次 opkg update
的是在指定的源中拉取每一個索引檔案,並不是把所有的插件都下載下來,更不是固件更新的意思!
下面就開始選擇自己的 CatWrt 架構軟體源,相信在看完後你也可以安裝不同的擴展應用。
插件過多可能會導致軟路由不穩定!只保證你能安裝使用不保證整體固件穩定性。
架構選擇#
x86 和 ARM#
x86 和 ARM (rockchip) 軟路由,通常代表是以軟體路由器的方式不具備硬體加速和無線 Wi-Fi 功能。
需要完成對 CatWrt 做擴容工作,需要擴容 overlay 分區和 Docker 分區,建議在分區時預留 200M 閒置硬碟空間用於未來的升級,其他分區可以儘可能的大。
在 v23.8 往後都預留了足夠多的可用空間則不需要擴容,除非你的應用需要安裝非常多。
擴容教程:擴容 overlay / 擴容根目錄
Wireless#
CatWrt Wireless 系列硬路由安裝的插件,通常代表具有無線 Wi-Fi 功能的家用路由器。
- MT798x 在 v23.8 版本後都是精簡固件,可用空間充足可用安裝一些簡單的基礎應用
- MT7621 精簡固件,不建議安裝一堆插件,放過這顆處理器吧
軟體源#
😍 使用 Cattools 可快速配置軟體源,無需下列繁瑣配置。
假如使用前已經刷新列表 opkg update
請先在終端 rm -f /var/lock/opkg.lock
清理掉默認騰訊源的索引檔案,再將源索引填入 CatWrt 發行版軟體源中再刷新。
如果不可用無法連接,可以在底部尋找分流源的使用方法示例,當然你也可以在使用之前就測試每一個可用的源。
- 阿里雲: 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
傳統 x86 軟路由 (僅支持 x86_64/AMD64/64 位;不支持 x86_32/386/32 位)
發行版本: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
支持 TP-link TL-XDR 4288/6086/6088,Xiaomi Redmi AX6000,Xiaomi WR30U,jcg q30,GL.inet mt3000,H3C nx30Pro
發行版本: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
電犀牛 r66s,友善 r5s (適配問題僅可用機型)
發行版本: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
小米 / 紅米 AC2100,新路由 3(Newifi_d2)等...
發行版本: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
換源#
換可用源#
有時候其他鏡像軟體源無法訪問時可以選擇 Cloudflare 替換一下域名即可
例如在 vercel 的域名前面加入 cf 即可使用 CDN 源
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
使用歷史(LTS)源#
在部落格發布的都是長期支持版本 (LTS) 歷史版本都加在 /history 資料夾內
以 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
部署軟體源#
你可以將此倉庫部署在你自己的伺服器上搭建屬於自己的軟體源,需要在部署後按照上述機型的軟體源配置檔修改域名為你的容器地址
- 使用 docker-compose 部署,將編排檔拉取到本地使用啟動
$ wget https://fastly.jsdelivr.net/gh/miaoermua/CatWrt@main/docker-compose.yml
$ docker compose up -d
# docker-compose up -d
或使用命令直接部署
$ docker run -d -p 1480:80 miaoer/catwrt-repo:latest
- 使用 Linux 面板部署
將此倉庫通過 git clone https://github.com/miaoermua/CatWrt.git
拉取到伺服器網站目錄裡,修改面板網站目錄到 CatWrt 中;
- 使用 Windows 部署
安裝方法#
LuCI 中安裝#
在你操作之前請先完成更新軟體源
系統 - 軟體包 - 動作 - 刷新列表
插件列表可以先添加到自定義軟體源裡,刷新後查看 系統 - 軟體源 - 動態 - 可用軟體包 L
並且嘗試 CTRL + F
搜索 luci-app
先進行更新再安裝插件,當然這裡可以先安裝 luci-i18n-xxxxx-zh-cn 類似這樣的包就是中文包,安裝中文包即安裝插件但部分軟體可能需要分開安裝,視情況決定。
終端中安裝#
這邊只建議有一定經驗的人操作,在終端執行,這裡以安裝動態 DNS 舉例
先進行更新再安裝插件,當然這裡可以先安裝 luci-i18n-xxxxx-zh-cn 類似這樣的包就是中文包,安裝中文包即安裝插件但部分軟體可能需要分開安裝,視情況決定。
opkg update ## 更新軟體源
opkg install luci-app-ddns ## 插件
opkg install luci-i18n-ddns-zh-cn ## 插件中文包
下面是以 CatWrt 安裝 iStore 商店舉例;
這裡已經使用了 CatWrt 軟體源並且覆蓋到了發行版軟體源中,執行 opkg update
拉取軟體源索引檔案並且執行 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:~#
下篇
此文由 Mix Space 同步更新至 xLog
原始鏈接為 https://www.miaoer.net/posts/network/catwrt-install-application