对于开发者与云计算工程师而言,在没有图形界面的 Linux 服务器或 WSL2 开发子系统中,下载 GitHub 依赖仓库、拉取 Docker 镜像或安装境外 Python/npm 库往往面临极度缓慢的超时问题。本文将介绍在 Linux 终端中利用 Mihomo (Clash.Meta) / sing-box 二进制核心结合 systemd 进行服务化常驻运行的规范实践。
官方开源二进制来源:
Mihomo 核心官方仓库位于 GitHub(搜索 MetaCubeX/mihomo Releases);sing-box 官方二进制位于 SagerNet/sing-box Releases。根据 Linux 机器的 CPU 架构选择 linux-amd64 或 linux-arm64。
一、 获取二进制核心与配置文件
- 从官方 Releases 页面下载适合机器架构的
tar.gz归档文件,解压后将可执行文件移动至标准系统路径:sudo mv mihomo /usr/local/bin/mihomo sudo chmod +x /usr/local/bin/mihomo
- 创建配置存储目录:
sudo mkdir -p /etc/mihomo
- 使用
curl从耶耶云后台获取的 Clash 格式订阅 URL 下载配置文件并保存为/etc/mihomo/config.yaml:sudo curl -L -o /etc/mihomo/config.yaml "您的耶耶云订阅链接"
二、 配置 systemd 守护进程实现开机自启
为确保核心程序在服务器重启或后台持续稳定运行,编写一个标准的 systemd 服务定义文件:
# 创建并编辑 /etc/systemd/system/mihomo.service sudo tee /etc/systemd/system/mihomo.service << 'EOF' [Unit] Description=Mihomo Daemon, A rule-based proxy in Go. After=network.target [Service] Type=simple User=root ExecStart=/usr/local/bin/mihomo -d /etc/mihomo Restart=on-failure LimitNOFILE=65536 [Install] WantedBy=multi-user.target EOF
启动服务并将其加入系统开机自启:
sudo systemctl daemon-reload sudo systemctl enable --now mihomo sudo systemctl status mihomo
三、 终端环境变量快速配置与一键开关
服务默认会在本地监听 7890 端口(或配置文件中指定的 mixed-port)。为了在日常终端中按需启用代理,建议在 ~/.bashrc 或 ~/.zshrc 中加入快捷别名函数:
# 在 ~/.bashrc 末尾添加 alias setproxy="export http_proxy=http://127.0.0.1:7890 https_proxy=http://127.0.0.1:7890 all_proxy=socks5://127.0.0.1:7890 && echo '终端代理已成功开启'" alias unsetproxy="unset http_proxy https_proxy all_proxy && echo '终端代理已成功关闭'"
生效配置文件:source ~/.bashrc。输入 setproxy 即可开启终端加速,输入 unsetproxy 即可恢复直连。
四、 验证与 Git / 包管理器加速测试
通过向海外服务器发送请求来检验代理效果:
curl -I https://www.google.com
若返回 HTTP/2 200 或 HTTP/1.1 200 OK,说明终端代理已正常接管。此时无论是执行 git clone 还是运行 pip install 均能享有数十倍的下载速度提升。
五、 常见问题 FAQ
Linux 没有桌面浏览器,如何切换节点?
Mihomo 和 sing-box 均支持通过外部控制端口(External Controller)管理节点。您可以在本地通过浏览器访问 WebUI 控制面板(如 yacd 或 metacubexd),将连接地址指向服务器的 9090 端口即可进行图形化切换。
sudo 命令执行 apt 或 yum 时代理为何不生效?
sudo 默认会出于安全考虑重置当前用户的环境变量。若需让包管理器走代理,需在 /etc/sudoers 中添加 Defaults env_keep += "http_proxy https_proxy",或在 apt 配置文件 /etc/apt/apt.conf.d/proxy.conf 中显式声明。