↓ 跳过正文

Linux 命令行部署 mihomo 无界面版入门

·1182 字·3 分钟
作者
吾便宜

服务器、软路由、极简桌面——这些没有图形界面的 Linux 场景,装不了 Clash Verge 这类 GUI 客户端。但别慌,mihomo(原 Clash Meta)本身就是个命令行程序,无界面部署才是它的主场。这篇带你从零跑起来。

Linux 命令行部署 mihomo

插图来源:Storyset

第一步:下载二进制
#

# 先看系统架构
uname -m
# x86_64 下载 amd64 版,aarch64 下载 arm64 版

去 mihomo 的 GitHub releases 页下载对应架构的压缩包,解压得到一个 mihomo 可执行文件:

chmod +x mihomo
sudo mv mihomo /usr/local/bin/
mihomo -v   # 能输出版本信息说明就绪

第二步:写一份最小可用配置
#

新建 ~/.config/mihomo/config.yaml,先从最小配置跑起来:

mixed-port: 7890
allow-lan: false
mode: rule
log-level: info
external-controller: 127.0.0.1:9090

proxies:
  # 这里填你的节点,机场一般提供 Clash 格式的订阅
  # 可以用订阅链接配合工具转换,或手动填一个节点先跑通

proxy-groups:
  - name: PROXY
    type: select
    proxies:
      - 节点名1

rules:
  - MATCH,PROXY

最小配置的逻辑很简单:所有流量走 PROXY 组。跑通之后再慢慢加分流规则。机场的订阅链接通常可以直接拿来用——很多订阅地址本身就是 Clash 格式的 YAML,下载下来改个文件名就能当配置用:

curl -o ~/.config/mihomo/config.yaml "你的订阅链接"

但注意:直接用订阅配置会覆盖你的自定义设置,进阶玩法是写自己的配置 + 用 proxy-providers 引用订阅。

第三步:手动运行验证
#

mihomo -d ~/.config/mihomo

看日志没有报错,然后另开一个终端测试:

export http_proxy=http://127.0.0.1:7890
curl -s ifconfig.me   # 返回节点 IP 说明通了

第四步:做成 systemd 服务开机自启
#

验证没问题后,让它开机自动跑。新建 /etc/systemd/system/mihomo.service:

[Unit]
Description=mihomo proxy service
After=network.target

[Service]
Type=simple
User=你的用户名
ExecStart=/usr/local/bin/mihomo -d /home/你的用户名/.config/mihomo
Restart=on-failure
RestartSec=5

[Install]
WantedBy=multi-user.target
sudo systemctl daemon-reload
sudo systemctl enable --now mihomo
systemctl status mihomo   # 看到 active (running) 就成了

配置文件常用字段速查
#

最小配置跑通后,这几个字段最常用:

  • mode: rule:规则模式,还有 global(全局)、direct(直连);
  • allow-lan: true:允许局域网设备连接,软路由场景必备(注意别暴露到公网);
  • proxy-providers:引用机场订阅,自动更新节点,比手动贴订阅链接优雅;
  • rule-providers:引用外部规则集,实现国内直连、广告拦截;
  • tun:开启 TUN 模式,接管不走系统代理的流量。

建议的学习路径:最小配置跑通 → 加 proxy-providers 自动更新订阅 → 加 rule-providers 玩分流 → 按需开 TUN。每一步都先手动跑验证,没问题再写进 systemd。

日常管理命令
#

systemctl restart mihomo   # 改完配置后重启生效
journalctl -u mihomo -f    # 实时看日志,排错用
systemctl stop mihomo      # 临时停掉

每次改配置前先备份一份 config.yaml,改崩了直接恢复,比对着报错排查快得多。

几个提醒
#

  • 别在公网暴露管理端口:external-controller 和 allow-lan 默认只听本地,除非你知道自己在做什么,否则不要改成 0.0.0.0;
  • 订阅更新:写个 cron 定时重新下载订阅配置然后 systemctl restart mihomo,全自动;
  • 想换回图形界面:Ubuntu 桌面用户直接看这篇 Ubuntu 上安装配置 Clash Verge,图形化省心很多。

mihomo 和原版 Clash 的区别可以看:Clash Meta 内核科普。自建还是买机场纠结的话:自建节点 vs 买机场:怎么选。