混合端口 7890 与允许局域网连接:让手机和电视共用电脑代理
讲清 mixed-port 与 HTTP/SOCKS 端口的区别,开启局域网连接后如何在手机、电视与游戏机上填写代理地址,以及防火墙放行要点。
手机和电视共用电脑代理,需要同时满足三项条件:电脑的代理端口接受局域网连接,防火墙允许目标设备访问,目标设备填写电脑的局域网地址。只开启电脑上的“系统代理”,不会自动改变同一 Wi-Fi 下其他设备的网络路径。
本文用电脑地址 192.168.1.20、混合端口 7890 演示。地址是配置示例,不是实测结果;实际操作时应使用电脑当前的局域网 IPv4 地址。客户端使用 mihomo 内核时,可以按下列配置项核对;ClashX 等客户端的菜单名称和可用功能取决于具体版本。
一、mixed-port 7890 接收什么连接
mixed-port 是 HTTP 与 SOCKS 代理共用的监听端口。客户端根据连接内容识别代理协议,因此手机系统里选择 HTTP 代理、命令行里选择 SOCKS5,都可以连接同一个 7890 端口。端口号本身不决定协议,也不决定流量最终使用哪个节点。
| 配置项 | 接收协议 | 使用场景 |
|---|---|---|
mixed-port: 7890 | HTTP 与 SOCKS | 多个设备共用一个代理端口 |
port: 7890 | HTTP 代理 | 系统 Wi-Fi 代理、HTTP CONNECT |
socks-port: 7891 | SOCKS 代理 | 支持 SOCKS5 的应用 |
external-controller | 控制接口 | 面板管理,不是设备上网端口 |
上表列出不同配置方式,不是要求把这些端口全部开启。避免让 port 与 mixed-port 同时争用同一个监听地址的 7890。使用混合端口时,通常不需要再为 HTTP 单独配置一个端口。
二、确认电脑地址、监听地址与允许局域网连接
先找出实际使用的网卡
- Windows 打开终端运行
ipconfig,查看当前 Wi-Fi 或以太网适配器的 IPv4 地址和子网掩码。不要抄虚拟网卡、TUN 网卡或已断开网卡的地址。 - macOS 打开「系统设置」→「网络」→ 当前连接 →「详细信息」→「TCP/IP」,查看 IP 地址。
- 确认手机与电脑处于可互访的局域网。电脑接网线、手机连 Wi-Fi 也可以,但路由器不能把两者隔离在不同的访客网络中。
- 需要长期共享时,在路由器的 DHCP 地址保留中固定电脑地址。否则电脑重新连接后,手机保存的代理服务器地址可能失效。
把配置作用到正在运行的内核
在客户端设置中找到“允许局域网连接”或“Allow LAN”,并核对混合端口。不同客户端的设置入口不统一,最终应以运行中的配置和端口监听结果为准。下面是可合并到现有配置顶层的 mihomo 片段,不是包含节点与规则的完整订阅:
mixed-port: 7890
allow-lan: true
bind-address: 192.168.1.20
mode: rule
allow-lan: true 允许来自局域网的连接;bind-address 指定监听地址。示例只监听电脑的 192.168.1.20,地址变化后必须同步修改。部分客户端会自动生成这些字段,手改订阅文件可能在更新时被覆盖,应优先使用客户端的持久设置或覆写功能,并在重载后复查。
如果客户端只能使用 bind-address: "*",表示监听所有接口,应通过防火墙限制来源。不要把“所有接口”理解为“只允许家里的 Wi-Fi”:电脑上的其他网络接口也可能接收连接。
这里只需要代理监听,不要求开启 TUN。mode: rule 表示局域网设备送入的请求继续按照当前规则匹配;它不会让所有请求自动使用同一个代理节点。检查规则命中的策略组,并确认该组已选中可用节点。
三、防火墙只放行需要的来源
“允许局域网连接”与系统防火墙是两层独立控制。内核已经监听,不代表 Windows 或 macOS 会放行入站连接。先确认家庭网络可信,再创建最小范围的规则,不要用长期关闭防火墙代替排查。
Windows:限定专用网络、TCP 7890 与来源网段
打开「Windows 安全中心」→「防火墙和网络保护」→「高级设置」→「入站规则」,可以创建端口规则并在“作用域”限制远程 IP。也可以在管理员 PowerShell 中执行下面的示例:
New-NetFirewallRule -DisplayName "mihomo LAN TCP 7890" `
-Direction Inbound -Action Allow -Protocol TCP `
-LocalAddress 192.168.1.20 -LocalPort 7890 `
-RemoteAddress 192.168.1.0/24 -Profile Private
这里的 192.168.1.0/24 仅适用于对应的家庭网段。若只给一台手机使用,可把远程地址改成手机的固定 IP,进一步缩小范围。网络配置文件必须确实为“专用”,规则才会按预期生效;不要把酒店或公共 Wi-Fi 改成专用网络来套用此规则。
本文的 HTTP 共享路径使用 TCP。需要 SOCKS5 UDP 转发时,还涉及应用支持、内核配置及 UDP 防火墙规则,不能通过随意开放所有端口解决。停止共享后,可删除本例规则:
Remove-NetFirewallRule -DisplayName "mihomo LAN TCP 7890"
macOS:允许实际接收连接的程序
打开「系统设置」→「网络」→「防火墙」→「选项」,检查实际运行的客户端或内核程序是否允许传入连接。若启用“阻止所有传入连接”,应先评估该设置与共享需求的冲突。第三方安全软件也可能有独立的网络过滤规则。
四、手机、电视与游戏机怎么填写代理
目标设备需要填写的是“电脑局域网 IP + 代理端口”,不是节点服务器地址,也不是订阅链接。以下示例均为服务器 192.168.1.20、端口 7890。服务器输入框一般只填 IP,不加 http://,也不把端口拼在同一个输入框中。
iPhone 与 iPad:当前 Wi-Fi 的手动代理
- 打开「设置」→「无线局域网」,点击已连接网络右侧的信息按钮。
- 进入「配置代理」→「手动」。
- 服务器填
192.168.1.20,端口填7890,保存设置。 - 没有在内核配置认证时,不启用“鉴定”;配置了认证时,填写与内核一致的用户名和密码。
- 用浏览器访问 HTTPS 页面,同时查看电脑客户端的连接或日志记录。
此设置属于当前 Wi-Fi,不会自动应用到蜂窝网络。部分应用不遵循系统 HTTP 代理,因此浏览器可用不能证明所有应用都经过电脑。使用完毕后,将“配置代理”恢复为“关闭”,避免电脑休眠后手机持续连接失败。
Android:编辑已连接网络的代理
以 Pixel 的 Android 14 界面为例,进入「设置」→「网络和互联网」→「互联网」→ 当前 Wi-Fi 的设置按钮 → 编辑网络 →「高级选项」→「代理」→「手动」。其他厂商可能把入口放在“修改网络”或“高级设置”中。
- 代理主机名:
192.168.1.20。 - 代理端口:
7890。 - 绕过代理的地址:初次测试保持默认,确认基础连接后再添加本地服务例外。
Android 的系统 Wi-Fi 代理同样不是全设备透明代理。某些应用自建连接、不读取系统代理,仍可能直连。若系统界面没有认证输入框,而内核要求认证,该界面可能无法完成连接;不要在共享网络中因此直接取消必要的访问限制。
电视与游戏机:先确认设备是否支持 HTTP 代理
电视的网络设置差异较大。只有在当前网络的高级设置中明确提供“代理服务器”和“端口”时,才填入上述参数。没有此入口的电视,不能仅靠电脑开启 Allow LAN 获得代理;应使用设备支持的客户端,或规划路由器侧分流。
以 PS5 为例,可在「设置」→「网络」→「设定」→「设定互联网连接」中选择已注册网络,进入「高级设定」,检查“代理服务器”选项。即使能填写 HTTP 代理,也不能据此认定游戏实时通信、语音与全部下载都会经过代理;具体流量需要结合电脑连接记录确认。
五、按“监听 → 可达 → 代理 → 规则”定位故障
第一步:确认端口没有只绑定回环地址
Windows PowerShell 运行:
Get-NetTCPConnection -State Listen -LocalPort 7890 |
Select-Object LocalAddress, LocalPort, OwningProcess
macOS 终端运行:
lsof -nP -iTCP:7890 -sTCP:LISTEN
如果结果只有 127.0.0.1:7890,局域网设备不能通过电脑的 Wi-Fi 地址访问。按本文示例配置后,应能看到 192.168.1.20:7890 的监听。没有任何结果时,检查内核是否运行、配置重载是否失败、端口是否已被其他程序占用。
第二步:从另一台设备测试 TCP 与代理请求
若局域网内另有 Windows 电脑,可运行下面的端口测试。应从另一台设备执行,电脑测试自己不能覆盖无线隔离和入站防火墙问题。
Test-NetConnection 192.168.1.20 -Port 7890
TcpTestSucceeded 为 True 只证明 TCP 能建立,不证明代理协议和出站节点正常。继续使用支持代理的 curl 测试;Windows PowerShell 中可显式调用 curl.exe:
curl --proxy http://192.168.1.20:7890 --connect-timeout 5 --max-time 20 -I https://example.com/
curl --socks5-hostname 192.168.1.20:7890 --connect-timeout 5 --max-time 20 -I https://example.com/
第二条通过 SOCKS5 提交目标域名,由代理侧处理解析,便于与本地解析路径区分。命令给出的 5 秒连接超时和 20 秒总超时是排障参数,不是延迟测试结果。两条命令用于分别验证混合端口的 HTTP 与 SOCKS 路径,不要求设备同时配置两种代理。
第三步:按表现缩小范围
| 现象 | 优先检查 | 处理方向 |
|---|---|---|
| 连接超时,电脑没有请求记录 | 防火墙、访客网络、AP 隔离、IP 地址 | 验证设备互访与 TCP 7890 可达性 |
| 立即提示连接被拒绝 | 端口未监听或填错 | 核对运行配置及监听地址 |
| 返回 HTTP 407 | 代理认证 | 核对内核认证与设备凭据 |
| 有请求记录,但网站打不开 | 策略组、节点、DNS、规则 | 查看对应请求的匹配规则和出站错误 |
| 浏览器可用,某个应用不可用 | 应用是否遵循系统代理 | 检查应用自身代理选项及传输协议 |
| 电脑唤醒或重连后失效 | 电脑地址变化、内核停止 | 固定 DHCP 地址并复查监听状态 |
若只有域名请求失败,而 IP 连接测试正常,再检查 mihomo 内核的 DNS 配置和日志。不要把手机 DNS 随意改成电脑地址:混合端口不是 DNS 服务,监听在 7890 并不意味着电脑提供 53 端口的 DNS 解析。
六、长期共享前的边界与收尾
局域网代理依赖电脑持续联网、内核运行以及地址稳定。给电视长期使用时,先检查电脑的休眠策略,避免屏幕关闭后整机进入睡眠。订阅更新或客户端升级之后,复查局域网开关、混合端口与覆写配置是否仍然生效。
- 规则边界:手机请求进入电脑后,按电脑当前规则分流;不要直接套用电脑应用的进程名规则来识别手机应用,普通局域网代理请求并不携带手机的本地进程身份。
- TUN 边界:电脑开启 TUN 不会自动把手机变成其下游设备。透明接管还涉及网关、路由、DNS 和转发配置,不属于手动填写 HTTP 代理的方案。
- 安全边界:在可信网段内限定来源;共享网络上可结合 mihomo 的
authentication配置,但要先确认终端支持对应认证方式。 - 结束共享:把手机或电视的代理设置恢复为关闭,关闭客户端的局域网连接权限,并移除不再使用的防火墙规则。
最短验证路径是:先确认电脑监听 192.168.1.20:7890,再从另一台设备确认端口可达,最后观察客户端是否出现对应请求。三步都通过后,再排查节点、规则和应用兼容性,比反复切换 TUN、系统代理和 DNS 更容易定位问题。基础字段说明可继续查看使用文档中的混合端口说明。