容器用户服务器链接代理配置

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 验证配置

八、安全建议

  1. 密码明文存储config.yamlpassword: Se7RAuFZ8Lzg 是明文,建议设置文件权限:

    chmod 600 /home/kipley/.config/mihomo/config.yaml
    
  2. 暴露风险allow-lan: true 会让 7897 监听 0.0.0.0,局域网/同网段都可使用。如不需要请改为 false

  3. 升级维护:定期前往 https://github.com/MetaCubeX/mihomo/releases 检查更新。


九、参考链接


最后更新:2026-06-14
对应环境:kipley 用户主目录 /home/kipley/.config/mihomo/


转载请注明来源,欢迎对文章中的引用来源进行考证,欢迎指出任何有错误或不够清晰的表达。可以在下面评论区评论,也可以邮件至 kipleyarch@gmail.com