Skip to content

Instantly share code, notes, and snippets.

@flavioribeirojr
Created August 16, 2021 14:44
Show Gist options
  • Save flavioribeirojr/f81baa327716e899138d0022d3e182a9 to your computer and use it in GitHub Desktop.
Save flavioribeirojr/f81baa327716e899138d0022d3e182a9 to your computer and use it in GitHub Desktop.
If (-NOT ([Security.Principal.WindowsPrincipal][Security.Principal.WindowsIdentity]::GetCurrent()).IsInRole([Security.Principal.WindowsBuiltInRole] "Administrator")) {
$arguments = "& '" + $myinvocation.mycommand.definition + "'"
Start-Process powershell -Verb runAs -ArgumentList $arguments
Break
}
$remoteport = bash.exe -c "ifconfig eth0 | grep 'inet '"
$found = $remoteport -match '\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}';
if ($found) {
$remoteport = $matches[0];
}
else {
Write-Output "IP address could not be found";
exit;
}
$ports = @(8081, 19000, 19001);
Invoke-Expression "netsh interface portproxy reset";
for ($i = 0; $i -lt $ports.length; $i++) {
$port = $ports[$i];
Invoke-Expression "netsh interface portproxy add v4tov4 listenport=$port connectport=$port connectaddress=$remoteport";
Invoke-Expression "netsh advfirewall firewall add rule name=$port dir=in action=allow protocol=TCP localport=$port";
}
Invoke-Expression "netsh interface portproxy show v4tov4";
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment