Clash 混合端口与局域网共享代理设置:手机电脑共用一个代理

混合端口让 HTTP 与 SOCKS 请求共用一个端口,配合允许局域网连接即可让手机、平板共用电脑上的 Clash 代理,本文给出各客户端开关位置与验证方法。

混合端口是什么:一个端口同时讲两种协议

Clash 内核(mihomo,即 Clash Meta)对外提供三类入站代理端口:HTTP 代理端口(配置项 port)、SOCKS5 端口(socks-port)与混合端口(mixed-port)。前两者各自只讲一种协议;混合端口则在同一个 TCP 端口上先嗅探请求头——收到 HTTP CONNECT 或普通 HTTP 转发请求就按 HTTP 代理处理,收到 SOCKS5 握手就按 SOCKS5 处理。下游设备不需要判断自己用的是哪种协议,填同一个端口即可。

目前主流图形客户端默认只开混合端口:Clash for Windows 历史默认 7890,Clash Verge Rev 默认 7897,FlClash 默认 7890,具体数值以各客户端端口设置页显示为准。配置文件层面的等价写法如下,mixed-port 与独立端口可以共存:

# 只保留混合端口,HTTP 与 SOCKS5 请求都走 7890
mixed-port: 7890

# 需要独立端口时再拆开,三者可共存
# port: 7890
# socks-port: 7891

allow-lan: true
bind-address: "*"

绝大多数场景只开 mixed-port 就足够:只认 HTTP 代理的老软件填混合端口照样工作,手机系统里的代理设置也只有 HTTP 一栏,混合端口天然兼容。只有需要按协议分别统计流量、或给不同协议对接不同上游时,才有必要把 portsocks-port 拆开使用。

各客户端的混合端口开关位置

图形客户端通常把端口与局域网开关放在同一个设置分组,改动后即时生效或提示重载核心:

客户端入口位置说明
Clash Verge Rev设置 → 端口设置混合端口默认 7897,同页有「局域网连接」开关
Clash for WindowsGeneral → Port / Allow LAN已停止维护,混合端口默认 7890
FlClash设置 → 网络端口与「允许局域网连接」同组
ClashX Meta菜单栏图标 → 偏好设置端口在设置窗,Allow LAN 在菜单栏菜单中勾选
Clash for Android设置 → 网络支持改端口,手机端再共享给局域网较少用

直接维护配置文件的用户,在 mihomo 配置里写入 mixed-portallow-lan: true 即可——GUI 里的开关本质也是在改这两个字段。改完端口后,记得同步更新所有下游设备里填写的旧端口号。

允许局域网连接:让手机用上电脑的代理

默认状态下 Clash 只监听本机回环地址 127.0.0.1,其他设备访问不到。打开「允许局域网连接」后,内核监听地址变为 0.0.0.0(配置等价于 allow-lan: truebind-address: "*"),同一 Wi-Fi 下的手机、平板、另一台电脑都能把流量转发过来。

操作步骤

  1. 电脑端打开「允许局域网连接 / Allow LAN」开关,记下混合端口号。
  2. 查电脑的局域网 IP:Windows 在命令行执行 ipconfig 看「IPv4 地址」;macOS 在系统设置 → Wi-Fi → 详细信息里查看,或在终端执行 ipconfig getifaddr en0;Linux 执行 hostname -I。结果一般是 192.168.x.x 或 10.x.x.x 段地址。
  3. 手机连接与电脑相同的 Wi-Fi。
  4. iOS:设置 → 无线局域网 → 点当前网络右侧的详情按钮 → 配置代理 → 手动,服务器填电脑 IP,端口填混合端口。
  5. Android:设置 → WLAN → 编辑当前网络 → 高级选项 → 代理选「手动」,主机名填电脑 IP,端口同上。

系统代理的覆盖范围

手机上的手动代理是 HTTP 代理,只对遵循系统代理设置的 App 生效。部分游戏与流媒体 App 无视系统代理,需要在 App 内单独配置,或改用电脑开热点配合 TUN 模式之类的方案。

电脑休眠或合盖睡眠会中断共享,长期当「代理网关」使用的电脑建议关闭自动休眠。手机端不用代理时,把 Wi-Fi 代理改回「关闭 / 无」即可,不影响电脑本身的代理运行。

防火墙放行与安全边界

Windows 首次开启局域网连接时,防火墙一般会弹出「允许应用通信」对话框,需要勾选「专用网络」并允许;错过弹窗的话,在「允许应用通过 Windows 防火墙」列表里手动放行客户端,或为混合端口单独建一条入站规则。macOS 若开启了系统防火墙,在「系统设置 → 网络 → 防火墙」中允许客户端接受传入连接。

只在可信网络开启

allow-lan 会把代理端口暴露给同网段所有设备:同一网络里的任何人都能借你的出口上网。家庭网络可以放心开;咖啡厅、酒店等公共 Wi-Fi 下务必关闭,或把 bind-address 收紧到具体内网网卡地址(例如 bind-address: 192.168.1.10)。mihomo 也支持 authentication: ["user:pass"] 为端口加用户名密码认证,iOS 的手动代理页面可直接填写认证信息。

另外建议在路由器里给电脑做 DHCP 静态绑定(地址预留):否则电脑重启或租约到期后 IP 变化,手机端填的旧地址会静默失效,排查起来浪费时间。

验证与故障排查

在电脑本机或同网段任意设备上,用 curl 分别验证两种协议(把 IP 与端口换成实际值):

# HTTP 方式
curl -x http://192.168.1.10:7890 https://api.ipify.org

# SOCKS5 方式,同一个混合端口
curl --socks5-hostname 192.168.1.10:7890 https://api.ipify.org

两条命令都返回代理出口 IP,说明混合端口对两种协议都工作正常。手机端验证更简单:浏览器打开任意 IP 查询站点,看出口是否变成代理节点;也可以打开客户端的连接面板,应能看到来源地址为手机局域网 IP 的连接条目。

连不上时按顺序排查

  1. 手机与电脑不在同一网段,或路由器开启了 AP 隔离 / 客户端隔离(访客网络默认开启),换到主网络或关闭隔离。
  2. 电脑防火墙未放行混合端口,按上一节处理。
  3. 电脑局域网 IP 已变化,重新查询并更新手机端配置。
  4. 手机填的是旧端口,与客户端当前端口不一致。
  5. 「允许局域网连接」开关改动后未生效,重启客户端或重载配置。
  6. 手机实际走了蜂窝网络,确认 Wi-Fi 已连接且代理配置写在当前 Wi-Fi 上。

排查收敛后,这套「电脑常驻 Clash + 手机走局域网代理」的结构可以长期运行:订阅更新、规则维护都只在电脑端做一次,其他设备零配置接入,适合作为家庭网络的固定拓扑。

DOWNLINK READY

下载 Clash 客户端

Windows、macOS、Linux、Android、iOS 各平台客户端与 mihomo 内核的下载入口已按平台归档,先到下载页装好电脑端,再按本文开启局域网共享。

Clash最新版下载