在自己电脑或服务器部署 CatWrt 软件源,使用 Caddy 部署

在自己电脑或服务器部署 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 软件源包

确认版本

这里有两个版本区别,如果你是在👇下面这个博客下载的包

^1

并且打开 CatWrt 路由器后台查看版本号,校对过和这个博客一样版本号的就是最新的。

如果你确定自己和这个博客,版本不一致推荐你更换最新版本,或者使用历史版本软件包,或者使用 cattools 的检查更新功能确定当前系统版本号。

下载包

Github

以下平台需要登录或需要会员,更新不及时

Gitee | 123云盘 | 百度云盘 提取码/密码: miao

解压

需要将 CatWrt-main.zip 解压,无论你是拖出来还是直接右键解压都会有一个文件夹,不要动他,除非你的解压软件会将文件夹再套一层。

使用文件管理器解压
使用 7zip 解压

我这里没有更改浏览器默认下载路径,所以是在 C 盘 Users\YOUUSERNAME\Downloads\ 文件结构是这样的:

TREE
C:\Users\Cat\Downloads\ > tree      ## 浏览器默认下载位置

C:.
├─CatWrt-main.zip   ## 压缩包
├─CatWrt-main       ## 软件源文件夹
│  ├─x86_64             ## 设备架构
│  ├─mt7621
│  └─ ...               ## 其他文件
Copy

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 例如:

CMD
C:\Users\Cat\Downloads\caddy_windows_amd64.exe file-server --root C:\Users\Cat\Downloads\CatWrt-main --listen :1480 --browse
Copy

运行命令

运行 Windows 的终端,你可以用开始菜单里面的 "终端/Terminal" 也可以右键选择 "打开终端/Open in Terminal"

亦或者在文件管理器的目录路径处单击,输入 cmd 回车,就打开终端了。将命令右键复制,右键粘贴到终端处回车。就成功运行 Caddy 服务器了,使用过程中不能关闭这个终端或使用 [ctrl + c] 不然会退出。

在 Linux 桌面系统部署

首先需要安装 Caddy;

BASH
apt install caddy      ## Debian/Ubuntu
pacman -S caddy         ## Archlinux
Copy

需要在上方下载软件包压缩包,将 CatWrt-main.zip 解压得到 CatWrt-main 文件夹。这里就当你会使用 unzip 或者文件管理器中的解压缩工具,将解压的文件路径复制出来得到。

'/home/cat/Downloads/CatWrt-main'

将路径和命令结合,回车执行

caddy file-server --root '/home/cat/Downloads/CatWrt-main' --listen :1480 --browse
Copy

使用 compose 部署

适用于几乎所有 Linux 设备包括 OpenWrt,需要准备好 docker-compose;

新版本: CatWrt/docker-compose.yml 旧版本: history-packages/docker-compose.yml

建议新建一个目录,然后下载编排文件运行,当然你也可以导到 1Panel 里面管理,也可以把编排内容给到 1Panel,相信你会做的。

BASH
mkdir -p CatWrt-repo
cd CatWrt-repo
wget https://raw.miaoer.net/CatWrt/docker-compose.yml
docker-compose up -d
Copy

使用 Docker 命令

适合没有安装 docker-compose 的 Linux 设备;

需要占用 1.5G 空间

BASH
docker run -d \
  --name catwrt-repo \
  --network CatWrt-network \
  -e TZ=Asia/Shanghai \
  -p 1480:80 \
  --restart always \
  miaoer/catwrt-repo:latest
Copy

修改 opkg 配置

比如我用的 CatWrt.v24.9.amd64 的版本,使用在线的软件源是这个域名加这个域名,具体可以参考:

为 CatWrt 扩展应用,插件安装指南全系通用 | miaoermua/cattools/tree/main/repo

CONF
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
Copy

获取你开启服务器电脑的 IP 地址,比如我这里连上了我们家的 WiFi。这里相信大家也会去知道自己电脑和服务器的 IP 不多赘述。

LOGS
[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
Copy
LOGS
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
Copy

IP 是: 10.0.0.233,修改为这样的 http 协议头注意不是 https,

Windows/Linux 部署的端口是 1480; Docker 部署的端口新版本是: 1480 旧版本是: 1481。

稍微弄一下得到

CONF
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
Copy

就可以放进 CatWrt 的 系统 - 软件包 - 配置 "发行版软件源" 里面了,将发行版软件源全部替换为这个。

然后在软件包处更新列表来更新索引,如果没找到就进 CatWrt 终端手动 opkg update 一下。

如果遇到无法使用可以尝试 rm /var/lock/opkg.lock 这个,为什么会出现这个问题是因为你之前使用其他软件源,会导致的。(也可以重启解决)


1: https://www.miaoer.net/posts/network/catwrt