linux服务器配置mihomo

一、前言

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

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

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


二、准备工作

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

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

三、操作步骤

  1. 下载并上传工具包

前往 GitHub 下载以下压缩包:mihomo.tar.gz、 yacd.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 路径、格式及节点配置是否正确,必要时查看日志排查错误。

六、参考链接

相关推荐
Ivanqhz17 小时前
激活函数在 Transformer 中的作用及各种变体简述
java·linux·数据库·人工智能·深度学习
殷色玫瑰20 小时前
C/C++ 内存管理详解:从内存分布到 new/delete 底层原理
java·linux·c语言·c++
꯭自꯭闭꯭21 小时前
DM7主备升级方案
linux·服务器·数据库
用户41071920132521 小时前
VMware 虚拟机Ubuntu 环境linux远程连接失败
linux
lisanmengmeng21 小时前
Nagios邮件报警的配置
linux·运维·服务器
Ruiery21 小时前
Linux 6.6内核 CPU 深度解析(六):cpufreq
linux·运维·服务器
倔强的石头1061 天前
【Linux指南】动静态库系列(十一):PLT 与延迟绑定:第一次调用动态库函数时发生了什么
linux·人工智能·python
硅基手札1 天前
【linux内核专栏 08】时间与定时器
linux·运维·服务器
想做小南娘,发现自己是女生喵1 天前
Linux之Ubuntu入门篇知识总结
linux·运维·服务器
CHEEVEN_QY1 天前
搅拌摩擦焊FSW工艺参数对焊缝成形影响的实验研究10.1
linux·服务器·数据库