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

六、参考链接

相关推荐
森G18 小时前
2一、u-boot下载编译
linux·arm开发
Ching·18 小时前
linux系统编程(十③)RK3568 socket之 TCP 服务器的实现【更新客户端断开重连依旧可以收发】
linux·服务器·tcp/ip·rk3568
报错小能手19 小时前
linux学习笔记(35)C语言连接mysql
linux·笔记·学习
心一信息19 小时前
grafana及zabbix在linux上的部署
linux·zabbix·grafana
deng-c-f19 小时前
Linux C/C++ 学习日记(27):KCP协议(三):源码分析与使用示例
linux·服务器·网络·c++·网络编程·kcp
wangjialelele20 小时前
端口号、常见协议和套接字
linux·运维·服务器·c语言·网络
蜜蜜不吃糖20 小时前
ESXI主机重置带外密码
linux·运维·服务器
ZhiqianXia20 小时前
Linux SysRq
linux
Zach_yuan20 小时前
版本控制器Git
linux·git
Dobby_0521 小时前
【Go】C++ 转 Go 第(一)天:环境搭建 Windows + VSCode 远程连接 Linux
linux·运维·c++·vscode·golang