在自己电脑或服务器部署 CatWrt 软件源,使用 Caddy 部署
前言
之前用的 ngnix 因为那个 .bat 文件确实是不太好用,所以我觉得重新写一个,旧的不推荐大家使用哈。
另外最近搞到一台免费 VPS,原来的仓库太重啥东西都塞里面。我把之前发行过的旧版本,单独存起来 https://github.com/CatWrt/history-packages
所以本期适合:
没有网,但是可以借别人电脑下我们的部署工具,部署好软件源安装插件路由器完成验证再联网的校园网用户。
追求本地部署,速度至上,不忍心白嫖 miaoer 的服务
本期提供了三种方法部署:
- 离线部署(Windows)推荐使用 Win11/10
- 在线部署(Linux PC)
- Docker 部署 (Linux Server/OpenWrt)
这次更换 Caddy 这是一个比较方便的 HTTP 服务器。
准备 Caddy
如果你是 Windows 用户:
官网 - 下载 Caddy | 备用 - 蓝奏云 密码: aqmn
Linux 请无视本章,完成下面步骤。
准备 CatWrt 软件源包
确认版本
这里有两个版本区别,如果你是在👇下面这个博客下载的包
并且打开 CatWrt 路由器后台查看版本号,校对过和这个博客一样版本号的就是最新的。
如果你确定自己和这个博客,版本不一致推荐你更换最新版本,或者使用历史版本软件包,或者使用 cattools 的检查更新功能确定当前系统版本号。
下载包
以下平台需要登录或需要会员,更新不及时
Gitee | 123云盘 | 百度云盘 提取码/密码: miao
解压
需要将 CatWrt-main.zip 解压,无论你是拖出来还是直接右键解压都会有一个文件夹,不要动他,除非你的解压软件会将文件夹再套一层。
我这里没有更改浏览器默认下载路径,所以是在 C 盘 Users\YOUUSERNAME\Downloads\ 文件结构是这样的:
C:\Users\Cat\Downloads\ > tree ## 浏览器默认下载位置
C:.
├─CatWrt-main.zip ## 压缩包
├─CatWrt-main ## 软件源文件夹
│ ├─x86_64 ## 设备架构
│ ├─mt7621
│ └─ ... ## 其他文件
Linux 请无视此章
运行 Caddy 服务器
Windows 运行方式
Linux 请无视此章
处理路径
我这里下载的 Caddy 也是在默认路径,所以我们这里右键这个 .exe
在菜单处选择:"复制路径" 可以得到
"C:\Users\Cat\Downloads\caddy_windows_amd64.exe"
选择刚刚解压好的 CatWrt-main 文件夹,确认里面就是各个架构的目录结构,返回上级目录选择这个 CatWrt-main 文件夹,右键菜单选择 "复制路径",可以得到
"D:\CatWrt-main"
把这两个双引号去掉,处理一下命令
Caddy路径 + file-server --root
+ 软件包目录路径 + --listen :1480 --browse
例如:
C:\Users\Cat\Downloads\caddy_windows_amd64.exe file-server --root C:\Users\Cat\Downloads\CatWrt-main --listen :1480 --browse
运行命令
运行 Windows 的终端,你可以用开始菜单里面的 "终端/Terminal" 也可以右键选择 "打开终端/Open in Terminal"
亦或者在文件管理器的目录路径处单击,输入 cmd
回车,就打开终端了。将命令右键复制,右键粘贴到终端处回车。就成功运行 Caddy 服务器了,使用过程中不能关闭这个终端或使用 [ctrl + c] 不然会退出。
在 Linux 桌面系统部署
首先需要安装 Caddy;
apt install caddy ## Debian/Ubuntu
pacman -S caddy ## Archlinux
需要在上方下载软件包压缩包,将 CatWrt-main.zip 解压得到 CatWrt-main 文件夹。这里就当你会使用 unzip 或者文件管理器中的解压缩工具,将解压的文件路径复制出来得到。
'/home/cat/Downloads/CatWrt-main'
将路径和命令结合,回车执行
caddy file-server --root '/home/cat/Downloads/CatWrt-main' --listen :1480 --browse
使用 compose 部署
适用于几乎所有 Linux 设备包括 OpenWrt,需要准备好 docker-compose;
新版本: CatWrt/docker-compose.yml 旧版本: history-packages/docker-compose.yml
建议新建一个目录,然后下载编排文件运行,当然你也可以导到 1Panel 里面管理,也可以把编排内容给到 1Panel,相信你会做的。
mkdir -p CatWrt-repo
cd CatWrt-repo
wget https://raw.miaoer.net/CatWrt/docker-compose.yml
docker-compose up -d
使用 Docker 命令
适合没有安装 docker-compose 的 Linux 设备;
需要占用 1.5G 空间
docker run -d \
--name catwrt-repo \
--network CatWrt-network \
-e TZ=Asia/Shanghai \
-p 1480:80 \
--restart always \
miaoer/catwrt-repo:latest
修改 opkg 配置
比如我用的 CatWrt.v24.9.amd64 的版本,使用在线的软件源是这个域名加这个域名,具体可以参考:
为 CatWrt 扩展应用,插件安装指南全系通用 | miaoermua/cattools/tree/main/repo
src/gz openwrt_core https://cfvercel.catwrt.eu.org/targets/x86/64/packages
src/gz openwrt_base https://cfvercel.catwrt.eu.org/x86_64/base
src/gz openwrt_luci https://cfvercel.catwrt.eu.org/x86_64/luci
src/gz openwrt_packages https://cfvercel.catwrt.eu.org/x86_64/packages
src/gz openwrt_routing https://cfvercel.catwrt.eu.org/x86_64/routing
src/gz openwrt_telephony https://cfvercel.catwrt.eu.org/x86_64/telephony
获取你开启服务器电脑的 IP 地址,比如我这里连上了我们家的 WiFi。这里相信大家也会去知道自己电脑和服务器的 IP 不多赘述。
[cat@cat-ArchLinux ~]$ ip a # Linux 查询 IP 方法
......
3: enp42s0f3u1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
link/ether XX:XX:XX:XX:00:3f brd ff:ff:ff:ff:ff:ff
altname enx00e04c68003f
inet 10.0.0.223/24 brd 10.0.0.255 scope global dynamic noprefixroute enp42s0f3u1 # 插上 CatWrt 获取的 IP
PS C:\Users\Cat\Desktop> ipconfig # Windows 查询 IP 方法
Windows IP 配置
以太网适配器 以太网 10:
连接特定的 DNS 后缀 . . . . . . . : lan
...... ......
IPv4 地址 . . . . . . . . . . . . : 10.0.0.30 # 插上 CatWrt 获取的 IP
子网掩码 . . . . . . . . . . . . : 255.255.255.0
默认网关. . . . . . . . . . . . . : fe80::6cff:f3ff:fe71:3f2c%27
10.0.0.4
IP 是: 10.0.0.233
,修改为这样的 http 协议头注意不是 https,
Windows/Linux 部署的端口是 1480
;
Docker 部署的端口新版本是: 1480 旧版本是: 1481。
稍微弄一下得到
src/gz openwrt_core http://10.0.0.233:1480/targets/x86/64/packages
src/gz openwrt_base http://10.0.0.233:1480/x86_64/base
src/gz openwrt_luci http://10.0.0.233:1480/x86_64/luci
src/gz openwrt_packages http://10.0.0.233:1480/x86_64/packages
src/gz openwrt_routing http://10.0.0.233:1480/x86_64/routing
src/gz openwrt_telephony http://10.0.0.233:1480/x86_64/telephony
就可以放进 CatWrt 的 系统 - 软件包 - 配置 "发行版软件源" 里面了,将发行版软件源全部替换为这个。
然后在软件包处更新列表来更新索引,如果没找到就进 CatWrt 终端手动 opkg update
一下。
如果遇到无法使用可以尝试 rm /var/lock/opkg.lock
这个,为什么会出现这个问题是因为你之前使用其他软件源,会导致的。(也可以重启解决)