linux服务器配置mihomo

一、前言

在 Linux 服务器上安装和配置 mihomo,可以有效解决以下问题:

  • 使用 npm 安装依赖时出现超时;
  • 拉取 Docker 镜像缓慢或失败;
  • 克隆 GitHub 项目速度极慢。

这些问题多由于网络限制导致,通过科学上网可大幅提升开发与部署效率。


二、准备工作

在搭建代理环境前,请确保具备以下资源:

  • 工具mihomo(基于 Clash 内核,支持多协议,配置灵活,兼容性强)
  • 节点资源:已购买的代理节点(如 Trojan、Vmess 等)
  • 服务器:一台可远程访问的 Linux 服务器(推荐 Ubuntu/Centos)
  • 图形界面 (可选):YacdClash Dashboard,用于直观管理配置、节点切换等操作

三、操作步骤

  1. 下载并上传工具包

前往 GitHub 下载以下压缩包:mihomo.tar.gzyacd.tar.gz,并在本地解压

bash 复制代码
# 上传到服务器,端口默认22,如果修改端口需要指定 -P 2121 
scp /Users/ljp/Downloads/yacd.tar.xz user@host:~/Downloads
bash 复制代码
# 从本机复制到docker中的linux容器
docker cp /Users/ljp/Downloads/mihomo-linux-amd64-compatible-go120-v1.19.11.gz my-centos:/usr/local/bin
docker cp /Users/ljp/Downloads/yacd.tar.xz my-centos:/usr/local/bin
# 解压并重命名
gunzip -c /usr/local/bin/mihomo-linux-amd64-compatible-go120-v1.19.11.gz > /usr/local/bin/mihomo
# 给mihomo添加权限
chmod +x mihomo
# 将mihomo移动
cp mihomo /usr/local/bin
# 配置config.yaml
mkdir /etc/mihomo -p
vi /etc/mihomo/config.yaml

#启动必须以如下方式启动,直接运行mihomo会取默认的配置,不会取etc/mihomo/config.yaml
/usr/local/bin/mihomo -d /etc/mihomo
  1. 配置 config.yaml
markdown 复制代码
*   编辑配置文件,填写代理节点信息(如使用 Trojan、Vmess 等)
*   示例结构见下文
yaml 复制代码
mixed-port: 7893
allow-lan: true
mode: global
log-level: info
external-ui: /root/.config/mihomo/ui # yacd解压的位置
external-controller: 0.0.0.0:9090

proxies: # 自己修改
  - name: 香港
    type: trojan
    server: aa.bb.com
    port: 465
    password: password
    alpn:
      - h2
      - http/1.1
    skip-cert-verify: true

proxy-groups:
  - name: Proxy
    type: select
    proxies:
      - 香港 # 跟proxies中设置的名字保持一致

rules:
  - MATCH,Proxy 
  1. 启动 mihomo ,命令行执行mihomo

    • 推荐使用systemd配置后台运行,自己查阅相关资料
  2. 访问管理界面

    • 在浏览器中打开:默认使用 Yacd 面板,手动选择代理节点为"代理模式",避免默认直连不生效的问题。

      arduino 复制代码
      http://<服务器IP>:9090/ui/

四、一键安装脚本(示例)

你可以将以下内容保存为 install_mihomo.sh 并执行:

bash 复制代码
bash
复制编辑
#!/bin/bash
set -e

echo "下载并解压 mihomo..."
wget -O mihomo.tar.gz https://github.com/MetaCubeX/mihomo/releases/latest/download/mihomo-linux-amd64.tar.gz
tar -xzf mihomo.tar.gz -C /usr/local/bin

echo "创建配置目录..."
mkdir -p /root/.config/mihomo
# 将你的 config.yaml 上传到此目录

echo "下载并配置 Yacd..."
mkdir -p /root/.config/mihomo/ui
wget https://github.com/haishanh/yacd/releases/latest/download/yacd.tar.gz
tar -xzf yacd.tar.gz -C /root/.config/mihomo/ui

echo "启动 mihomo..."
nohup mihomo -d /root/.config/mihomo > /dev/null 2>&1 &

echo "完成!请访问:http://<服务器IP>:9090/ui/ 进行管理。"

五、常见问题

  1. 代理未生效?

    • 默认规则可能走的是直连(DIRECT),请通过图形界面手动切换为"全局代理"或指定规则使用节点。
  2. 界面打不开?

    • 确保已开放服务器的 9090 端口(如使用宝塔,可在防火墙设置中添加)。
  3. 配置文件无效?

    • 检查 config.yaml 路径、格式及节点配置是否正确,必要时查看日志排查错误。

六、参考链接

相关推荐
十五年专注C++开发35 分钟前
通信中间件 Fast DDS(一) :编译、安装和测试
linux·c++·windows·中间件·cmake·vcpkg
唐青枫1 小时前
玩转 Systemd Unit 文件:进阶技巧与服务覆盖实战
linux
yuxb731 小时前
Ansible 实操笔记:Playbook 与变量管理
linux·运维·笔记
朱小弟cs611 小时前
Orange的运维学习日记--41.Ansible基础入门
linux·运维·学习·ci/cd·自动化·ansible·devops
CIb0la11 小时前
kali linux 2025.2安装WPS并设置无报错的详细步骤
linux·运维·wps
醉方休12 小时前
Node.js 精选:50 款文件处理与开发环境工具库
linux·运维·node.js
代码老y13 小时前
从裸机到云原生:Linux 操作系统实战进阶的“四维跃迁”
linux·运维·云原生
CMCST13 小时前
CentOS 7.9 升级 GLibc 2.34
linux·运维·centos
xiep143833351014 小时前
Rocky Linux 10 部署 Kafka 集群
linux·运维·kafka
笨鸟要努力17 小时前
Ubuntu 全盘备份
linux·运维·ubuntu