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 一栏,混合端口天然兼容。只有需要按协议分别统计流量、或给不同协议对接不同上游时,才有必要把 port 与 socks-port 拆开使用。
各客户端的混合端口开关位置
图形客户端通常把端口与局域网开关放在同一个设置分组,改动后即时生效或提示重载核心:
| 客户端 | 入口位置 | 说明 |
|---|---|---|
| Clash Verge Rev | 设置 → 端口设置 | 混合端口默认 7897,同页有「局域网连接」开关 |
| Clash for Windows | General → Port / Allow LAN | 已停止维护,混合端口默认 7890 |
| FlClash | 设置 → 网络 | 端口与「允许局域网连接」同组 |
| ClashX Meta | 菜单栏图标 → 偏好设置 | 端口在设置窗,Allow LAN 在菜单栏菜单中勾选 |
| Clash for Android | 设置 → 网络 | 支持改端口,手机端再共享给局域网较少用 |
直接维护配置文件的用户,在 mihomo 配置里写入 mixed-port 与 allow-lan: true 即可——GUI 里的开关本质也是在改这两个字段。改完端口后,记得同步更新所有下游设备里填写的旧端口号。
允许局域网连接:让手机用上电脑的代理
默认状态下 Clash 只监听本机回环地址 127.0.0.1,其他设备访问不到。打开「允许局域网连接」后,内核监听地址变为 0.0.0.0(配置等价于 allow-lan: true 且 bind-address: "*"),同一 Wi-Fi 下的手机、平板、另一台电脑都能把流量转发过来。
操作步骤
- 电脑端打开「允许局域网连接 / Allow LAN」开关,记下混合端口号。
- 查电脑的局域网 IP:Windows 在命令行执行
ipconfig看「IPv4 地址」;macOS 在系统设置 → Wi-Fi → 详细信息里查看,或在终端执行ipconfig getifaddr en0;Linux 执行hostname -I。结果一般是 192.168.x.x 或 10.x.x.x 段地址。 - 手机连接与电脑相同的 Wi-Fi。
- iOS:设置 → 无线局域网 → 点当前网络右侧的详情按钮 → 配置代理 → 手动,服务器填电脑 IP,端口填混合端口。
- 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 的连接条目。
连不上时按顺序排查
- 手机与电脑不在同一网段,或路由器开启了 AP 隔离 / 客户端隔离(访客网络默认开启),换到主网络或关闭隔离。
- 电脑防火墙未放行混合端口,按上一节处理。
- 电脑局域网 IP 已变化,重新查询并更新手机端配置。
- 手机填的是旧端口,与客户端当前端口不一致。
- 「允许局域网连接」开关改动后未生效,重启客户端或重载配置。
- 手机实际走了蜂窝网络,确认 Wi-Fi 已连接且代理配置写在当前 Wi-Fi 上。
排查收敛后,这套「电脑常驻 Clash + 手机走局域网代理」的结构可以长期运行:订阅更新、规则维护都只在电脑端做一次,其他设备零配置接入,适合作为家庭网络的固定拓扑。
DOWNLINK READY
下载 Clash 客户端
Windows、macOS、Linux、Android、iOS 各平台客户端与 mihomo 内核的下载入口已按平台归档,先到下载页装好电脑端,再按本文开启局域网共享。