Clash Verge 是图形程序,服务器上没有 X 或 Wayland 就跑不起来。但内核本身是个纯命令行程序,直接跑它就行——桌面版做的事情,它一个人也能做完。

四步装好

  1. 从 mihomo 的发布页下载对应架构的压缩包(uname -m 确认),解压后给执行权限,放到 /usr/local/bin/mihomo
  2. 建工作目录 /etc/mihomo,把配置放成 config.yaml。桌面上用的那份直接拷过来即可,客户端专属的字段内核会忽略。
  3. 写服务单元(见下)。
  4. systemctl daemon-reload && systemctl enable --now mihomo
[Unit]
Description=mihomo daemon
After=network-online.target
Wants=network-online.target

[Service]
Type=simple
ExecStart=/usr/local/bin/mihomo -d /etc/mihomo
Restart=on-failure
RestartSec=3

[Install]
WantedBy=multi-user.target

要用 TUN 就再加一行 AmbientCapabilities=CAP_NET_ADMIN,比整个服务跑 root 安全。

合作推荐 订阅链接从哪来? 本站合作机场注册即送 1GB 香港高速体验流量,可直接一键导入。 获取高速节点

没有界面,日志就是全部

通过 curl 调用本机 9097 端口的 mihomo 外部控制接口示例
没有界面时,外部控制 API 就是你的控制台

journalctl -u mihomo -f 实时跟日志。配置写错时内核会直接退出并打出具体是哪一行,比在图形界面里翻还清楚。启动失败先看这里,八成一眼就能定位。

想要更细的信息,把配置里的 log-level 临时改成 debug,排完再改回 info——debug 级别的日志量很大,长期开着会撑爆磁盘。

用起来和管起来

本机的命令行工具走代理,设置环境变量即可,写法见终端走代理

export https_proxy=http://127.0.0.1:7897
export http_proxy=http://127.0.0.1:7897

想用图形面板管理,别把 external-controller 绑到 0.0.0.0。保持绑定 127.0.0.1:9097,需要远程时用 SSH 端口转发把它带到本地:

ssh -L 9097:127.0.0.1:9097 user@your-server

然后在自己电脑上用面板连 127.0.0.1:9097。接口能做什么见外部控制 API 入门

external-controller: 0.0.0.0:9097 加一个弱 secret,等于把内核控制权挂到公网上。扫描器几小时内就会找到它。

订阅怎么自动更新

没有客户端帮忙定时拉取,用 cron 自己来:下载订阅覆盖 config.yaml,然后重启服务。重启会断开当前所有连接,所以挑没人用的时间跑,比如每天凌晨四点。

下载后先用 mihomo -t -d /etc/mihomo 测试配置能不能解析,通过了再覆盖并重启——否则一个坏订阅会让服务反复重启。想在桌面上先把配置调好再搬过来,参考 Linux 安装教程