Mihomo (Clash Meta) 7897 端口代理配置
适用场景:在新的 Linux 容器/服务器用户环境下,复刻本机现有的 7897 端口代理。
代理软件:mihomo(Clash Meta 的 Go 实现)
监听端口:7897(HTTP + SOCKS5 混合端口)
上层协议:Hysteria2 → easytake.work:443
一、整体架构概览
┌──────────┐ HTTP/SOCKS5 ┌──────────────────┐ Hysteria2 ┌─────────────────┐ HTTPS ┌──────────┐
│ 应用/ │ ────────────────► │ mihomo @ 7897 │ ──────────────► │ easytake.work │ ─────────► │ 目标网站 │
│ curl/ │ 127.0.0.1:7897 │ (mixed-port) │ :443 (QUIC) │ :443 │ │ │
│ git 等 │ └──────────────────┘ └─────────────────┘ └──────────┘
└──────────┘
数据流:本地应用 → mihomo 7897 端口(HTTP CONNECT 或 SOCKS5 协议)→ Hysteria2 加密(QUIC/UDP)→ easytake.work:443 → 目标网站
二、准备工作
2.1 系统要求
- Linux 系统(x86_64 / aarch64)
- root 或具有 sudo 权限的账号
- 已放行 7897 端口(防火墙或安全组)
- 能访问 GitHub release(用于下载 mihomo 二进制)
2.2 准备以下信息
| 项目 | 值 |
|---|---|
| 上游代理服务器地址 | easytake.work |
| 上游代理端口 | 443 |
| 上游代理协议 | Hysteria2 |
| 上游代理密码 | Se7RAuFZ8Lzg |
| SNI | easytake.work |
| ALPN | h3 |
| 本地监听端口 | 7897(mixed-port) |
三、Step-by-Step 配置步骤
Step 1:创建配置目录
mkdir -p /home/kipley/.config/mihomo
cd /home/kipley/.config/mihomo
Step 2:下载 mihomo 二进制
前往 mihomo 的 GitHub Release 页面下载最新稳定版:
https://github.com/MetaCubeX/mihomo/releases
# 以 amd64 为例(请根据实际架构替换)
cd /home/kipley/.config/mihomo
wget https://github.com/MetaCubeX/mihomo/releases/download/v1.19.0/mihomo-linux-amd64-v1.19.0.gz
gunzip mihomo-linux-amd64-v1.19.0.gz
mv mihomo-linux-amd64-v1.19.0 mihomo
chmod +x mihomo
# 验证
./mihomo -v
架构选择参考:
- x86_64 →
mihomo-linux-amd64-*- ARM64 →
mihomo-linux-arm64-*- ARMv7 →
mihomo-linux-armv7-*
Step 3:下载 GeoIP 数据库
cd /home/kipley/.config/mihomo
wget -O geoip.metadb https://github.com/MetaCubeX/meta-rules-dat/releases/download/latest/geoip.metadb
体积约 9.2MB。若下载困难,可启动 mihomo 后由其自动下载。
Step 4:写入主配置文件
将以下内容保存为 /home/kipley/.config/mihomo/config.yaml:
# ========== 基础配置 ==========
mixed-port: 7897 # HTTP + SOCKS5 混合端口
allow-lan: true # 是否允许局域网访问(true = 监听 0.0.0.0)
mode: rule # rule / global / direct
log-level: info
# ========== 上游代理节点 ==========
proxies:
- name: "Hysteria2-easytake"
type: hysteria2
server: easytake.work
port: 443
password: Se7RAuFZ8Lzg
alpn: [h3]
sni: easytake.work
skip-cert-verify: false
udp: true
# ========== 代理分组 ==========
proxy-groups:
- name: "Proxy"
type: select
proxies: ["Hysteria2-easytake", "DIRECT"]
# ========== 路由规则 ==========
rules:
# easytake.work 自身直连(避免回环)
- DOMAIN,easytake.work,DIRECT
# 中国大陆常见域名/IP 直连
- GEOIP,CN,DIRECT
- DOMAIN-SUFFIX,baidu.com,DIRECT
- DOMAIN-SUFFIX,bilibili.com,DIRECT
- DOMAIN-SUFFIX,qq.com,DIRECT
- DOMAIN-SUFFIX,weibo.com,DIRECT
- DOMAIN-SUFFIX,alipay.com,DIRECT
# 其余走代理
- MATCH,Proxy
Step 5:启动 mihomo
方式 A:手动前台启动(调试用)
cd /home/kipley/.config/mihomo
./mihomo -d .
方式 B:手动后台启动
cd /home/kipley/.config/mihomo
nohup ./mihomo -d . > mihomo.log 2>&1 &
方式 C:systemd 服务(推荐,开机自启)
创建 /etc/systemd/system/mihomo.service:
[Unit]
Description=Mihomo (Clash Meta) Daemon
After=network-online.target
Wants=network-online.target
[Service]
Type=simple
User=root
WorkingDirectory=/home/kipley/.config/mihomo
ExecStart=/home/kipley/.config/mihomo/mihomo -d /home/kipley/.config/mihomo
Restart=on-failure
RestartSec=5s
LimitNOFILE=1048576
[Install]
WantedBy=multi-user.target
启用服务:
systemctl daemon-reload
systemctl enable mihomo.service
systemctl start mihomo.service
systemctl status mihomo.service
四、验证代理
4.1 确认 7897 端口已监听
ss -tlnp | grep 7897
# 期望输出:LISTEN 0 128 *:7897 *:* users:(("mihomo",pid=...,fd=...))
4.2 HTTP 代理测试
# 通过 HTTP 代理访问外网
curl -x http://127.0.0.1:7897 https://api.ipify.org
# 期望返回:上游 Hysteria2 服务器的 IP(而非本机 IP)
4.3 SOCKS5 代理测试
curl -x socks5h://127.0.0.1:7897 https://api.ipify.org
# 期望返回:上游 Hysteria2 服务器的 IP
4.4 直连对比
# 不走代理
curl https://api.ipify.org
# 期望返回:本机出口 IP
4.5 检查规则路由
# 百度直连
curl -x http://127.0.0.1:7897 https://www.baidu.com -I
# Google 走代理
curl -x http://127.0.0.1:7897 https://www.google.com -I
五、配置应用使用代理
⚠️ 重要:mihomo 启动后不会自动设置 shell 的
http_proxy环境变量,需要在每个应用中单独配置。
5.1 命令行临时使用
export http_proxy="http://127.0.0.1:7897"
export https_proxy="http://127.0.0.1:7897"
export all_proxy="socks5://127.0.0.1:7897"
# 使用
curl https://www.google.com
# 取消
unset http_proxy https_proxy all_proxy
5.2 git 配置
git config --global http.proxy http://127.0.0.1:7897
git config --global https.proxy http://127.0.0.1:7897
# 取消
git config --global --unset http.proxy
git config --global --unset https.proxy
5.3 apt(Debian/Ubuntu)
创建 /etc/apt/apt.conf.d/99proxy:
Acquire::http::Proxy "http://127.0.0.1:7897";
Acquire::https::Proxy "http://127.0.0.1:7897";
5.4 Docker daemon(容器内拉镜像)
编辑 /etc/systemd/system/docker.service.d/http-proxy.conf:
[Service]
Environment="HTTP_PROXY=http://127.0.0.1:7897"
Environment="HTTPS_PROXY=http://127.0.0.1:7897"
Environment="NO_PROXY=localhost,127.0.0.1"
systemctl daemon-reload
systemctl restart docker
5.5 其它常见应用
| 应用 | 配置方式 |
|---|---|
| wget | wget -e use_proxy=yes -e http_proxy=127.0.0.1:7897 URL |
| yum/dnf | /etc/yum.conf 中加 proxy=http://127.0.0.1:7897 |
| npm | npm config set proxy http://127.0.0.1:7897 |
| pip | pip install --proxy=http://127.0.0.1:7897 pkg |
| ssh | ssh -o ProxyCommand='nc -X connect -x 127.0.0.1:7897 %h %p' user@host |
六、目录与文件清单
最终目录结构:
/home/kipley/.config/mihomo/
├── cache.db # 运行期生成,DNS 缓存
├── config.yaml # 主配置
├── geoip.metadb # GeoIP 数据库(9.2MB)
└── mihomo # mihomo 可执行文件
/etc/systemd/system/mihomo.service # systemd 服务文件(可选)
七、常见问题排查
| 现象 | 可能原因 | 解决方法 |
|---|---|---|
curl 返回 502/504 |
mihomo 未启动 | ss -tlnp | grep 7897 确认 |
| 走代理后访问不了 Google | Hysteria2 上游不通 | 测试 nc -vu easytake.work 443 |
| GeoIP 不生效 | geoip.metadb 缺失 |
重新下载或删除让 mihomo 自动拉取 |
| 局域网设备连不上 | allow-lan: false |
改为 true |
systemctl start 失败 |
二进制路径错误 | 检查 ExecStart= 绝对路径 |
| 启动后立即退出 | YAML 语法错误 | ./mihomo -d . -t 验证配置 |
八、安全建议
密码明文存储:
config.yaml中password: Se7RAuFZ8Lzg是明文,建议设置文件权限:chmod 600 /home/kipley/.config/mihomo/config.yaml暴露风险:
allow-lan: true会让 7897 监听 0.0.0.0,局域网/同网段都可使用。如不需要请改为false。升级维护:定期前往 https://github.com/MetaCubeX/mihomo/releases 检查更新。
九、参考链接
- mihomo GitHub:https://github.com/MetaCubeX/mihomo
- mihomo 文档:https://wiki.metacubex.one/
- Hysteria2 协议:https://v2.hysteria.network/
- 配置文件参考:https://github.com/MetaCubeX/ExampleConfig
最后更新:2026-06-14
对应环境:kipley 用户主目录 /home/kipley/.config/mihomo/
转载请注明来源,欢迎对文章中的引用来源进行考证,欢迎指出任何有错误或不够清晰的表达。可以在下面评论区评论,也可以邮件至 kipleyarch@gmail.com