🌐OpenClash替换使用Mihomo内核

2024-8-29|2025-1-3
Yawatasensei
Yawatasensei
type
status
date
slug
summary
tags
category
icon
password
🚧
OpenClash是我在OpenWRT旁路网关(旁路由)上使用时间最长的插件,其依赖于Clash的内核文件使用,在功能的完整性和使用顺手程度上,目前还没有可完全替代的选项。目前Clash-meta内核分支已经改名为Mihomo,OpenClash也已经大概2个月没有更新了,插件自带的内核更新功能暂时还不能自动更新使用Mihomo内核,为了使OpenClash支持Mihomo内核所带来的一些新的功能,所以有了这篇文章。
notion image

📝 付费内容

Mihomo内核介绍

Mihomo内核并不是一个新的Clash内核,其前身是Clash-Meta内核,但是由于Clash For Windows删库风波问题,所以改名为Mihomo(原神!启动!)Mihomo继承了Clash的核心功能,综合原始Clash及Clash Premium核心功能,并在此基础上根据需要持续更新迭代,是目前Clash最为主流的核心。

Mihomo功能介绍

代理模块
  • 实现了基于TCP握手机制的主动健康检测(如urltest/fallback)。
  • 支持Relay代理链和TCP连接并发。
规则模块:
  • 全面的规则支持,包括GEOSITE、GEOIP、入站类型规则IN-TYPE和规则集RULE-SET。
  • 支持SRC-PORT和DST-PORT的多条件、TCP/UDP的分别控制、网络类型匹配(TCP/UDP)、PROCESS-NAME匹配等。
  • 逻辑判断规则(NOT/OR/AND)、子规则集、所有规则的源IPCIDR条件。
  • GEODATA MODE切换(mmdb/dat)和GEODATA LOADER模式切换(普通/小内存模式),适用于各种设备。
DNS模块:
  • 包括域名嗅探器Sniffer、使用Geosite的Fallback-Filter和Redir-Host远程解析。
  • 支持使用代理解析IP和DNS over QUIC。
TUN模块:
  • 支持macOS、Linux和Windows平台。
  • 内置iptables和Wintun驱动程序,无需手动配置。
  • 支持gVisor/System堆栈以及Mix堆栈(混合堆栈)。

Mihomo新增功能

除上述功能外,在Clash-Meta更名为Mihomo之后,又增加了如下功能支持:
DNS模块:
  • 增加HTTP/3 DNS支持(H3的速度真的很快),包括是否优先使用DOH的HTTP/3以及指定DOH服务器强制使用HTTP/3
  • nameserver-policy规则:优先于nameserverfallback的dns进行解析,可以在规则中通过GEOSITE分组进行DNS指定,增加DNS解析规则灵活性。但由于nameserverfallback dns server同时请求的原因,并不能解决DNS泄露问题。
  • fallback-filter规则:支持GEOIPGEOSITE匹配
  • proxy-server-nameserver:指定解析节点所使用的DNS服务器
策略组模块 - 路由规则:
  • 增加PROCESS-NAME进程匹配,软路由上可匹配本机进程
  • 增加PROCESS-NAME-REGEX,使用进程名称正则表达式匹配
  • 增加PROCESS-PATH-REGEX,使用进程路径正则表达式匹配
  • 增加SUB-RULE子规则
 
Tun模块:
  • 支持gVisorSystem的混合堆栈,tcp使用system栈,udp使用gvisor栈,使用体验可能相对更好,同时稳定性也有保证。
  • 支持流量转发隧道(Tunnel)
主要我们所使用到的,还是在DNS模块的部分,可以更为精准的控制DNS的解析,包括IPv6 DNS的解析。

OpenClash替换Mihomo内核方法

  1. 首先确认你使用的是OpenWRT及OpenClash,并对自己将进行的操作目标有所知悉。下述操作的系统为X86-64架构,OpenWRT版本为ImmortalWrt 23.05.4。如果担心出现不可恢复的问题,可以先备份虚拟机或OpenClash整体配置。本篇内容也适用于OpenClash内核更新失败的手动解决方案。
  1. 通过SSH登入OpenWRT,并进入OpenClash的核心所在文件夹:
  1. 备份原来的meta核心:
  1. 下载Mihomo核心,从https://github.com/MetaCubeX/mihomo/releases 选择版本和自己路由器架构的核心包,并复制链接地址,替换下面命令中的地址,X86-64用户选择mihomo-linux-amd64-compatible-go120后缀即可。
  1. OpenWRT网页端进入OpenClash,点击插件设置 - 版本更新,查看[Meta]当前内核版本是否为v1.18.7,如图所示
notion image
  1. 如果显示为当前下载的内核版本号,即表示替换成功。重启OpenClash即可生效。不要再点击检查并更新了。

🤗 总结归纳

因为Notion AI到期,所以没有课代表总结。反正就是一个简单的Mihomo内核替换,也没什么难度。
Mihomov1.18.8版本更新了,可以更新起来了。但是WireGuard的问题还是没有修复。
OpenClash目前已完全支持Mihomo内核,可以直接使用自带的更新功能进行更新。

📎 参考文章

 
💡
有关OpenWRT和Mihomo安装或者使用上的问题,欢迎您在底部评论区留言,一起交流~
OpenWRT中为局域网设备配置IPv6 DDNS借助Cloudflare为网站开启HTTP/3
Loading...