【端口转发】通过端口转发方式,启用局域网访问的能力,例如Mineru

端口转发:就像给你的Mineru开个"共享窗口",让同WiFi下的设备都能访问

一、Mineru是什么?为什么要转发?

1. Mineru简介

Mineru 是一个强大的本地AI工具/服务(具体根据实际用途),默认运行在:

http://127.0.0.1:7860

API 服务端口是

http://127.0.0.1:9987

API接口文档地址:http://127.0.0.1:9987/docs

只能你本机访问,因为:

  • 127.0.0.1 = 本机专用地址(“只服务自己”)
  • 局域网手机、平板、其他电脑无法连接

2. 转发效果

通过端口转发实现:

手机访问 → http://192.168.1.5:17860/ 
           ↓ (转发)
实际访问 → http://127.0.0.1:7860/
           ↓
        Mineru服务

二、准备工作(2分钟搞定)

1. 找到你的"网络门牌号"

# 方法一:命令提示符(推荐)
按 Win+R,输入 cmd,回车
输入:ipconfig

找到类似这样的信息:

无线局域网适配器 WLAN:
   IPv4 地址 . . . . . . . . . . . . : 192.168.1.5

记下这个IP,比如 192.168.1.5

2. 确认Mineru正常运行

  1. 打开浏览器
  2. 输入 http://127.0.0.1:7860/
  3. 看到Mineru界面 = :white_check_mark: 准备就绪

三、核心操作(一行命令!)

1. 以管理员身份打开终端

必须管理员! 否则会失败

  • Win10/Win11:右键开始菜单 → “Windows终端(管理员)”
  • :搜索"cmd" → 右键 → “以管理员身份运行”

2. 执行魔法命令

netsh interface portproxy add v4tov4 listenaddress=0.0.0.0 listenport=17860 connectaddress=127.0.0.1 connectport=7860

同理,如果你想转发API服务端口 9987 只需要修改对应端口再执行一次即可

netsh interface portproxy add v4tov4 listenaddress=0.0.0.0 listenport=19987 connectaddress=127.0.0.1 connectport=9987

3. 命令参数大白话解释

参数 意思 本例值
listenaddress=0.0.0.0 “监听所有网卡” 让所有网络接口都能接收请求
listenport=17860 “开个新门” 17860端口(你自定义的)
connectaddress=127.0.0.1 “目标是自己” 转发到本机的Mineru
connectport=7860 “Mineru的门牌” Mineru默认的7860端口

4. 关键一步:开防火墙

# 允许17860端口通过(复制粘贴)
New-NetFirewallRule -DisplayName "Mineru_Share" -Direction Inbound -LocalPort 17860 -Protocol TCP -Action Allow

同理,API服务更换端口和 DisplayName即可,就不重复贴了

四、验证成功(激动时刻!)

1. 查看转发规则

netsh interface portproxy show all

看到这样就是成功了:

侦听 ipv4:                 连接到 ipv4:
地址            端口        地址            端口
--------------- ----------  --------------- ----------
0.0.0.0         17860       127.0.0.1       7860

2. 手机/平板测试

  1. 确保连接同一WiFi
  2. 打开手机浏览器
  3. 输入:http://192.168.1.5:17860/
    (把192.168.1.5换成你刚才记的IP)
  4. 看到Mineru界面 → :tada: 成功!

五、常见问题解决

:cross_mark: 问题1:手机打不开网页

# 检查防火墙是否放行
Get-NetFirewallRule -DisplayName "Mineru_Share" | Format-Table DisplayName,Enabled

# 如果没启用,手动添加(旧版命令)
netsh advfirewall firewall add rule name="Mineru_Manual" dir=in action=allow protocol=TCP localport=17860

:cross_mark: 问题2:端口被占用

# 检查17860是否被其他程序用了
netstat -ano | findstr :17860

# 如果被占用,换个端口(如27860)
netsh interface portproxy add v4tov4 listenport=27860 connectaddress=127.0.0.1 connectport=7860
# 记得改防火墙端口!

:cross_mark: 问题3:重启电脑后失效

Windows默认不保存转发规则

解决方案:创建开机自启脚本

  1. 新建文本文件,改名 mineru_start.bat
  2. 右键编辑,粘贴:
@echo off
netsh interface portproxy add v4tov4 listenport=17860 connectaddress=127.0.0.1 connectport=7860
netsh advfirewall firewall add rule name="Mineru_AutoStart" dir=in action=allow protocol=TCP localport=17860
echo Mineru端口转发已启动!
pause
  1. 把此文件放到开机启动文件夹:
    • Win+R 输入 shell:startup 回车
    • 把bat文件放进去

六、安全提醒 :warning:

1. 仅限局域网!

  • 本教程只让同一WiFi下的设备访问
  • 不要暴露到公网(除非你知道风险)

2. 为什么用17860?

  • 比默认7860更安全
  • 减少被自动扫描的风险
  • 防止端口冲突,导致Mineru无法启动

3. 不用时关闭

# 临时关闭
netsh interface portproxy delete v4tov4 listenaddress=0.0.0.0 listenport=17860

# 永久删除(包括防火墙规则)
netsh interface portproxy delete v4tov4 listenport=17860
Remove-NetFirewallRule -DisplayName "Mineru_Share" -ErrorAction SilentlyContinue

七、进阶技巧

1. 一键管理脚本

创建 mineru_port.ps1

# Mineru端口转发管理器
param([string]$mode = "on")

$listenPort = 17860
$targetPort = 7860

if ($mode -eq "on") {
    # 开启转发
    netsh interface portproxy add v4tov4 listenport=$listenPort connectaddress=127.0.0.1 connectport=$targetPort
    New-NetFirewallRule -DisplayName "Mineru_Port_$listenPort" -Direction Inbound -LocalPort $listenPort -Protocol TCP -Action Allow
    Write-Host "✅ Mineru共享已开启!" -ForegroundColor Green
    Write-Host "📱 访问地址:http://你的IP:$listenPort/" -ForegroundColor Cyan
}
elseif ($mode -eq "off") {
    # 关闭转发
    netsh interface portproxy delete v4tov4 listenport=$listenPort
    Remove-NetFirewallRule -DisplayName "Mineru_Port_$listenPort" -ErrorAction SilentlyContinue
    Write-Host "🔒 Mineru共享已关闭" -ForegroundColor Yellow
}
else {
    # 查看状态
    netsh interface portproxy show all | findstr "$listenPort"
}

使用方法:

# 开启
.\mineru_port.ps1 on

# 关闭
.\mineru_port.ps1 off

# 查看状态
.\mineru_port.ps1 status

2. 多设备同时访问

Mineru支持多人同时使用吗?看配置!

  • 如果Mineru支持多会话:没问题
  • 如果只支持单用户:需要排队

3. 链接数监控

# 查看当前连接数
Get-NetTCPConnection -LocalPort 17860 | Measure-Object | Select-Object Count

八、快速参考表

步骤 做什么 命令/操作
1 查本机IP ipconfig 找IPv4地址
2 开管理员终端 右键开始菜单选"终端(管理员)"
3 执行转发 netsh interface portproxy add...
4 放行防火墙 New-NetFirewallRule...
5 手机访问 http://[你的IP]:17860/
6 查看状态 netsh interface portproxy show all
7 关闭转发 netsh interface portproxy delete...

九、实际应用场景

场景1:手机控制Mineru

  • 电脑跑Mineru,手机浏览器操作
  • 躺在床上也能玩AI

场景2:平板大屏体验

  • 平板访问电脑的Mineru
  • 大屏操作更舒适

场景3:多设备协作

  • 电脑A运行Mineru
  • 电脑B、手机C同时访问
  • 团队协作处理任务

:rocket: 马上行动!

  1. 打开cmd → 输入 ipconfig 记下IP
  2. 管理员终端 → 粘贴转发命令
  3. 手机浏览器 → 输入 http://你的IP:17860/
  4. 享受共享的Mineru!

遇到问题? 检查:

  • :white_check_mark: 是否管理员运行?
  • :white_check_mark: 防火墙是否放行?
  • :white_check_mark: IP地址是否正确?
  • :white_check_mark: 是否同一WiFi?

分享你的成功经验,让更多小伙伴一起玩转Mineru! :flexed_biceps: