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 路径、格式及节点配置是否正确,必要时查看日志排查错误。

六、参考链接

相关推荐
袁泽斌的学习记录8 小时前
ubuntu22.04安装cuda11.4版本
linux·运维·服务器
用户31187945592188 小时前
CentOS 7 安装 net-tools.rpm 包步骤详解(附 rpm 命令和 yum 方法)附安装包
linux
我叫黑大帅8 小时前
什么是 mmap?
linux·c++·操作系统
chuxinweihui8 小时前
Socket编程UDP
linux·网络·网络协议·udp·通信
Ronin3058 小时前
【Linux网络】Socket编程:UDP网络编程实现Echo Server
linux·网络·udp·网络通信·socket编程
霖.249 小时前
service的两种代理实现
linux·服务器·容器·kubernetes
Lin_Aries_04219 小时前
基于 GitLab 的自动化镜像构建
linux·运维·docker·容器·自动化·gitlab
hkhkhkhkh1239 小时前
Git push 失败(remote unpack failed: Missing tree)解决方案
linux·git
Eloudy9 小时前
制作 Bash Shell 方式的软件发布安装包的原理和方法
linux·bash
霖.249 小时前
K8s实践中的重点知识
linux·云原生·kubernetes