Clash Verge 是图形程序,服务器上没有 X 或 Wayland 就跑不起来。但内核本身是个纯命令行程序,直接跑它就行——桌面版做的事情,它一个人也能做完。
四步装好
- 从 mihomo 的发布页下载对应架构的压缩包(
uname -m确认),解压后给执行权限,放到/usr/local/bin/mihomo。 - 建工作目录
/etc/mihomo,把配置放成config.yaml。桌面上用的那份直接拷过来即可,客户端专属的字段内核会忽略。 - 写服务单元(见下)。
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 安全。
没有界面,日志就是全部
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 安装教程。