Basically, OpenVPN IP is 10.8.0.6 and at home I have 192.168.1.xxx - so if either of those two are available, then I bypass proxy.
function FindProxyForURL(url, host)
{
// firefox - Ctrl-Shift-J Chrome/Chromium: chrome://net-internals/#events
var debug = true;
var log = function() {
if (debug) {
var args = Array.prototype.slice.call(arguments);
alert(args.join(" "));
}
}
var bypassProxy = false;
log("Checking for availability of myIpAddressEx:", typeof(myIpAddressEx) == "function");
// firefox doesn't have myIpAddressEx - but it does seem to return the
// right IP
if (typeof(myIpAddressEx) != "function") {
log("myIpAddress returns: ", myIpAddress());
bypassProxy = myIpAddress() == '10.8.0.6' || myIpAddress().startsWith("192.168.1.");
} else {
// chromium seems to pick the first IP - in my case, a virtualbox HOST
// only IP. So check in all IPs returned by myIpAddressEx
var ips = myIpAddressEx().split(";");
log("myIpAddressEx returns", myIpAddressEx());
for(i=0; i< ips.length; i++) {
if (ips[i] == "10.8.0.6" || ips[i].startsWith("192.168.1.")) {
bypassProxy = true;
break;
}
}
}
log("Can bypass proxy: ", bypassProxy);
if (bypassProxy)
{
log ("DIRECT")
return "DIRECT";
}
else
{
log( "PROXY")
return "PROXY 10.98.2.8:8080";
}
}
Put it someplace and in IE configure it with a file://
url
I really, really hate our proxy configuration at work!
Also, proxy pac file support is really arcane… however, it does work without additional configuration/addons - so there’s that.