OpenClash 安装教程
OpenClash 安装教程:先确认路由器用 opkg 还是 apk 包管理器,从官方发布页下载 .ipk 或 .apk,在网页后台或用官方命令安装,附依赖问题的处理。
- 内容
- 装之前先确认三件事、看包管理器和防火墙、下载安装包、方法一:在网页后台安装 等 6 部分
- 预计阅读
- 约 5 分钟
- 适用
- 路由器
OpenClash 是装在 OpenWrt 路由器上的 LuCI 插件,用来管理 mihomo 内核。这一篇讲怎么把它装上;装好后怎么导入订阅、启动,见 OpenClash 配置教程。
本文的安装命令和依赖都来自 OpenClash 官方 README 和官方使用手册(v0.48.002,2026-10-29 核对)。
装之前先确认三件事
| 要确认的 | 怎么看 | 为什么 |
|---|---|---|
| 固件是 OpenWrt | 能登录 LuCI 网页后台,菜单里有“系统”“服务” | OpenClash 只支持 OpenWrt 及其衍生固件,官方 README 标注 OpenWrt 18.06 及以上 |
| 包管理器是 opkg 还是 apk | 见下一节 | 决定下载 .ipk 还是 .apk |
| 防火墙是 nftables 还是 iptables | 见下一节 | 两种防火墙要装的依赖不同 |
官方使用手册还提醒:推荐用 ImmortalWrt 或 OpenWrt 官方固件,不推荐第三方魔改固件和已停止维护的旧固件;旁路由组网有网络层面的固有问题,建议把 OpenClash 装在主路由上。
看包管理器和防火墙
用 SSH 登录路由器,运行:
command -v opkg
command -v apk
command -v fw4
opkg有输出:用 opkg,下载.ipk。apk有输出:用 apk,下载.apk。OpenWrt 从 25.12 版起把包管理器从 opkg 换成了 apk(OpenWrt 25.12.0 发布公告(在新窗口打开))。fw4有输出:防火墙是 nftables(Firewall4)。OpenWrt 从 22.03 版起默认使用 Firewall4(OpenWrt 22.03.0 发布公告(在新窗口打开))。没有输出一般是更早的 iptables 防火墙。
下载安装包
安装包只从官方发布页下载:github.com/vernesong/OpenClash/releases(在新窗口打开)
每个版本只有两个安装包:
| 文件 | 用于 |
|---|---|
luci-app-openclash_版本号_all.ipk |
opkg 系统 |
luci-app-openclash-版本号.apk |
apk 系统 |
插件本身和处理器架构无关(官方 Makefile 里是 PKGARCH:=all),不用按路由器芯片挑文件。mihomo 内核是首次使用时另外下载的,官方 README 提醒:首次使用需要下载内核,请提前确认网络环境。
GitHub 发布页每个文件旁边都显示了 SHA256,可以下载后核对,方法见 怎么计算 SHA256。
方法一:在网页后台安装
这是官方 README“网页安装”一节的步骤:
- 按上表从官方发布页下载安装包到电脑。
- 登录 OpenWrt 的 LuCI 后台,打开“系统 → 软件包”,上传并安装。
- 刷新或重新登录页面,在“服务 → OpenClash”里导入订阅或上传配置文件,然后启动。
网页安装会自动拉取依赖。如果软件源里缺少依赖、或者路由器装的是精简版 dnsmasq,安装可能失败,这时改用下面的命令行方法,或先按“常见问题”处理 dnsmasq。
方法二:用命令安装
以下命令原样来自官方 README,按你的防火墙和包管理器选一组,在 SSH 里整段执行。每组都会先安装依赖,再从官方发布页下载最新版并安装。
nftables(Firewall4)+ opkg:
opkg update
opkg install bash dnsmasq-full curl ca-bundle ip-full ruby ruby-yaml kmod-tun kmod-inet-diag unzip kmod-nft-tproxy luci-compat luci luci-base
curl -L --retry 2 https://api.github.com/repos/vernesong/OpenClash/releases/latest -o /tmp/openclash_version
[ -f "/tmp/openclash_version" ] && download_url=$(cat /tmp/openclash_version | jsonfilter -e '@.assets[*].browser_download_url' | grep '\.ipk$') && curl -L --retry 2 "$download_url" -o /tmp/openclash.ipk || echo "OpenClash last version get failed"
[ -f "/tmp/openclash.ipk" ] && opkg install /tmp/openclash.ipk || echo "OpenClash download failed"
nftables(Firewall4)+ apk:
apk update
apk add bash dnsmasq-full curl ca-bundle ip-full ruby ruby-yaml kmod-tun kmod-inet-diag unzip kmod-nft-tproxy luci-compat luci luci-base
curl -L --retry 2 https://api.github.com/repos/vernesong/OpenClash/releases/latest -o /tmp/openclash_version
[ -f "/tmp/openclash_version" ] && download_url=$(cat /tmp/openclash_version | jsonfilter -e '@.assets[*].browser_download_url' | grep '\.apk$') && curl -L --retry 2 "$download_url" -o /tmp/openclash.apk || echo "OpenClash last version get failed"
[ -f "/tmp/openclash.apk" ] && apk add -q --force-overwrite --clean-protected --allow-untrusted /tmp/openclash.apk || echo "OpenClash download failed"
iptables 防火墙(较旧的固件): 依赖列表多了 iptables、ipset、iptables-mod-tproxy、iptables-mod-extra,少了 kmod-nft-tproxy。完整命令见 官方 README 的“命令行安装”一节(在新窗口打开)。
命令执行完,刷新 LuCI 页面,“服务”菜单下就会出现 OpenClash。
装好后看到什么
当前版本(v0.48.002)“服务 → OpenClash”下有这些页面:运行状态、插件设置、覆写设置、配置订阅、配置管理、运行日志(菜单名取自官方简体中文语言文件)。下一步去“配置订阅”添加订阅,见 OpenClash 配置教程。
常见问题
装依赖时提示 dnsmasq 冲突怎么办?
OpenClash 需要完整版 dnsmasq-full,OpenWrt 自带的是精简版 dnsmasq。官方使用手册的做法是:在 LuCI 的“系统 → 软件包”里先卸载 dnsmasq,再安装 dnsmasq-full。
启动时报“Ruby Works Abnormally”是什么原因?
官方使用手册的故障速查表里,这条对应 ruby 或 ruby-yaml 没装好。到“系统 → 软件包”确认 ruby、ruby-yaml、ruby-psych 都已安装。
TUN 模式启动报错找不到 tun 模块怎么办?
需要 kmod-tun,并且要和固件内核版本匹配。在“系统 → 软件包”里安装 kmod-tun。
网上的“一键安装脚本”能用吗?
本站只推荐官方 README 和官方使用手册里给出的方法。官方手册另外给了一个官方的 install.sh 安装 / 重装命令,见 官方使用手册(在新窗口打开)。来路不明的脚本可能被改过,不建议使用。
装好后怎么排查问题?
官方建议先生成调试日志:LuCI 里“运行日志 → 调试日志 → 生成日志”。日志里有依赖检查一节,能看到哪个依赖没装。
下一步
本页内容依据各项目的官方文档和源码整理 · 有错误?提交反馈