# OpenClash 该装 ipk 还是 apk，路由器上跑 Clash 订阅

> 来源 https://jichangtuijianweb.co/kehuduan/openclash/，更新于 2026 年 9 月 20 日。机场推荐网（https://jichangtuijianweb.co/）原创内容。
> 维护中。mihomo 内核，最新版本 v0.47.156（核对于 2026-09-18）。支持 路由器。

OpenClash 是一款 OpenWrt 路由器插件，内核用 mihomo，免费开源，2026 年仍在发版。机场给 Clash 订阅，又想让全家设备一起走代理的，装它合适。

## 官方下载入口

- 路由器 https://github.com/vernesong/OpenClash/releases
- 官方仓库 https://github.com/vernesong/OpenClash

## 用之前要知道

- 它依赖 OpenWrt 的 LuCI 后台，原厂固件和梅林都装不了。项目文档推荐 ImmortalWrt 或 OpenWrt 官方固件，不推荐第三方魔改固件和停更的旧固件
- 要用 dnsmasq-full。固件自带的精简版 dnsmasq 缺 ipset 和 nftset 支持，得先卸掉换成 full 版
- 依赖十几项，iptables 和 nftables 两种防火墙要装的包不一样，发布说明里各给了一套命令
- 项目文档强烈建议把 OpenClash 部署在主路由上，理由是旁路由组网有网络层面的固有缺陷
- 闪存小的机器可以开小闪存模式，内核和 GEOIP 数据改放在内存目录里，代价是每次重启都要重新下载

## 2019 年建仓，今年 5 到 8 月发了五个版本

OpenClash 的 README 第一句话说，本插件是一个可运行在 OpenWrt 上的 Mihomo(Clash) 客户端。作者 vernesong，仓库建于 2019 年 5 月 29 日，许可证 MIT，致谢里写明代码基于 frainzy1477 的 Luci For Clash，内核用的是 MetaCubeX 的 mihomo。

我在 2026 年 9 月 20 日看过仓库，没有归档，提交数 3714，星标 2.75 万，最近一次推送在 9 月 18 日。发布页上从 5 月 30 日的 v0.47.096 到 8 月 10 日的 v0.47.156 一共五个版本。v0.47.110 起 apk 安装包默认带上 luci-compat 依赖，v0.47.156 开始允许插件和内核降级。

## 插件和内核分开，订阅按 Clash 格式处理

装进路由器的 luci-app-openclash 是一个后台管理界面，转发流量靠 [mihomo 内核](https://jichangtuijianweb.co/kepu/mihomo-neihe/)，内核文件放在 /etc/openclash/core 目录里。v0.47.156 的发布说明特意提醒，启动前先到插件设置的版本更新标签下确认内核编译版本，也就是和路由器 CPU 对应的那一版。

运行状态页上有两组开关，运行模式分兼容、TUN 和混合三种，代理模式分策略代理、全局代理和全局直连。README 的致谢里还列了 zashboard 和 yacd 两个控制面板，切换节点、看连接也能在面板里做。

订阅由插件下载后用 Ruby 解析，所以 ruby 和 ruby-yaml 在依赖里。它读的是 Clash 的 YAML 配置，节点和分流规则会一起带进来，还能按关键字筛掉不要的节点。家里的手机、电视走路由器上网时，流量由 OpenClash 按规则分流，设备上什么都不用装。节点全部来自机场订阅，还没有的话，可以先看[机场推荐榜单](https://jichangtuijianweb.co/tuijian/)。

## 和 PassWall2、ShellCrash 各管一类情况

同样装在路由器上的，[PassWall2](https://jichangtuijianweb.co/kehuduan/passwall2/) 也是 LuCI 插件，README 标注的门槛是 OpenWrt 21.02 以上，它按节点来管理，订阅导进来的是一个个节点，分流方式在插件里设置。[ShellCrash](https://jichangtuijianweb.co/kehuduan/shellcrash/) 是 Shell 脚本，通过 SSH 部署 mihomo 或 sing-box，不需要 LuCI，梅林这类装不了 OpenWrt 插件的固件也能用。机场给 Clash 订阅、路由器是 OpenWrt 的，OpenClash 最对口。

## 安装包看包管理器，依赖看防火墙

v0.47.156 的发布页只有两个安装文件，`luci-app-openclash_0.47.156_all.ipk` 和 `luci-app-openclash-0.47.156.apk`，都在 10 MB 左右，ipk 文件名里的 all 表示不分 CPU 架构。OpenWrt 24.10 及更早的固件用 opkg，下 ipk。25.12 分支换成了 apk 包管理器，下 apk。

依赖要看防火墙。22.03 起官方固件默认是 nftables，需要 kmod-nft-tproxy，老固件的 iptables 环境则要 iptables-mod-tproxy、iptables-mod-extra 和 ipset。两种环境都要 dnsmasq-full、bash、curl、ruby、ruby-yaml、kmod-tun 等十几个包，发布说明按四种组合各给了一段安装命令。完整步骤和截图见本页的[路由器教程](https://jichangtuijianweb.co/kehuduan/openclash/#jiaocheng-router)，别的路由器插件在[路由器平台页](https://jichangtuijianweb.co/kehuduan/pingtai/router/)里对比。

## OpenClash 路由器教程，装插件、导入 Clash 订阅到切换节点

整个过程在 OpenWrt 的 SSH 和网页后台里完成。先确认包管理器和防火墙类型，装依赖和插件、下载内核，再导入机场的 Clash 订阅、启动服务，最后进控制面板选节点。截图是 v0.46.001-beta，固件基于 OpenWrt 23.05 分支。

1. **用 SSH 确认包管理器和防火墙** SSH 登录路由器，执行 `opkg --version`，有版本号输出就是 opkg，后面装 ipk。提示找不到命令，再试 `apk --version`，OpenWrt 25.12 分支起换成了它，装 apk。防火墙看固件版本，22.03 及以后的官方固件默认是 nftables，更早的是 iptables。这两项决定下一步用哪套命令。
2. **照发布说明装依赖，再装插件** 发布说明按包管理器和防火墙给了四段命令，照自己的组合复制。以 nftables 加 opkg 为例，先 `opkg update`，再用 `opkg install` 装 bash、dnsmasq-full、curl、ca-bundle、ruby、ruby-yaml、kmod-tun、kmod-nft-tproxy、luci-compat 等包，最后装 `luci-app-openclash_0.47.156_all.ipk`。apk 固件换成 `apk add`，本地包要带 `--allow-untrusted`。固件自带的精简版 dnsmasq 要先卸掉。
3. **在服务菜单里打开 OpenClash** 刷新 LuCI，左侧服务菜单下多出 OpenClash，点进去是运行状态页。顶上一排标签从运行状态排到运行日志，中间的表格列着主程序和守护程序的状态、运行模式、代理模式，右边是控制面板的登录 IP、端口和密钥。最下面一行是实时流量，截图里内核的内存占用是 23.5 MB。
4. **到版本更新标签确认内核** 插件只是管理界面，转发流量的 mihomo 内核要另外下载，放在 /etc/openclash/core 目录。v0.47.156 的发布说明提醒，启动前先到插件设置的版本更新标签，确认内核编译版本和路由器 CPU 对得上，再下载内核。内核从 OpenClash 仓库的 core 分支拉取，路由器连不上 GitHub 时会失败。
5. **在机场用户中心复制订阅地址** 打开机场网站，登进自己的账户。截图这家面板把订阅入口放在捷径区的一键订阅里，点开后弹出一个小菜单，第一项复制订阅地址就是要的。别家面板的样子会不一样，认准写着订阅的入口就行。订阅地址谁拿到都能用你的流量，[别发给别人](https://jichangtuijianweb.co/kepu/dingyue-lianjie-anquan/)。
6. **有多个格式按钮时，挑 Clash 那一个** 有的面板另有一块便捷导入区，按客户端分出一排复制按钮，V2Ray、Quantumult(X)、SSR 各有一个。OpenClash 读 Clash 格式，复制写着 CFW / ClashX 订阅的那个。CFW 是已经停更的 Clash for Windows，这里只是借它的名字标明格式。
7. **打开配置订阅标签，点添加** 回到 OpenClash，点顶部的配置订阅。页面上半部分是自动更新的勾选框，下面的订阅表格还写着尚无任何配置。点表格下方蓝色的添加，进入新建订阅的页面。表格最底下的保存配置和更新配置两个按钮，等订阅加好再用。
8. **填配置文件名和订阅地址，保存** 配置文件名填个好认的名字，灰字 OpenClash.ORG 只是占位，下面提示用于区分，请勿重名。订阅地址粘贴刚复制的链接，User-Agent 保持 Clash。在线订阅转换别勾，它会把订阅交给外部转换服务。排除无效节点后面的过期时间、剩余流量几个勾选框，能把机场塞进来的提示条目筛掉。点保存配置。
9. **看语法检查通过，再点启动 OpenClash** 回到运行状态页往下翻，订阅表格里多了一行，截图这一行显示已用 72.5 GB、共 200.0 GB，到期日和剩余天数也在上面，语法检查一栏写着检查通过。再往下是 IP 地址和网站访问检查两块，百度、网易云音乐、GitHub、YouTube 都显示连接正常。确认后点左下的启动 OpenClash。
10. **代理模式留在 Rule** 表格里的代理模式一行有 Rule、Global、Direct 三个按钮。选 Rule 时，哪些网站走节点由订阅里的规则决定，国内网站照样直连，日常就用它。Global 把全部流量交给一个节点，适合临时判断是不是节点的问题。Direct 等于不走代理。旁边的运行模式截图选的是兼容，不熟悉时别改。
11. **从三个控制面板里挑一个打开** 代理模式下面并排三个按钮，Yacd、Metacubexd 和 Dashboard，都是 mihomo 的网页控制面板，功能差不多，挑一个顺眼的点。面板的登录地址、端口和密钥就是表格右边那三行，截图里端口是 9090。面板在新标签页打开，打不开先确认主程序是运行中。
12. **在策略组里点节点完成切换** 面板左边点代理，右边第一块是策略组，国外流量、Telegram、Youtube、Netflix、Steam 等各占一行，每行后面是可选的节点。点某个节点它就会高亮，这一组的流量随即改走它。下半部分的代理区列出全部节点，右上角的测速能测一遍延迟，节点名怎么读见[这篇](https://jichangtuijianweb.co/kepu/jiedian-mingcheng-zenme-kan/)。截图面板左下角显示内核版本 v1.18.0。
13. **用家里其他设备验证** 拿一台连着这台路由器的手机或电脑，不开任何代理软件，打开一个平时要代理才能访问的网站，能加载就说明路由器在替它转发。回到运行状态页，上传、下载和活动连接的数字会跟着动起来。控制面板的连接页能看到每条连接走的是哪个节点。

### 卡住了怎么办

- **启动失败，日志里有 Ruby Works Abnormally** 项目文档说这是 ruby 相关的包没装好。到系统菜单的软件包页面确认 ruby、ruby-yaml 已经安装，新版还依赖 ruby-psych。装齐后重启 OpenClash。拿不准缺什么，就在运行日志页点生成日志，里面有一节依赖检查。
- **OpenClash 在运行，家里设备却解析不了域名** 先查 dnsmasq 是不是 full 版。在 SSH 里执行 dnsmasq --version，看第一行，fw4 固件要带 nftset，老固件要带 ipset。项目文档说精简版缺这些功能，DNS 劫持会失效，要在软件包页面卸掉 dnsmasq，换装 dnsmasq-full。
- **内核一直下载失败** 内核从 OpenClash 仓库的 core 分支下载，路由器连不上 GitHub 就会失败，日志会提示可以手动下载再上传。在电脑上下载和路由器 CPU 对应的 clash-架构名.tar.gz，到配置管理页面用文件上传传上去，上传类型选内核文件，插件会自己解压。
- **Hysteria2、TUIC 节点连不上或者老断流** 项目文档对这类 QUIC 节点的第一条建议，是到插件设置的模式设置里打开禁用 quic-go GSO，再重启 OpenClash。文档说这是 Linux 内核 6.6 以上最常见的 QUIC 兼容问题。还不行，就生成调试日志看内核报了什么。
- **网页能开，游戏和语音这类 UDP 流量不走代理** nftables 固件上多半是缺 kmod-nft-tproxy，文档列的症状正是 UDP 无法代理，启动日志里会有 nft_tproxy module not found。在软件包页面装上它，重启 OpenClash。iptables 固件对应的是 iptables-mod-tproxy 和 kmod-ipt-tproxy。

## 常见问题

### OpenWrt 25.12 装 OpenClash 用哪个包

用 apk。OpenWrt 从 25.12 分支起把包管理器换成了 apk，24.10 及更早的固件还是 opkg，对应 ipk。apk 装这种本地包要加 --allow-untrusted，发布说明给的安装命令里已经带着。

### 怎么知道路由器用的是 iptables 还是 nftables

看固件版本最直接。OpenWrt 22.03 起官方固件默认用基于 nftables 的 firewall4，更早的版本用 iptables。两种环境的依赖不同，nftables 要 kmod-nft-tproxy，iptables 要 iptables-mod-tproxy 等几个包。

### OpenClash 第一次启动前要做什么

按 v0.47.156 发布说明的提醒，启动前先到插件设置页面的版本更新标签，确认内核编译版本和路由器的 CPU 架构对得上。插件本身只是管理界面，mihomo 内核放在 /etc/openclash/core 目录，架构选错了内核跑不起来。

### 机场只给分享链接格式的订阅，OpenClash 能用吗

OpenClash 按 Clash 的 YAML 解析订阅，分享链接格式要靠配置订阅里的订阅转换，把订阅地址交给转换后端处理成 Clash 配置。后端如果是第三方服务，等于把订阅地址交给了别人，最好先问机场有没有 Clash 格式的链接。

### OpenClash 启动失败，从哪里开始查

先生成调试日志。在运行日志页面点生成日志，或者在 SSH 里执行 /usr/share/openclash/openclash_debug.sh，日志里有一节依赖检查，缺哪个包一眼能看到。项目文档列的常见原因里，dnsmasq 不是 full 版和 ruby 相关的包缺失都会让启动失败。
