pipnpm blog

虎皮猫咖

使用mihomo内核配置服务器代理

9
2026-05-28

mihomo(原 Clash.Meta)是一个基于 Go 语言开发的跨平台代理内核,是 Clash 开源项目的一个分支/增强版本。它继承了 Clash 的核心能力,同时引入了大量优化和新特性,是目前最活跃、功能最完善的代理内核之一。

我们日常使用的 ClashMacClash Verge 面板,其内核实际就是mihomo。两者的关系类似于web软件前端界面与后端服务的架构关系

角色对应组件以 Web 应用为例
后端mihomo 内核Web 服务器(如 Nginx)——负责处理请求、路由、核心逻辑。
前端Clash Verge / ClashX Meta / Flora 等 GUI 软件浏览器或移动端 App——负责展示界面、接收用户操作、通过 API 与后端交互。

image.png
Clash Verge 面板示意

image.png
ClashMAC 面板示意图

在win或者macbook上,我们有上述两个优秀GUI软件作为科学上网软件,但是在linux服务器上,只有空空的黑窗口,如何配置科学上网环境呢?

本文将介绍一种方法:配置mihomo内核,其接管系统网络,实现clash verge上类似的体验。

总览

mihomo 内核的github官方地址:https://github.com/MetaCubeX/mihomo

image.png

点进来别被作者的Readme介绍文档虚晃一枪哈,由于懂得都懂的原因,作者没有直接写出项目的作用,我们直接点击Releases链接

image.png

在Releases 页面可以看到琳琅满版的发行版本,==针对Linux服务器,一般而言,intel CPU下载后缀为 amd64 版本,arm架构CPU下载 arm64 版本== 。

debain 系类系统下载deb后缀,其他系统请自行搜索

image.png

安装

命令行安装

如果下述命令行从github下载超时,推荐自己手动从github页面下载,通过scmp / ssh 服务上传到服务器上。嗯,这是一个鸡生蛋,蛋生鸡问题~

依次执行下述指令:


# 创建工作目录
sudo mkdir -p /etc/mihomo
sudo mkdir -p /var/log/mihomo

# 下载(此处以 amd64 v1.18.9 为例,请自行替换为最新版本)
wget https://github.com/MetaCubeX/mihomo/releases/download/v1.19.25/mihomo-linux-amd64-v1.19.25.gz

# 解压并移动到系统 path
gzip -d mihomo-linux-amd64-v1.19.25.gz

sudo mv mihomo-linux-amd64-v1.19.25 /usr/local/bin/mihomo

sudo chmod +x /usr/local/bin/mihomo

验证安装

mihomo -v

image.png

创建配置文件

Mihomo 默认的配置目录通常为 /etc/mihomo。你需要将你的订阅文件或配置文件命名为 config.yaml 放入该目录。

此处 config.yaml 推荐你复制本地win或者mac的clash verge 或 clash for window 的配置文件,直接复制到远程服务器上,避免又遇到上面“鸡生蛋,蛋生鸡”问题~

image.png

将下面这个本地配置文件复制到服务器 /etc/mihomo/,并重命名为config.yaml
image.png

# 创建配置文件
sudo vim /etc/mihomo/config.yaml

# vim 模式,输入i进入编辑模式,将本地配置粘贴进此文件

# 按 ESC 退出编辑模式,输入 :wq 保存退出

后台运行 (systemd 服务)

为了让 Mihomo 在后台稳定运行并开机自启,我们需要为其编写一个 Systemd 服务。

创建服务文件

sudo vim /etc/systemd/system/mihomo.service

写入以下内容

[Unit]
Description=Mihomo Daemon, A rule-based tunnel in Go.
After=network.target network-online.target nss-lookup.target

[Service]
Type=simple
User=root
ExecStart=/usr/local/bin/mihomo -d /etc/mihomo
Restart=always
RestartSec=5

[Install]
WantedBy=multi-user.target

启动并启用服务

# 重新加载 systemd 配置
sudo systemctl daemon-reload

# 启动 mihomo
sudo systemctl start mihomo

# 设置开机自启
sudo systemctl enable mihomo

# 检查运行状态
sudo systemctl status mihomo

image.png

目前我们已经配置完成了mihomo 服务,并且其在后台常驻。mihomo 默认监听 7890 端口(依据配置文件而定,不是固定端口),例如我的配置文件如下,其mixed-port 端口为7893

port: 7890
socks-port: 7891
redir-port: 7892
mixed-port: 7893
allow-lan: false
unified-delay: true
mode: rule
log-level: info
ipv6: false

接下来是设置系统的http 和 https 服务 走 7893端口代理,并且可以灵活切换代理的开关.

在终端中执行以下命令

vim ~/.bashrc

# 在末尾追加如下脚本

function proxy_on(){
    export all_proxy=socks5://127.0.0.1:7893
    export http_proxy=http://127.0.0.1:7893
    export https_proxy=http://127.0.0.1:7893
    echo -e "已开启代理"
}

function proxy_off(){
    unset all_proxy
    unset http_proxy
    unset https_proxy
    echo -e "已关闭代理"
}

重新加载bash的配置文件

source ~/.bashrc

追加的脚本的含义是:在终端输入 proxy_on 开启代理,输入 proxy_off 关闭代理。

下面我们测试一波

# 开启代理
proxy_on

# 测试谷歌连接性
curl -I https://www.google.com

image.png

更新订阅:如果你需要更新节点,可以直接用 wgetcurl 下载新的 yaml 文件覆盖 /etc/mihomo/config.yaml,然后执行 sudo systemctl restart mihomo

现在服务器可以正常下载github、docker、huggingface等服务了。

欢迎来到开源的世界,向各位开源作者致敬🫡!