windows自动获取wsl IP,并开启端口转发。
- 新建一个文件名字随机后缀为ps1
- 复制以下内容:
powershell
# 获取wsl eth0的IP
$wsl_ip = (wsl -e sh -c "ip -4 -br addr show eth0 | awk '{print `$3}' | cut -d'/' -f1").Trim()
# 清除旧规则(可选)
netsh interface portproxy reset
# 需要转发的端口列表
$ports = @(8888,5000)
# 添加端口转发规则
foreach ($port in $ports) {
netsh interface portproxy add v4tov4 listenport=$port listenaddress=0.0.0.0 connectport=$port connectaddress=$wsl_ip
Write-Host "Port $port forwarded to $wsl_ip"
}
# 显示当前转发规则
Write-Host "`nCurrent port forwarding rules:"
netsh interface portproxy show all

到这里脚本已经好了,开以直接运行开启代理了,如果需要开机启动则继续以下步骤
- 保存后按下windows徽标键
- 搜索任务计划程序并打开
- 右键任务计划程序库 新建基本任务
- 输入你觉得好记的计划库名称 点击下一页
- 选择当用户登录时 或 计算机启动时 点击下一页
- 选择启动程序 点击下一页
- 选择你刚创建的脚本
- 点击保存即可