type
status
date
slug
summary
tags
category
icon
password
OpenClash是我在OpenWRT旁路网关(旁路由)上使用时间最长的插件,其依赖于Clash的内核文件使用,在功能的完整性和使用顺手程度上,目前还没有可完全替代的选项。目前Clash-meta内核分支已经改名为Mihomo,OpenClash也已经大概2个月没有更新了,插件自带的内核更新功能暂时还不能自动更新使用Mihomo内核,为了使OpenClash支持Mihomo内核所带来的一些新的功能,所以有了这篇文章。
📝 付费内容
Mihomo内核介绍
Mihomo内核并不是一个新的Clash内核,其前身是Clash-Meta内核,但是由于Clash For Windows删库风波问题,所以改名为Mihomo(原神!启动!)Mihomo继承了Clash的核心功能,综合原始Clash及Clash Premium核心功能,并在此基础上根据需要持续更新迭代,是目前Clash最为主流的核心。
Mihomo功能介绍
代理模块
- 支持多种出站传输协议,如VLESS XTLS、Trojan XTLS和Hysteria。目前对WireGuard的支持情况并不是很好,具体可参考[Bug] clash verge1.6.6,使用v.18.5内核连接到wireguard服务时连接失败,但是使用wireguard或者使用非mate内核连接正常 · Issue #1355 · MetaCubeX/mihomo (github.com)
- 实现了基于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
规则:优先于nameserver
及fallback
的dns进行解析,可以在规则中通过GEOSITE
分组进行DNS指定,增加DNS解析规则灵活性。但由于nameserver
与fallback dns server
同时请求的原因,并不能解决DNS泄露问题。
fallback-filter
规则:支持GEOIP
及GEOSITE
匹配
proxy-server-nameserver
:指定解析节点所使用的DNS服务器
策略组模块 - 路由规则:
- 增加
PROCESS-NAME
进程匹配,软路由上可匹配本机进程
- 增加
PROCESS-NAME-REGEX
,使用进程名称正则表达式匹配
- 增加
PROCESS-PATH-REGEX
,使用进程路径正则表达式匹配
- 增加
SUB-RULE
子规则
Tun模块:
- 支持
gVisor
和System
的混合堆栈,tcp使用system
栈,udp使用gvisor
栈,使用体验可能相对更好,同时稳定性也有保证。
- 支持流量转发隧道(Tunnel)
主要我们所使用到的,还是在DNS模块的部分,可以更为精准的控制DNS的解析,包括IPv6 DNS的解析。
OpenClash替换Mihomo内核方法
- 首先确认你使用的是OpenWRT及OpenClash,并对自己将进行的操作目标有所知悉。下述操作的系统为X86-64架构,OpenWRT版本为ImmortalWrt 23.05.4。如果担心出现不可恢复的问题,可以先备份虚拟机或OpenClash整体配置。本篇内容也适用于OpenClash内核更新失败的手动解决方案。
- 通过SSH登入OpenWRT,并进入OpenClash的核心所在文件夹:
- 备份原来的meta核心:
- 下载Mihomo核心,从https://github.com/MetaCubeX/mihomo/releases 选择版本和自己路由器架构的核心包,并复制链接地址,替换下面命令中的地址,X86-64用户选择
mihomo-linux-amd64-compatible-go120
后缀即可。
- OpenWRT网页端进入OpenClash,点击
插件设置 - 版本更新
,查看[Meta]当前内核版本是否为v1.18.7
,如图所示
- 如果显示为当前下载的内核版本号,即表示替换成功。重启OpenClash即可生效。不要再点击检查并更新了。
🤗 总结归纳
因为Notion AI到期,所以没有课代表总结。反正就是一个简单的Mihomo内核替换,也没什么难度。
Mihomo
v1.18.8
版本更新了,可以更新起来了。但是WireGuard的问题还是没有修复。OpenClash目前已完全支持Mihomo内核,可以直接使用自带的更新功能进行更新。
📎 参考文章
有关OpenWRT和Mihomo安装或者使用上的问题,欢迎您在底部评论区留言,一起交流~