OpenWrt 正确编译安装 OpenClash 的方法

前面说到过 OpenWrt 安装 OpenClash 插件并配置节点的教程,那个安装的前提是已经拥有了 OpenClash 的依赖才可以直接安装插件,安装方法说的比较笼统,下面阿帕胡就分享个如何在 OpenWrt 上正确编译 OpenClash 的方法,其中包括了依赖安装和内核安装的步骤。

OpenWrt 正确编译安装 OpenClash 的方法-阿帕胡

更换发行源

安装之前我们需要先确认设备架构,本次使用的设备为 NanoPi R2S,设备架构为 aarch64,如何确认架构可使用以下命令查看,命令如下:

# 查看CPU架构uname -m# 查看可接受架构opkg print-architecture

其他设备架构请自行修改软件源架构地址,比如:R2S 为 CPU 是 RK3328 ARMv8 64位 4核 A53,那么 openwrt_core 就是/armvirt/64/,其他为 /aarch64_cortex-a53/,不清楚或者不了解设备架构的的可以自行谷歌查找,以下为 aarch64 架构使用的发行源地址:

src/gz openwrt_core https://downloads.openwrt.org/snapshots/targets/armvirt/64/packages/src/gz openwrt_base https://downloads.openwrt.org/snapshots/packages/aarch64_cortex-a53/base/src/gz openwrt_luci https://downloads.openwrt.org/snapshots/packages/aarch64_cortex-a53/luci/src/gz openwrt_packages https://downloads.openwrt.org/snapshots/packages/aarch64_cortex-a53/packagessrc/gz openwrt_routing https://downloads.openwrt.org/snapshots/packages/aarch64_cortex-a53/routingsrc/gz openwrt_telephony https://downloads.openwrt.org/snapshots/packages/aarch64_cortex-a53/telephony

更新发行源

此处为更新发行源地址,并移除旧版本残留的的 OpenClash 插件内容,更新提示 Signature check passed. 那么说明更新成功,如果更新错误,请检查“系统”>“软件包”>“配置” 内地址是否填写正确,并手动尝试打开地址查看。

如地址确认无误还是无法更新,可尝试在上级路由开启代理节点,确保发行源可正常更新!!!

# 更新发行源opkg update# 移除陈旧不可用的 luci-app-openclashopkg remove luci-app-openclash

确认缺少依赖

使用命令罗列出所有已安装的依赖,对照以下所需依赖,找出未安装的所需依赖,如安装的 openclash 版本高于 V0.44.00-Beta,那么可以忽略 jsonfilter 依赖,命令如下:

opkg list-installed

所需依赖:

coreutils-nohup,bash,iptables,dnsmasq-full,curl,ca-certificates,ipset,ip-full,iptables-mod-tproxy,iptables-mod-extra,libcap,libcap-bin,ruby,ruby-yaml,kmod-tun

安装所需依赖

对照已找出的所需依赖,依次执行所需安装的依赖命令,为了让小白不出错,以下命令全部使用了强制安装,如果不想强制安装可删除 --force-overwrite 即可,依赖安装成功都会提示:Configuring [依赖名称] ,命令如下:

opkg install coreutils-nohup --force-overwriteopkg install bash --force-overwriteopkg install iptables --force-overwriteopkg install dnsmasq-full --force-overwriteopkg install curl --force-overwriteopkg install ca-certificates --force-overwriteopkg install ipset --force-overwriteopkg install ip-full --force-overwriteopkg install iptables-mod-tproxy --force-overwriteopkg install iptables-mod-extra --force-overwriteopkg install libcap --force-overwriteopkg install libcap-bin --force-overwriteopkg install ruby --force-overwriteopkg install ruby-yaml --force-overwriteopkg install kmod-tun --force-overwrite

出现报错提示:op­kg_­con­f_load: Could not lock /var/lock/opkg.lock: Re­source tem­porar­ily un­avail­able,那么请执行以下命令后继续操作即可,命令如下:

rm -f /var/lock/opkg.lock

安装插件

安装前请前往 OpenClash 的 Github 发布页确认版本,演示版本为:V0.44.34-beta,确认后修改以下命令内的版本号,然后依次运行以下命令即可,命令如下:

插件发布页:https://github.com/vernesong/OpenClash/releases

# 下载 luci-app-openclashwget https://github.com/vernesong/OpenClash/releases/download/v0.44.34-beta/luci-app-openclash_0.44.34-beta_all.ipk# 安装 luci-app-openclashopkg install luci-app-openclash_0.44.34-beta_all.ipk# 以下为安装 luci-app-openclash 成功提示,并非命令Installing luci-app-openclash (0.44.34-beta) to root...Configuring luci-app-openclash.cfg1d7882

安装内核

如果你在“openclash”>“全局设置”>“版本更新”内无法更新 Dev 内核,那么可以使用以下方法进行更新,安装内核前先去内核发布页确认架构安装包,比如:R2S 使用 clash-linux-armv8.tar.gz,将安装包名替换到命令内即可,命令如下:

内核发布页:https://github.com/vernesong/OpenClash/releases/tag/Clash

# 进入内核安装目录cd /etc/openclash/core/ # 下载内核安装包wget https://github.com/vernesong/OpenClash/releases/download/Clash/clash-linux-armv8.tar.gz# 解压内核安装包tar -zxvf clash-linux-armv8.tar.gz# 给予最高权限chmod 777 clash

最后说明

完成安装后重启设备,进入 OpenClash 后在 “全局设置”>“版本更新”内将 Dev, TUN, Game 进行更新,模式设置推荐使用 Fake-IP (TUN - 混合) 模式,启用本地DNS,如何配置节点可查看《OpenWrt 安装 OpenClash 插件并配置节点》。

THE END