# Manual route configuration for PST VPN
# Run this if auto-route setup fails or after manual rasdial connection

$remoteNetwork = "192.168.0.0"
$subnetMask = "255.255.255.0"

Write-Host "Finding VPN interface..." -ForegroundColor Cyan

# Find the L2TP VPN interface (appears as PPP adapter)
$vpnInterface = Get-NetAdapter | Where-Object {
    ($_.InterfaceAlias -eq "PST-NW-VPN" -or
     $_.InterfaceDescription -eq "PST-NW-VPN" -or
     $_.InterfaceDescription -like "*PPP*") -and
    $_.Status -eq "Up"
} | Select-Object -First 1

if (-not $vpnInterface) {
    Write-Host "[ERROR] VPN interface not found!" -ForegroundColor Red
    Write-Host "Make sure you're connected to the VPN first:" -ForegroundColor Yellow
    Write-Host '  rasdial "PST-NW-VPN"' -ForegroundColor Gray
    exit 1
}

Write-Host "[OK] Found VPN interface: $($vpnInterface.InterfaceAlias) (Index: $($vpnInterface.InterfaceIndex))" -ForegroundColor Green

# Remove existing route (if any)
Write-Host "Removing old route (if exists)..." -ForegroundColor Cyan
route delete $remoteNetwork 2>$null | Out-Null

# Add new route
Write-Host "Adding route: $remoteNetwork mask $subnetMask" -ForegroundColor Cyan

$routeCmd = "route add $remoteNetwork mask $subnetMask 0.0.0.0 if $($vpnInterface.InterfaceIndex) metric 1"
cmd /c $routeCmd

if ($LASTEXITCODE -eq 0) {
    Write-Host "[OK] Route added successfully!" -ForegroundColor Green

    # Show the route
    Write-Host "`nRoute details:" -ForegroundColor Cyan
    route print | Select-String $remoteNetwork

    # Test connectivity
    Write-Host "`nTesting connectivity to remote network..." -ForegroundColor Cyan
    Write-Host "Pinging 192.168.0.2..." -ForegroundColor Gray
    ping 192.168.0.2 -n 2
}
else {
    Write-Host "[ERROR] Failed to add route!" -ForegroundColor Red
    Write-Host "Try running as Administrator" -ForegroundColor Yellow
}

Write-Host "`nTo make this route persistent across reboots:" -ForegroundColor Yellow
Write-Host "  route add $remoteNetwork mask $subnetMask 0.0.0.0 if $($vpnInterface.InterfaceIndex) metric 1 -p" -ForegroundColor Gray
Write-Host "`nNote: For VPN connections, auto-route on connect is better than persistent routes." -ForegroundColor Gray
