白嫖机场-白嫖机场加速器官网

Mihomo 混合端口怎么设置?配置、客户端填写与端口冲突排查

更新于 2026-11-08 · xn--mesv7f5toqlp.shop

简答:Mihomo 混合端口就是 mixed-port,适合让支持 HTTP 或 SOCKS5 的应用共用一个代理端口。先在配置中写入 <code>mixed-port: 7890</code>,重启内核,再让本机应用填写 <code>127.0.0.1</code> 和 <code>7890</code>;如果端口被占用,再更换端口并重新验证。

定义:Mihomo mixed-port 是同时兼容 HTTP(S) 与 SOCKS5 请求的代理监听端口,配置后应用通常只需填写主机地址和端口号。

先试这一步:四步完成 Mihomo 混合端口设置

本文按 2026-11-08 检索到的 Mihomo 文档整理,适用于使用 Mihomo 内核的桌面、服务器或图形客户端。不同 GUI 的菜单名称可能不同,找不到完全相同的选项时,以当前版本的配置编辑、配置覆写或内核设置页面为准。

  1. 写配置:在当前生效的 YAML 配置顶层加入 mixed-port: 7890。端口可以改成其他未被占用的数字。
  2. 重启或重载:保存后重启内核,或者使用客户端提供的重载配置功能。仅修改文件但未让内核重新读取,通常不会立即改变监听端口。
  3. 填客户端:本机应用一般填写主机 127.0.0.1、端口 7890,代理类型选择 HTTP 或 SOCKS5;不要把完整订阅链接填进代理主机栏。
  4. 做验证:先检查端口是否处于监听状态,再用浏览器或 curl 发起一次请求。端口能连通但网页仍打不开,应继续检查模式、规则、DNS 和出站节点。

Mihomo 文档将 mixed-port 定义为同时支持 HTTP(S) 和 SOCKS5 的代理端口,示例写法为 mixed-port: 7892;端口数字不是固定值,本文使用 7890 只是便于演示。查看 Mihomo 端口配置文档。

mixed-port、port 和 socks-port 怎么选

配置项支持的请求类型适合场景客户端填写方式
portHTTP(S)只需要 HTTP 代理的应用主机地址 + 端口,类型选 HTTP
socks-portSOCKS4、SOCKS4A、SOCKS5明确要求 SOCKS 代理的应用主机地址 + 端口,类型选 SOCKS5
mixed-portHTTP(S) 与 SOCKS5多个应用协议不同,但希望共用一个端口根据应用支持情况选择 HTTP 或 SOCKS5
redir-port、tproxy-port透明代理流量特定系统路由、透明代理或 TUN 配合场景通常不是浏览器手动填写的普通代理端口

如果只是让浏览器、办公软件或终端通过同一个本地代理接入,优先考虑 mixed-port。透明代理端口与普通应用代理端口用途不同,不要因为端口数字不同就随意互换。Mihomo 文档也将顶层代理端口与 TUN、Listeners 分开说明。查看 Mihomo 入站配置说明。

config.yaml 怎么写:最小配置与地址区别

最小示例可以写成:

mixed-port: 7890
allow-lan: false

allow-lan: false适合只给本机使用的场景。此时本机应用通常填写:

  • 主机:127.0.0.1
  • 端口:7890
  • 协议:根据应用支持情况选择 HTTP 或 SOCKS5

127.0.0.1:7890表示访问运行 Mihomo 的本机监听端口;局域网 IP:7890表示其他设备尝试访问这台设备,需要额外允许局域网连接、选择监听地址并放行防火墙。socks5://127.0.0.1:7890是某些命令行工具接受的带协议写法,但许多图形客户端会把协议类型和主机、端口分开填写。

如果需要让同一局域网内的设备使用,可参考:

mixed-port: 7890
allow-lan: true
bind-address: 192.168.1.20
lan-allowed-ips:
- 192.168.1.0/24

其中 192.168.1.20必须替换为运行 Mihomo 设备当前的局域网地址,不能直接照抄。Mihomo 文档说明,bind-address可绑定单个 IPv4 地址或所有地址,allow-lan开启后还可通过允许和禁止网段限制访问。查看 Mihomo 全局配置文档。

不需要局域网访问时,不建议为了“更容易连上”直接使用 bind-address: "*" 或监听所有接口。Mihomo 文档提醒,监听所有网络接口可能使 HTTP、SOCKS 或 Mixed 入站被更多设备访问;若必须开放,应同时限制允许网段、检查系统防火墙,并按当前版本支持情况配置认证。

Windows、macOS、Linux 如何检查端口是否被占用

如果日志提示 bind failed、address already in use、端口启动失败,先不要反复改规则,先确认 7890 是否已被其他程序占用。

系统检查命令怎么看结果
Windowsnetstat -ano | findstr :7890看到 LISTENING 后记下 PID,再在任务管理器中按 PID 查进程。
macOSlsof -nP -iTCP:7890 -sTCP:LISTEN查看占用端口的进程名和 PID;确认不是仍在运行的旧内核或其他代理软件。
Linuxss -lntp | grep :7890查看监听地址、端口及关联进程;权限不足时可在命令前加 sudo。

Windows 的 netstat 可以显示监听端口和 PID,微软文档也建议用 -o 参数把连接或监听端口关联到进程。查看 Microsoft netstat 命令说明。

处理顺序建议是:先退出占用 7890 的旧实例;如果不能退出,就把 mixed-port 改为未占用端口,例如 7892,重启内核,并同步修改浏览器、系统代理或终端中的端口。不要只改 GUI 中的端口而忘记改配置文件,也不要只改配置文件却继续使用旧端口。

修改后如何判断真的生效

  1. 看内核日志:查找类似“Mixed”或“proxy listening”的监听日志,确认监听地址和端口与预期一致。若没有监听日志,先解决 YAML 格式、端口占用或配置未加载问题。
  2. 看运行配置:如果启用了外部控制器,可以读取当前运行配置,确认返回结果中的 mixed-port已经变更。Mihomo API 文档列出了运行配置中的 mixed-port 字段,并提供重新加载配置的接口说明。查看 Mihomo API 文档
  3. 测 HTTP 代理:curl -x http://127.0.0.1:7890 https://example.com -I
  4. 测 SOCKS5 代理:curl -x socks5h://127.0.0.1:7890 https://example.com -I

curl的 --proxy 或 -x 参数支持指定代理,协议前缀可用于区分 HTTP、SOCKS5 和 SOCKS5 主机名解析方式。查看 curl 官方参数说明。

如果两个命令都无法建立连接,优先回到端口监听、地址和防火墙层面;如果命令能建立连接但目标网页打不开,再检查当前模式、规则命中、DNS、节点出站和上游网络。混合端口只负责接收应用请求,不等于自动开启系统代理,也不保证每个应用都会自动走 Mihomo。

GUI 客户端中怎么改,以及订阅更新后为何失效

图形客户端的实际菜单会随客户端、系统和版本变化,不能把某个 GUI 的固定菜单路径套到所有程序。通用操作可以按以下顺序寻找:

  1. 打开当前正在使用的配置或配置文件编辑页。
  2. 搜索 mixed-port、port 或“代理端口”“混合端口”等字段。
  3. 修改端口后保存,并执行“应用配置”“重载”或重启内核。
  4. 回到客户端的系统代理设置,确认它引用的端口与配置中的 mixed-port相同。
  5. 重新查看日志或运行配置,不要只凭界面上的输入框判断。

如果每次订阅更新后端口又恢复,说明订阅生成的配置可能覆盖了本地修改。优先使用当前客户端提供的配置覆写、扩展配置或合并配置功能,把 mixed-port作为本地覆写项保存;如果客户端支持 API,也可在重新加载后读取运行配置确认结果。不要直接修改缓存目录中的临时文件,因为更新或切换配置后可能被替换。

如果你无法确认覆写项是否已经合并,先导出或备份当前配置,再更新订阅,比较更新前后的 mixed-port、allow-lan 和 bind-address,最后重启并重新测试。Mihomo 文档对运行配置和配置加载方式有独立说明,具体菜单名称仍应以当前客户端页面为准。查看 Mihomo 配置文档索引。

端口能连但不能上网:按层排查

现象先查什么如何判断下一步
内核启动失败端口占用、YAML 缩进、端口数字日志没有正常监听记录修正配置或更换端口后重启
本机应用提示连接拒绝主机地址、端口、内核是否运行本机端口没有 LISTENING改为当前生效端口并重载配置
局域网设备无法连接allow-lan、bind-address、防火墙本机可用,其他设备不可用限制允许网段后再放行防火墙
代理已连接但网页打不开规则、DNS、出站节点端口测试成功,但请求失败查看日志中的规则命中和连接错误
更新订阅后端口变化配置覆写或合并是否生效重载后运行配置恢复旧值重新保存本地覆写并验证运行配置

排查时尽量一次只改一个变量:先恢复本机监听,再验证 HTTP/SOCKS5 请求,最后处理局域网、DNS 或规则问题。这样可以避免把端口问题、节点问题和系统代理问题混在一起。

安全设置:只开放你确实需要的范围

如果只在本机使用,优先保持本机回环地址和关闭局域网访问。需要跨设备使用时,使用明确的局域网绑定地址和允许网段,不要把 Mixed 端口直接暴露到公网。Mihomo 入站文档明确提醒,未加密的 HTTP、SOCKS 和 Mixed 入站不应直接暴露在互联网环境中。查看入站暴露范围说明。

配置文件、订阅地址和控制器密钥可能包含获取配置或管理内核的权限。排查时只展示脱敏后的主机、端口和日志片段,不要把完整订阅链接、令牌或密钥提交给第三方。修改后如果不再需要局域网访问,应关闭 allow-lan,恢复为本机使用,并再次检查监听地址。

常见问题

Mihomo mixed-port 默认应该填写多少?

没有必须固定使用的端口。官方文档示例使用过 7892,实际可填写任意未被占用且符合当前系统和客户端要求的端口。关键是配置、系统代理和测试命令使用同一个端口。

127.0.0.1:7890 和局域网 IP:7890 有什么区别?

127.0.0.1 只表示运行 Mihomo 的本机;局域网 IP 用于其他设备访问。后者还需要 allow-lan、bind-address、允许网段和防火墙共同允许,不能只改客户端地址。

mixed-port 能不能同时当 HTTP 和 SOCKS5 端口用?

可以。Mihomo 文档将 mixed-port 定义为同时支持 HTTP(S) 与 SOCKS5 的代理端口,但具体应用仍要选择它支持的代理类型。

端口显示监听,但浏览器还是打不开怎么办?

先用 curl 分别测试 HTTP 和 SOCKS5,再查看 Mihomo 日志中的规则命中、DNS 解析和出站连接。如果端口请求已进入内核,问题通常已经从端口层转移到系统代理、规则、DNS 或节点出站层。

订阅更新后 mixed-port 又变回去了怎么办?

不要只修改临时缓存文件。使用当前客户端提供的配置覆写、扩展配置或合并配置功能保存本地端口设置,然后重载配置并检查运行配置中的 mixed-port 是否仍为目标值。

开启 allow-lan 后是否可以直接让公网设备连接?

不建议。allow-lan 主要用于局域网访问,公网暴露还涉及监听地址、路由、防火墙和认证风险。除非你明确知道网络边界和访问控制,否则应限制允许网段并避免直接暴露未加密的 Mixed 入站。

相关阅读

参考资料

  1. Mihomo 文档:Proxy Port
  2. Mihomo 文档:Inbound Configuration
  3. Mihomo 文档:General configuration
  4. Mihomo 文档:APIs
  5. Microsoft Learn:netstat
  6. curl 官方文档:命令行参数(curl.se)
  7. wiki.metacubex.one