多端 使用 mihomo 裸核教程

09-08更新

配置nssm注册服务时, Arguments 增加 -d 参数可以指定内核下载文件(规则,数据库,ui)保存路径。


前言:

之前分享了一个clash-verge-rev 全局扩展脚本,该方式虽然解决了机场订阅或单节点规则不足的问题,但是奈何clash-verge-rev的小bug太多了,每次修改脚本或修改配置都要切换一下订阅才能生效,而且每次切换订阅都要等待个几秒,遂想换个客户端。

在试用了mihomo party之后才知道这位更是重量级,mihomo party使用electron架构,打开后内存占用400Mb+,关掉窗口后台运行仍然占那么多。虽然有轻量模式,但是当前版本有bug,进入轻量模式后软件关闭,只保留mihomo进程,但是再次打开mihomo party会报错,虽然看issue说测试版已经修复该问题,但是不想再等版本更新了,所以决定尝试直接跑裸核。

初次配置裸核虽然过程有点繁琐,但是配好后使用起来非常丝滑。

Windows 端 Mihono裸核启动教程

  1. 下载内核文件
    官网下载内核文件,普通windows电脑选择mihomo-windows-amd64-v3-vx.x.x.zip即可。

  2. 准备配置文件
    我使用的油管博主七尺宇提供的配置文件,该博主介绍mihomo配置文件的视频讲述的非常详细,有需要的可以去看看视频。
    配置文件分普通版本防DNS泄露版本,按需选择即可,下到文件后对文件进行简单修改。

proxy-providers:
  Airport1:
    url: "https://xxxxxxxxxxxxxxxxxxxx"

external-controller: 127.0.0.1:9090      # 改为本机访问
secret: "481Y2Gd9A1FCSMbnmG"             # 添加面板密码
external-ui: "./ui"                      # 修改面板保存位置
external-ui-name: zashboard
external-ui-url: "https://github.com/Zephyruso/zashboard/archive/refs/heads/gh-pages.zip"
# ......
tun:
  enable: false # 修改为false,由面板来切换是否开启tun             
  1. 将上述文件放到同一目录下,通过cmd在该目录执行 mihomo.exe -f config.yml 即可启动内核。面板的访问路径为http://127.0.0.1:9090/ui/zashboard/
  2. 开机自启
    通过nssm工具,将mihomo注册为服务。下载并解压,进入x64位目录下,命令行执行nssm.exe install mihomo
    配置执行目录和命令

    配置服务描述

    配置内容启动日志

最后可通过有管理员权限的命令行执行重启,修改等操作

nssm.exe edit mihomo
nssm.exe start mihomo
nssm.exe stop mihomo
nssm.exe restart mihomo

也可让AI写一些bat脚本来控制,因为我的桌面不放任何图片和文件,就没让AI写,就不提供bat脚本了。

Linux 端 Mihono裸核启动教程
linux端部署就很简单了, 下面以debian系统为例.

  1. 下载内核文件
    官网下载内核文件,普通linux系统选择mihomo-linux-amd64-v3-vx.x.x.gz即可。
  2. 配置文件同windows
  3. 把内核文件和配置文件放到心仪的位置如/usr/local/bin/etc/mihomo, 执行chmod +x mihomo赋予内核文件执行权限
  4. 创建 systemctl 服务
    /etc/systemd/system目录创建 mihomo.service文件,并写入内容, 注意替换mihomo 和 config 位置
[Unit]
Description=Mihomo Proxy Service
After=network.target

[Service]
Type=simple
ExecStart=/usr/local/bin/mihomo -f /etc/mihomo/config.yaml
Restart=on-failure

[Install]
WantedBy=multi-user.target

然后就可以用命令启动了

#让 systemd 重新加载配置
systemctl daemon-reload  
# 启动服务
systemctl enable mihomo
# 启动
systemctl start mihomo
# 停止
systemctl stop mihomo
#重启
systemctl restart mihomo
#查看状态
systemctl status mihomo
153 个赞

佬太强了,谢谢分享

1 个赞

不需要下载wintun,内核本身内置有。

3 个赞

内核自带了吗?那我怎么看gui软件还带单独的wintun.dll

2 个赞

删掉wintun.dll启动tun模式会报错

1 个赞

感谢分享 mark一下

1 个赞

你可以直接写个bat,右键用管理员权限运行,或者配置服务时申请权限。

2 个赞

确实自带,我改下教程

4 个赞

这个如果我有很多订阅想换个订阅用是不是很不方便?

3 个赞

我也手搓过 :bili_057: 分享我的 clash 极极极简配置

1 个赞

试试 sparkle 或者 flclash,都行吧,

2 个赞

不会,proxy-providers里可以配置多个订阅地址,Airport1 这个名字随便改

proxy-providers:
  dingyue1:
  dingyue2:
  dingyue3:

2 个赞

一直在换gui客户端,用裸核一劳永逸了

4 个赞

哈哈哈哈

2 个赞

最近我Windows上flclash老闪退,不知道有没有人遇到过,感觉可以考虑用裸核了

1 个赞

搜索的时候看到这个我都麻了

3 个赞

我在 win 上用的是裸核 singbox,yysy 裸核更新起来是真的麻烦,尤其是机场订阅,如果不是为了这口醋,我肯定用客户端。

还有就是我之前也是用 nssm,感觉他好像有点问题,有时候看服务的状态是 paused 还是啥,反正不是 start 和 stop,碰到过好多次。

最后换成 winsw 了,感觉好用很多

3 个赞

最早的clash其实就是electron

1 个赞

其实是不是可以用软件获取订阅,然后再拷贝出来

2 个赞

谢谢分享

1 个赞