Updates HE public IP records for your tunnel (for instance at the coffee shop), finds the first available interface that is connected and creates a v6v4tunnel using that IP.
See script for where you need to edit.
function fastpingtest {
$ping = New-Object System.Net.NetworkInformation.Ping;
$ping.Send("8.8.8.8", 1000).status -eq "success";
}
$endtime = [datetime]::Now.AddMinutes(1);
$mapipv6 = $false;
while([datetime]::Now -lt $endtime) {
if(fastpingtest) { $mapipv6 = $true; break; }
}
if($mapipv6) {
$wc = New-Object net.webclient;
$url= "https://ipv4.tunnelbroker.net/ipv4_end.php?ip=AUTO&pass={1}&apikey={0}&tid={2}";
$values = "USERID", "PASSWORDMD5HASH", TUNNELID;
$wc.DownloadString(($url -f $values));
#get connected interface
$interface = netsh interface ipv4 show interface | findstr /c:" connected" | ?{!$_.contains("Loopback");} | %{[regex]::Split($_, "( )+") | ?{$_.trim().length -gt 0} | %{$_.trim()}; }
$interface_ip = (netsh interface ipv4 show address $interface[0] | findstr /c:"IP Address" | select -First 1).split(":")[1].trim()
netsh interface teredo set state disabled
netsh interface ipv6 add v6v4tunnel IP6Tunnel $interface_ip HEIPv4ENDPOINT
netsh interface ipv6 add address IP6Tunnel YOURIPv6ADDRESS
netsh interface ipv6 add route ::/0 IP6Tunnel HEIPv6ADDRESS
}

RSS