前面说到过 OpenWrt 安装 OpenClash 插件并配置节点的教程,那个安装的前提是已经拥有了 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/packages src/gz openwrt_routing https://downloads.openwrt.org/snapshots/packages/aarch64_cortex-a53/routing src/gz openwrt_telephony https://downloads.openwrt.org/snapshots/packages/aarch64_cortex-a53/telephony
更新发行源
此处为更新发行源地址,并移除旧版本残留的的 OpenClash 插件内容,更新提示 Signature check passed. 那么说明更新成功,如果更新错误,请检查“系统”>“软件包”>“配置” 内地址是否填写正确,并手动尝试打开地址查看。
如地址确认无误还是无法更新,可尝试在上级路由开启代理节点,确保发行源可正常更新!!!
# 更新发行源 opkg update # 移除陈旧不可用的 luci-app-openclash opkg 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-overwrite opkg install bash --force-overwrite opkg install iptables --force-overwrite opkg install dnsmasq-full --force-overwrite opkg install curl --force-overwrite opkg install ca-certificates --force-overwrite opkg install ipset --force-overwrite opkg install ip-full --force-overwrite opkg install iptables-mod-tproxy --force-overwrite opkg install iptables-mod-extra --force-overwrite opkg install libcap --force-overwrite opkg install libcap-bin --force-overwrite opkg install ruby --force-overwrite opkg install ruby-yaml --force-overwrite opkg install kmod-tun --force-overwrite
出现报错提示:opkg_conf_load: Could not lock /var/lock/opkg.lock: Resource temporarily unavailable,那么请执行以下命令后继续操作即可,命令如下:
rm -f /var/lock/opkg.lock
安装插件
安装前请前往 OpenClash 的 Github 发布页确认版本,演示版本为:V0.44.34-beta,确认后修改以下命令内的版本号,然后依次运行以下命令即可,命令如下:
插件发布页:https://github.com/vernesong/OpenClash/releases
# 下载 luci-app-openclash wget https://github.com/vernesong/OpenClash/releases/download/v0.44.34-beta/luci-app-openclash_0.44.34-beta_all.ipk # 安装 luci-app-openclash opkg 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 插件并配置节点》。