Have posted here too (http://foxyproxy.mozdev.org/drupal/content/foxyproxy-with-pac-file) but on further investigation, seems like it's a bug (introduced with version 2.8 and still present on version 2.8.1). I have since downgraded to 2.7.5 and bug has disappeared. Please therefore delete the previous post.
Have been using Foxy proxy for a while now. Latest version does not seem to work with our Automatic proxy configuration URL. (http://xxxx.xxxxxxxx.xxx/proxy.pac)
Until version 2.8.0, all has been well and with new versions, I can click the 'View' or 'Test' button and this shows the PAC file and 'The PAC was found, loaded, and successfully parsed'. But if I enable the 'Automatic proxy configuration URL', it will not use the PAC file. Looking at the log, the message returned is "Exception while determinig which host to use for proxying : TypeError : invalid 'in' operand this. _sandbox".
Also, the 'determinig' is misspelt, should be 'determining'.
Thanks for the excellent program, extremely useful to me.
All the best
Paul
Hi, Which version of Firefox
Hi,
Which version of Firefox are you using?
Thanks,
Eric
Firefox V 3.0
Sorry, I stated this in the original post (in help) but forgot to add this here too.
Paul, could you possibly
Paul, could you possibly send me your PAC file? I'm not able to reproduce this. You can change IP addresses and host names to keep it private, but I do need the logic intact. Please also specify your operating system. My email address is eric dot jung at yahoo dot com.
Many thanks,
Eric
Agreed - PAC dead on 2.8.0 and 2.8.1
Agreed - completely dead in 2.8.0. Same behaviour as described above with PAC file in 2.8.1 (parses fine if tested, throws expection if I try to use it).
Using Firefox 2.0.0.14.
Have you got a sample PAC file from DataMine?
Happy debugging.
PAC
I cannot get PAC file until Monday (from work). Will post here as soon as I get it.
Running in Windows XP.
I can't fix it till I get
I can't fix it till I get that (I can't reproduce the problem with any of my PAC files on Windows XP using Firefox 2.0.0.14). Please don't forget! In the meantime, you could upgrade to firefox 3.0. You won't have the problem then.
Eric
Firefox
Sorry but I am already running Firefox 3.0. Have diaried this so will send the PAC file
PAC file uploaded
Here is copy of PAC file (with specific URL changed to aaaaa, bbb, etc)
function FindProxyForURL(url, host)
{
// Plain Hostname check
if (isPlainHostName(host)) {
return "DIRECT";
}
// loopback
else if ( host == "127.0.0.1" || host == "localhost" ) {
return "DIRECT";
}
// Internal DNS Suffixs
else if ( dnsDomainIs(host, ".aaaaaaeu.com") || dnsDomainIs(host, ".bbbbbb.local") || dnsDomainIs(host, "ccc.de")) {
return "DIRECT";
}
// Internally Hosts Sites
else if ( dnsDomainIs(host, "webmail.aaaaaa-europe.com") || dnsDomainIs(host, "webmail1.aaaaaa-europe.com") || dnsDomainIs(host, "webmail2.aaaaaa-europe.com") || dnsDomainIs(host, "erooms.aaaaaa-europe.com") || dnsDomainIs(host, "pdmworks.aaaaaa-europe.com")) {
return "DIRECT";
}
// Internal IP Ranges
else if (isInNet (host, "10.0.0.0", "255.0.0.0") || isInNet (host, "193.132.112.0", "255.255.255.0") || isInNet (host, "163.49.0.0", "255.255.0.0")) {
return "DIRECT";
}
else {
return "PROXY webproxy.bbbbbb.local:3128";
}
}
2.8.3 Working again!
Hi Eric,
v2.8.3 appears to be working again for me :-)
Cheers,
For me too
Have just tried 2.8.3 and this is working ok. Will keep this installed now and let you know if it fails.
Paul
2.8.3 still fails (FF 3.0)
I'm running Firefox 3.0, and just tried FoxyProxy 2.8.3 and am still getting the error as described above.
I can send you the pac file via email, if you feel that would help.
BMoore, I'm not able to
BMoore,
I'm not able to reproduce this error on Windows XP, Firefox 3, FoxyProxy 2.8.3. If you want this fixed, then Ill need:
* your pac file
* the operating system you're using
* your foxyproxy.xml file (located int the firefox profile)
* What is the error? Are you seeing "TypeError : invalid 'in' operand this. _sandbox"? For the life of me, I cannot reproduce this.
You can remove any sensitive information from the pac file and foxyproxy.xml if you like. My email address is eric dot jung at yahoo dot com, or post here.
Thanks,
Eric
Re-upgrade and fixed
I tried re-upgrading to 2.8.3, and now the problem has disappeared. Perhaps the upgrade failed before.
Thanks for your help
Still problematic
This morning, FoxyProxy was set to 'Tor' and working ok, I then set to 'Default' (which is via the company's Proxy server) and I received the same error message as before.
Exact process was
1. Started FF3.0 and FoxyProxy was set to 'Tor'
2. I manually changed to 'Default' which was set to 'Direct internet connection (no proxy)'. This didn't work (no surprise there as company does not allow direct connection.
3. I manually changed 'Default' setting so that it was 'Automatic proxy configuration URL' (as advised previously). This didn't work with exactly the same error message in the log (TypeError : invalid 'in' operand this. _sandbox)
4. If I "disable" FoxyProxy then FF starts working normally. (in options - advanced - network - settings in FF, set to use company Proxy server)
For information (and in case it makes a difference), our IT department change the proxy setting by script on log on (essentially, if my laptop is connected to company network then login script sets proxy to use company proxy, otherwise it sets it to direct). This is beyond my control and will continue to happen. If it helps you, I will gladly send you any files, etc to help with the process.
Sorry for the bad news.
Please ensure you are
Please ensure you are running FoxyProxy 2.8.3 by opening FoxyProxy and going to its Help->About menu.
Intermittent
Yep, I am running 2.8.3 (have checked the help about).
Bizarrely though, today it is working fine (with FoxyProxy 2.8.3, FF3.0, Win XPPro, same pac file location, etc), showing that the problem is intermittent
Perhaps the version is a bit of a red herring?
DataMine, can you please
DataMine, can you please contact me directly at eric dot jung at yahoo dot com.
Thanks,
Eric
I have the same issue which
I have the same issue which seems related to DNS resolution. So I just copied the .pac file to my local hard drive and all is working.
Hope this helps.
Same error
I started having the same problem recently. I use FoxyProxy when switching from a public network to my client's VPN, so the other proxy setting I'm using is configured to accept all URLs. The Test button loads the PAC successfully.
I receive this error in a popup when I try to enable a PAC proxy.
"Exception while determining which host to use for proxying"
This is the error from the log.
URL - Not logged
Proxy Name - Default
Proxy Notes - These are the settings that are used when no patterns match a URL.
Pattern Name - All
Pattern - *
Pattern Type - Wildcards
Whitelist - Whitelist
Error Message - Exception while determining which host to use for proxying : TypeError: invalid 'in' operand this._sandBox
Case sensitive - No
I know you only hear from users when something goes wrong, but I really love this plugin. Thanks for taking the time to create it and listening to us complain :)
connor, i need help from
connor, i need help from people like you to test the fix because i cannot reproduce it. Please contact me directly at eric dot jung at yahoo dot com and I'll send you the fixed XPI for you to test.
thanks,
eric
Hi, I met this problem
Hi,
I met this problem too.
I found something interesting.
I disable(stop) foxyproxy first, then I set to Automatic proxy configuration.
And then I switch to the specified style, the error won't happened, everything works fine.
FYI.
Disable first works for me
Hello,
I had the same issue as listed above with version 2.8.1, 2.8.2, 2.8.3, and 2.8.4. I followed the steps from elleryq, and it solved the problem:
1. Right click FoxyProxy and choose "Completely disable FoxyProxy".
2. Right click FoxyProxy and select "options"
3. Configure the proxy that uses the automatic PAC file. Verify the pac file with the Test button.
4. Exit the configuration dialog.
5. Right click FoxyProxy and select "Use proxy based on their predefined..." (or select your proxy directly).
At this point I get the message the the PAC was loaded successfully.
Blacklist PAC
I've been testing for Eric, the developer. He's identified my problem. FoxyProxy was trying to load the PAC through a proxy. At the time, though, the proxy had not been set-up, so it errored.
Try adding the PAC URL to your blacklist. A fix should be out soon.
I'm still getting another error, but I think it's unrelated.
Workaround works
This works for me (both suggestions from 'nate' and 'MrSqueezies')
Thanks all for the help
Right. The proper
Right. The proper work-around is to force your PAC to load through no proxy (DIRECT). You can do this by writing the appropriate whitelist/blacklist pattern for your PAC file so that it loads directly. FoxyProxy 2.8.5 coming out soon with a fix. You won't need the workaround patterns in FoxyProxy 2.8.5; it is fixed natively.
Same problem with 2.8.4
I have the same problem with 2.8.4 and FF 3.0.1. Test loading the PAC works, but activating fails with the "Exception while determinig which host to use for proxying : TypeError : invalid 'in' operand this. _sandbox" message. Anonymized PAC follows:
function FindProxyForURL(url, host)
{
if (isPlainHostName(host) ||
dnsDomainIs(host, ".xxx.com") ||
dnsDomainIs(host, ".yyy.com") ||
dnsDomainIs(host, ".zzz.com") ||
dnsDomainIs(host, ".xyz.com") ||
dnsDomainIs(host, ".uvw.com") ||
url.substring(0, 20) == "http://192.207.69.43" ||
url.substring(0, 27) == "http://217.110.222.146:8080" ||
shExpMatch(url, "https://*.bankofamerica.com*") ||
shExpMatch(url, "https://www.locklizard-license1.co.uk:8444/*") ||
shExpMatch(url, "*//127.0.*") ||
shExpMatch(url, "*//160.48.*") ||
shExpMatch(url, "*//160.50.*") ||
shExpMatch(url, "*//161.34.*") ||
shExpMatch(url, "*//172.16.*") ||
shExpMatch(url, "*//172.17.*") ||
shExpMatch(url, "*//172.18.*") ||
shExpMatch(url, "*//172.31.*") ||
shExpMatch(url, "*//10.*") ||
shExpMatch(url, "*//192.168.*"))
return "DIRECT";
else
return "PROXY proxy.eu.xxx.com:8080; DIRECT";
}
Use the workaround described
Use the workaround described above until FoxyProxy 2.8.5 is released.
thanks,
eric
FoxyProxy 2.8.5 was released
FoxyProxy 2.8.5 was released today.
Please upgrade and remove all PAC-specific patterns from FoxyProxy.
Let me know if you have any problems,
Eric
I upgraded Foxy Proxy
I upgraded Foxy Proxy yesterday and now I'm not able to load my proxy pac at firefox startup. The following error message appears:
NS_ERROR_FAILURE
http://files.mint-space.com/getfile,20080903084432,foxproxerror.png.html
When firefox is fully loaded I'm able to load the proxy pac manually.
Hi Stevi, Which version of
Hi Stevi,
Which version of Firefox are you using? Also, is the PAC located at an http:// URL or something else (https, ftp, file, etc)?
Thanks,
Eric
Hi Eric, my version is
Hi Eric,
my version is Mozilla/5.0 (X11; U; Linux i686; de; rv:1.9.0.1) Gecko/2008071618 Firefox/3.0.1.
It is located at an URL, http://www.**.de/**/**.pac
The last foxyproxy version worked without any problems!?
Are you able to send me your
Are you able to send me your foxyproxy.xml file?
foxyproxy.xml
Yes, if you tell me your EMail-Adress.
eric dot jung at yahoo dot
eric dot jung at yahoo dot com
it's also in FoxyProxy's About dialog
Proxy.pac now works well!
There was something wrong in my firefox network configuration (a few weeks ago I tried httpripper and had to change some settings). I changed the settings and now foxyproxy is able to load my proxy.pac at startup. Everything's fine!
Thank you very much for
Thank you very much for following up on this. You had me worried :)
I just encountered this bug
I just encountered this bug again in the latest version (2.8.9).
I have no idea how to trigger it, but the only way to get it working again is to disable foxyproxy (and use the firefox settings), then configure the disabled foxyproxy to use the PAC file and enable it again.
FWIW sometimes when switching between proxies (i.e using a vpn proxy for a few minutes), foxyproxy sets my default configuration to "direct connection" and I cannot set it back to the auto configuration via PAC due to this behaviour.
Let's summarize:
- Profile default with PAC file
- Profile "Astaro" which uses a proxy behind a VPN connection
What I've just done:
1. using default, using the PAC
2. start my vpn connection
3. manually select the "Astaro" profile which has a manual proxy configured
4. surfing around over vpn-proxy
5. switch back to the default profile (using PAC)
6. no connection... WTF?? looking in the profile configuration, I find my default profile reset to "direct connection".
7. switching the default profile back to the PAC autoconfiguration - this well known bug shows again.
Please note that this only happens *sometimes* - I have absolutely no idea how to reproduce :-/
Hi Robin, Thanks for the
Hi Robin,
Thanks for the thorough explanation. I understand the problem and why it is happening. It happens when the PAC file cannot be loaded. Please answer this question: in step #5, which connection should be used to load the PAC file?
1. Astaro proxy settings (i.e., through the VPN)
2. DIRECT (i.e., no proxy)
I suspect #2. Anyway, does this happen frequently enough that you can do a test? I need you to tell me what appears in stdout (the shell) when this happens. You can launch Firefox with a shell/console by adding the command-line argument "-console" to firefox (doesn't matter which OS you're using).
Thanks,
Eric
I've sent mails to your
I've sent mails to your yahoo address you mentioned somewhere above (including console output) - HTH
I too have similar
I too have similar issue.
Running firefox 3.0.5 with foxyproxy 2.8.11
Like above, when I create the proxy and do a View/Test it works.
But on closing the edit dialog I get an error that foxyproxy couldn't load the PAC.
The is what I get in the console
FoxyProxy: getProxyForURI(), TypeError: this.sandbox is null("http://autoproxy:9090/","autoproxy")@file:///C:/Documents%20and%20Settings/rdu
nphy/Application%20Data/Mozilla/Firefox/Profiles/olzfr4t6.default/extensions/fox
yproxy@eric.h.jung/components/foxyproxy.js -> file:///C:/Documents%20and%20Setti
ngs/rdunphy/Application%20Data/Mozilla/Firefox/Profiles/olzfr4t6.default/extensi
ons/foxyproxy@eric.h.jung/components/autoconf.js:249
("http://autoproxy:9090/","autoproxy",[object Object])@file:///C:/Documents%20an
d%20Settings/rdunphy/Application%20Data/Mozilla/Firefox/Profiles/olzfr4t6.defaul
t/extensions/foxyproxy@eric.h.jung/components/foxyproxy.js -> file:///C:/Documen
ts%20and%20Settings/rdunphy/Application%20Data/Mozilla/Firefox/Profiles/olzfr4t6
.default/extensions/foxyproxy@eric.h.jung/components/proxy.js:237
("http://autoproxy:9090/","autoproxy",[object Object])@file:///C:/Documents%20an
d%20Settings/rdunphy/Application%20Data/Mozilla/Firefox/Profiles/olzfr4t6.defaul
t/extensions/foxyproxy@eric.h.jung/components/foxyproxy.js -> file:///C:/Documen
ts%20and%20Settings/rdunphy/Application%20Data/Mozilla/Firefox/Profiles/olzfr4t6
.default/extensions/foxyproxy@eric.h.jung/components/proxy.js:290
([object XPCWrappedNative_NoHelper],[object XPCWrappedNative_NoHelper],null)@fil
e:///C:/Documents%20and%20Settings/rdunphy/Application%20Data/Mozilla/Firefox/Pr
ofiles/olzfr4t6.default/extensions/foxyproxy@eric.h.jung/components/foxyproxy.js
:336
open("GET","http://autoproxy:9090",false)@:0
()@file:///C:/Documents%20and%20Settings/rdunphy/Application%20Data/Mozilla/Fire
fox/Profiles/olzfr4t6.default/extensions/foxyproxy@eric.h.jung/components/foxypr
oxy.js -> file:///C:/Documents%20and%20Settings/rdunphy/Application%20Data/Mozil
la/Firefox/Profiles/olzfr4t6.default/extensions/foxyproxy@eric.h.jung/components
/autoconf.js:116
("auto")@file:///C:/Documents%20and%20Settings/rdunphy/Application%20Data/Mozill
a/Firefox/Profiles/olzfr4t6.default/extensions/foxyproxy@eric.h.jung/components/
foxyproxy.js -> file:///C:/Documents%20and%20Settings/rdunphy/Application%20Data
/Mozilla/Firefox/Profiles/olzfr4t6.default/extensions/foxyproxy@eric.h.jung/comp
onents/proxy.js:160
onOK()@chrome://foxyproxy/content/addeditproxy.js:109
anonymous([object Event])@chrome://global/content/bindings/dialog.xml:357
_fireButtonEvent("accept")@chrome://global/content/bindings/dialog.xml:358
_doButtonCommand("accept")@chrome://global/content/bindings/dialog.xml:332
_handleButtonCommand([object XULCommandEvent])@chrome://global/content/bindings/
dialog.xml:321
Hi, Can you please: 1. Post
Hi,
Can you please:
1. Post the URL to your PAC -- it doesn't have to be accessible by me. I just need to see the protocol and format of the URL
2. The contents of your PAC as displayed when clicking the View button
Thanks,
Eric
THought I posted this
THought I posted this yeaterday
URL to PAC is http://autoproxy:9090
The DNS server will resolve the autoproxy
The PAC file is below - have edited the DNS names as I'm not sure if I can share them...
function FindProxyForURL(url,host) {
var me=myIpAddress();
if (!isResolvable(host)) { return "PROXY proxy-us.intel.com:911";}
if (me == "127.0.0.1") {return "DIRECT";}
if (host == "127.0.0.1") {return "DIRECT";}
if (host == "localhost") {return "DIRECT";}
if (isPlainHostName(host)) {return "DIRECT";}
if (isInNet(dnsResolve(host), "12.159.79.0", "255.255.255.0") || isInNet(dnsResolve(host), "143.182.125.0", "255.255.255.0")) {return "PROXY proxy-ch.intel.com:911";}
if (dnsDomainIs(host,".ice.intel.com") && ( shExpMatch(url, "https*nk*.ice.intel.com*") || shExpMatch(url, "*id0*.ice.intel.com*") )) {return "PROXY iceadmin.ice.intel.com:911";}
if (host == "vandahookerana.isng.intel.com") {return "PROXY iceadmin.ice.intel.com:911";}
if (host == "vandateres.isng.intel.com") {return "PROXY iceadmin.ice.intel.com:911";}
if (host == "bpg.fm.intel.com") {return "PROXY iceadmin.ice.intel.com:911";}
if (host == "bpg-in.fm.intel.com") {return "PROXY iceadmin.ice.intel.com:911";}
if (host == "fmgsp101.ice.intel.com") {return "PROXY iceadmin.ice.intel.com:911";}
if (host == "fmgsp102.ice.intel.com") {return "PROXY iceadmin.ice.intel.com:911";}
if (host == "fmbip101.ice.intel.com") {return "PROXY iceadmin.ice.intel.com:911";}
if (host == "fmbip102.ice.intel.com") {return "PROXY iceadmin.ice.intel.com:911";}
if (host == "jfbip101.ice.intel.com") {return "PROXY iceadmin.ice.intel.com:911";}
if (host == "jfbip102.ice.intel.com") {return "PROXY iceadmin.ice.intel.com:911";}
if (dnsDomainIs(host,".ice.intel.com")) {return "PROXY iceadmin.ice.intel.com:911";}
if (host == "source.intel.com") {return "DIRECT";}
if (host == "ldrps.intel.com") {return "PROXY proxy-fm.intel.com:911";}
if (host == "blogs.intel.com") {return "PROXY proxy-us.intel.com:911";}
if (dnsDomainIs(host,".foldershare.com")) {return "PROXY proxy-us.intel.com:911";}
if (host == "www.foldershare.com") {return "PROXY proxy-us.intel.com:911";}
if (host == "lpi-sc.dyndns.org") {return "PROXY proxy-fm.intel.com:911";}
if (host == "n-central.dyndns.org") {return "PROXY proxy-fm.intel.com:911";}
if (host == "www90.intel.com") {return "PROXY proxy-us.intel.com:911";}
if (host == "stars.intel.com") {return "PROXY proxy-us.intel.com:911";}
if (host == "testdrive.intel.com") {return "PROXY proxy-us.intel.com:911";}
if (host == "idfindia.intel.com") {return "PROXY proxy-us.intel.com:911";}
if (host == "origin-inside.intel.com") {return "PROXY proxy-chain.intel.com:911";}
if (host == "inside.intel.com") {return "PROXY proxy-chain.intel.com:911";}
if (host == "secure-inside.intel.com") {return "PROXY proxy-chain.intel.com:911";}
if (dnsDomainIs(host,".pc.com")) {return "PROXY proxy-chain.intel.com:911";}
if (host == "eetimefed.adp.com") {return "PROXY proxy-chain.intel.com:911";}
if (dnsDomainIs(host,".apple.com")) {return "PROXY proxy-chain.intel.com:911";}
if (dnsDomainIs(host,".turner.com")) {return "PROXY proxy-chain.intel.com:911";}
if (host == "download.microsoft.com") {return "PROXY proxy-chain.intel.com:911";}
if (dnsDomainIs(host,".omniture.com")) {return "PROXY proxy-chain.intel.com:911";}
if (dnsDomainIs(host,".connectionsacademy.com")) {return "PROXY proxy-chain.intel.com:911";}
if (dnsDomainIs(host,".rapidshare.com")) {return "PROXY proxy-us.intel.com:911";}
if (dnsDomainIs(host,".rapidshare.de")) {return "PROXY proxy-us.intel.com:911";}
if (dnsDomainIs(host,".megaupload.com")) {return "PROXY proxy-us.intel.com:911";}
if (dnsDomainIs(host,".youtube.com")) {return "PROXY proxy-us.intel.com:911";}
if (dnsDomainIs(host,".ytimg.com")) {return "PROXY proxy-us.intel.com:911";}
if (dnsDomainIs(host,".googlevideo.com")) {return "PROXY proxy-us.intel.com:911";}
if (dnsDomainIs(host,".video.google.com")) {return "PROXY proxy-us.intel.com:911";}
if (host == "certification.intel.com") {return "PROXY proxy-us.intel.com:911";}
if (host == "engage.intel.com") {return "PROXY proxy-us.intel.com:911";}
if (host == "agencies.intel.com") {return "PROXY proxy-us.intel.com:911";}
if (host == "teachonline.intel.com") {return "PROXY proxy-us.intel.com:911";}
if (host == "jfraileroom.jfrail.intel.com") {return "DIRECT";}
if (dnsDomainIs(host,".wan.intel.com") && shExpMatch(host, "fiis??nt?.*")) {return "PROXY ftpgw.fm.intel.com:911";}
if (dnsDomainIs(host,".wan.intel.com") && ( shExpMatch(host, "fm??sas?.*") || shExpMatch(host, "fm??sas??nic2.*") )) {return "PROXY proxy-chain.intel.com:911";}
if (isInNet(dnsResolve(host),"192.168.35.0","255.255.255.0")) {return "PROXY proxy1-icf.iind.intel.com:911";}
if (host == "bx.intel.com") {return "PROXY proxy-us.intel.com:911";}
if (host == "swx.intel.com") {return "PROXY proxy-us.intel.com:911";}
if (host == "channelcommunities.intel.com") {return "PROXY proxy-us.intel.com:911";}
if (host == "boldlygo.intel.com") {return "PROXY proxy-us.intel.com:911";}
if (host == "ipip.intel.com") {return "PROXY proxy-us.intel.com:911";}
if (host == "channelevents.intel.com") {return "PROXY proxy-us.intel.com:911";}
if (host == "channeleventsponsors.intel.com") {return "PROXY proxy-us.intel.com:911";}
if (host == "sx.intel.com") {return "PROXY proxy-us.intel.com:911";}
if (host == "cracktheclues.intel.com") {return "PROXY proxy-us.intel.com:911";}
if (host == "secure-blogs.intel.com") {return "PROXY proxy-us.intel.com:911";}
if (host == "retailedge.intel.com") {return "PROXY proxy-us.intel.com:911";}
if (isInNet(dnsResolve(host), "192.55.48.0", "255.255.255.0") || isInNet(dnsResolve(host), "192.55.49.0", "255.255.255.0") || isInNet(dnsResolve(host), "192.55.50.0", "255.255.255.0") || isInNet(dnsResolve(host), "192.55.51.0", "255.255.255.0")) {return "PROXY proxy-jf.intel.com:911";}
if (isInNet(dnsResolve(host), "198.175.72.0", "255.255.255.0") || isInNet(dnsResolve(host), "198.175.112.0", "255.255.255.0") || isInNet(dnsResolve(host), "198.175.113.0", "255.255.255.0") || isInNet(dnsResolve(host), "198.175.114.0", "255.255.255.0") || isInNet(dnsResolve(host), "198.175.115.0", "255.255.255.0")) {return "PROXY proxy-fm.intel.com:911";}
if (isInNet(dnsResolve(host), "192.102.200.0", "255.255.252.0")) {return "PROXY proxy-iind.intel.com:911";}
if (isInNet(dnsResolve(host), "134.191.240.0", "255.255.252.0")) {return "PROXY proxy-ir.intel.com:911";}
if (shExpMatch(url, "https://multisitedirector??.intel.com*") || shExpMatch(url, "https://store-multisitedirector.intel.com*")) {return "PROXY proxy-us.intel.com:911";}
if (isInNet(dnsResolve(host), "204.253.143.0", "255.255.255.0") || isInNet(dnsResolve(host), "72.46.236.0", "255.255.255.0")|| isInNet(dnsResolve(host), "72.46.237.0", "255.255.255.0")) {return "PROXY proxy-us.intel.com:911";}
if (dnsDomainIs(host,".intel.com") && ((url.substring(0, 4) == "ftp:") || (url.substring(0, 6) == "https:") || (url.substring(0, 7) == "gopher:"))) {return "DIRECT";}
if (shExpMatch(host,"*.intel.*") && shExpMatch(url, "ftp:*.intel.*")) {return "DIRECT";}
if (dnsDomainIs(host,".intel.com") && !shExpMatch(url, "http*intel.com:80/*") && !shExpMatch(url, "http*intel.com/*") && !shExpMatch(url, "http*intel.com.*") && !shExpMatch(url, "http*intel.com")) {return "DIRECT";}
if (isInNet(dnsResolve(host), "198.175.111.0", "255.255.255.0") || isInNet(dnsResolve(host), "143.182.177.0", "255.255.255.0")) {return "PROXY proxy-us.intel.com:911";}
if (isInNet(dnsResolve(host),"192.198.152.0","255.255.255.0")) {return "PROXY proxy01.iil.intel.com:911;PROXY proxy02.iil.intel.com:911";}
if (isInNet(dnsResolve(host),"203.177.76.240","255.255.255.240")) {return "PROXY proxy1.icv.intel.com:911;PROXY proxy2.icv.intel.com:911";}
if (isInNet(dnsResolve(host),"192.198.151.96","255.255.255.240")) {return "PROXY proxy01.ir.intel.com:911;PROXY proxy02.ir.intel.com:911";}
if (isInNet(dnsResolve(host), "10.0.0.0", "255.0.0.0") || isInNet(dnsResolve(host), "128.215.0.0", "255.255.0.0") || isInNet(dnsResolve(host), "132.233.0.0", "255.255.0.0") || isInNet(dnsResolve(host), "134.134.0.0", "255.255.0.0")) {return "DIRECT";}
if (isInNet(dnsResolve(host), "134.191.0.0", "255.255.0.0") || isInNet(dnsResolve(host), "137.102.0.0", "255.255.0.0") || isInNet(dnsResolve(host), "140.248.0.0", "255.255.0.0") || isInNet(dnsResolve(host), "143.181.0.0", "255.255.0.0")) {return "DIRECT";}
if (isInNet(dnsResolve(host), "143.182.0.0", "255.255.0.0") || isInNet(dnsResolve(host), "143.183.0.0", "255.255.0.0") || isInNet(dnsResolve(host), "143.184.0.0", "255.255.0.0") || isInNet(dnsResolve(host), "143.185.0.0", "255.255.0.0") || isInNet(dnsResolve(host), "146.152.0.0", "255.255.0.0") || isInNet(dnsResolve(host), "163.33.0.0", "255.255.0.0")) {return "DIRECT";}
if (isInNet(dnsResolve(host), "172.16.0.0", "255.255.0.0") || isInNet(dnsResolve(host), "172.17.0.0", "255.255.0.0") || isInNet(dnsResolve(host), "172.18.0.0", "255.255.0.0") || isInNet(dnsResolve(host), "172.19.0.0", "255.255.0.0") || isInNet(dnsResolve(host), "172.20.0.0", "255.255.0.0") || isInNet(dnsResolve(host), "172.21.0.0", "255.255.0.0") || isInNet(dnsResolve(host), "172.22.0.0", "255.255.0.0") || isInNet(dnsResolve(host), "172.23.0.0", "255.255.0.0") || isInNet(dnsResolve(host), "172.24.0.0", "255.255.0.0") || isInNet(dnsResolve(host), "172.25.0.0", "255.255.0.0") || isInNet(dnsResolve(host), "172.26.0.0", "255.255.0.0") || isInNet(dnsResolve(host), "172.27.0.0", "255.255.0.0") || isInNet(dnsResolve(host), "172.28.0.0", "255.255.0.0") || isInNet(dnsResolve(host), "172.29.0.0", "255.255.0.0") || isInNet(dnsResolve(host), "172.30.0.0", "255.255.0.0") || isInNet(dnsResolve(host), "172.31.0.0", "255.255.0.0") || isInNet(dnsResolve(host), "198.175.96.0", "255.255.255.0") || isInNet(dnsResolve(host), "198.175.97.0", "255.255.255.0") || isInNet(dnsResolve(host), "198.175.98.0", "255.255.255.0") || isInNet(dnsResolve(host), "198.175.99.0", "255.255.255.0") || isInNet(dnsResolve(host), "198.175.100.0", "255.255.255.0") || isInNet(dnsResolve(host), "198.175.101.0", "255.255.255.0") || isInNet(dnsResolve(host), "198.175.102.0", "255.255.255.0") || isInNet(dnsResolve(host), "198.175.103.0", "255.255.255.0") || isInNet(dnsResolve(host), "198.175.104.0", "255.255.255.0") || isInNet(dnsResolve(host), "198.175.105.0", "255.255.255.0") || isInNet(dnsResolve(host), "198.175.106.0", "255.255.255.0") || isInNet(dnsResolve(host), "198.175.107.0", "255.255.255.0") || isInNet(dnsResolve(host), "198.175.108.0", "255.255.255.0") || isInNet(dnsResolve(host), "198.175.109.0", "255.255.255.0") || isInNet(dnsResolve(host), "198.175.110.0", "255.255.255.0") || isInNet(dnsResolve(host), "198.175.111.0", "255.255.255.0")) {return "DIRECT";}
if (isInNet(dnsResolve(host), "192.102.184.0", "255.255.255.0") || isInNet(dnsResolve(host), "192.102.185.0", "255.255.255.0") || isInNet(dnsResolve(host), "192.102.186.0", "255.255.255.0") || isInNet(dnsResolve(host), "192.102.187.0", "255.255.255.0") || isInNet(dnsResolve(host), "192.102.192.0", "255.255.255.0") || isInNet(dnsResolve(host), "192.102.193.0", "255.255.255.0") || isInNet(dnsResolve(host), "192.102.194.0", "255.255.255.0") || isInNet(dnsResolve(host), "192.102.195.0", "255.255.255.0") || isInNet(dnsResolve(host), "192.102.196.0", "255.255.255.0") || isInNet(dnsResolve(host), "192.102.197.0", "255.255.255.0") || isInNet(dnsResolve(host), "192.102.198.0", "255.255.255.0") || isInNet(dnsResolve(host), "192.102.199.0", "255.255.255.0") || isInNet(dnsResolve(host), "192.102.204.0", "255.255.255.0") || isInNet(dnsResolve(host), "192.102.205.0", "255.255.255.0") || isInNet(dnsResolve(host), "192.102.206.0", "255.255.255.0") || isInNet(dnsResolve(host), "192.102.207.0", "255.255.255.0")) {return "DIRECT";}
if (isInNet(dnsResolve(host), "192.102.208.0", "255.255.255.0") || isInNet(dnsResolve(host), "192.102.209.0", "255.255.255.0") || isInNet(dnsResolve(host), "192.102.210.0", "255.255.255.0") || isInNet(dnsResolve(host), "192.102.211.0", "255.255.255.0") || isInNet(dnsResolve(host), "192.132.4.0", "255.255.255.0") || isInNet(dnsResolve(host), "192.168.0.0", "255.255.0.0") || isInNet(dnsResolve(host), "192.198.128.0", "255.255.255.0") || isInNet(dnsResolve(host), "192.198.129.0", "255.255.255.0") || isInNet(dnsResolve(host), "192.198.130.0", "255.255.255.0") || isInNet(dnsResolve(host), "192.198.131.0", "255.255.255.0") || isInNet(dnsResolve(host), "192.198.132.0", "255.255.255.0") || isInNet(dnsResolve(host), "192.198.133.0", "255.255.255.0") || isInNet(dnsResolve(host), "192.198.134.0", "255.255.255.0") || isInNet(dnsResolve(host), "192.198.135.0", "255.255.255.0") || isInNet(dnsResolve(host), "192.198.136.0", "255.255.255.0") || isInNet(dnsResolve(host), "192.198.137.0", "255.255.255.0") || isInNet(dnsResolve(host), "192.198.138.0", "255.255.255.0") || isInNet(dnsResolve(host), "192.198.139.0", "255.255.255.0") || isInNet(dnsResolve(host), "192.198.140.0", "255.255.255.0") || isInNet(dnsResolve(host), "192.198.141.0", "255.255.255.0") || isInNet(dnsResolve(host), "192.198.142.0", "255.255.255.0") || isInNet(dnsResolve(host), "192.198.143.0", "255.255.255.0") || isInNet(dnsResolve(host), "192.198.144.0", "255.255.255.0") || isInNet(dnsResolve(host), "192.198.145.0", "255.255.255.0") || isInNet(dnsResolve(host), "192.198.146.0", "255.255.255.0") || isInNet(dnsResolve(host), "192.198.147.0", "255.255.255.0") || isInNet(dnsResolve(host), "192.198.148.0", "255.255.255.0") || isInNet(dnsResolve(host), "192.198.149.0", "255.255.255.0") || isInNet(dnsResolve(host), "192.198.150.0", "255.255.255.0") || isInNet(dnsResolve(host), "192.198.151.0", "255.255.255.0") || isInNet(dnsResolve(host), "192.198.152.0", "255.255.255.0") || isInNet(dnsResolve(host), "192.198.153.0", "255.255.255.0") || isInNet(dnsResolve(host), "192.198.154.0", "255.255.255.0") || isInNet(dnsResolve(host), "192.198.155.0", "255.255.255.0") || isInNet(dnsResolve(host), "192.198.156.0", "255.255.255.0") || isInNet(dnsResolve(host), "192.198.157.0", "255.255.255.0") || isInNet(dnsResolve(host), "192.198.158.0", "255.255.255.0") || isInNet(dnsResolve(host), "192.198.159.0", "255.255.255.0")) {return "DIRECT";}
if (isInNet(dnsResolve(host), "192.198.160.0", "255.255.255.0") || isInNet(dnsResolve(host), "192.198.161.0", "255.255.255.0") || isInNet(dnsResolve(host), "192.198.162.0", "255.255.255.0") || isInNet(dnsResolve(host), "192.198.163.0", "255.255.255.0") || isInNet(dnsResolve(host), "192.198.164.0", "255.255.255.0") || isInNet(dnsResolve(host), "192.198.165.0", "255.255.255.0") || isInNet(dnsResolve(host), "192.198.166.0", "255.255.255.0") || isInNet(dnsResolve(host), "192.198.167.0", "255.255.255.0") || isInNet(dnsResolve(host), "192.198.168.0", "255.255.255.0") || isInNet(dnsResolve(host), "192.198.169.0", "255.255.255.0") || isInNet(dnsResolve(host), "192.198.170.0", "255.255.255.0") || isInNet(dnsResolve(host), "192.198.171.0", "255.255.255.0") || isInNet(dnsResolve(host), "192.198.172.0", "255.255.255.0") || isInNet(dnsResolve(host), "192.198.173.0", "255.255.255.0") || isInNet(dnsResolve(host), "192.198.174.0", "255.255.255.0") || isInNet(dnsResolve(host), "192.198.175.0", "255.255.255.0") || isInNet(dnsResolve(host), "192.198.176.0", "255.255.255.0") || isInNet(dnsResolve(host), "192.198.177.0", "255.255.255.0") || isInNet(dnsResolve(host), "192.52.51.0", "255.255.255.0")) {return "DIRECT";}
if (isInNet(dnsResolve(host), "192.52.54.0", "255.255.255.0") || isInNet(dnsResolve(host), "192.52.55.0", "255.255.255.0") || isInNet(dnsResolve(host), "192.52.56.0", "255.255.255.0") || isInNet(dnsResolve(host), "192.52.57.0", "255.255.255.0") || isInNet(dnsResolve(host), "192.52.58.0", "255.255.255.0") || isInNet(dnsResolve(host), "192.52.59.0", "255.255.255.0") || isInNet(dnsResolve(host), "192.52.60.0", "255.255.255.0") || isInNet(dnsResolve(host), "192.55.32.0", "255.255.255.0") || isInNet(dnsResolve(host), "192.55.33.0", "255.255.255.0") || isInNet(dnsResolve(host), "192.55.34.0", "255.255.255.0") || isInNet(dnsResolve(host), "192.55.35.0", "255.255.255.0") || isInNet(dnsResolve(host), "192.55.36.0", "255.255.255.0") || isInNet(dnsResolve(host), "192.55.37.0", "255.255.255.0") || isInNet(dnsResolve(host), "192.55.38.0", "255.255.255.0") || isInNet(dnsResolve(host), "192.55.39.0", "255.255.255.0") || isInNet(dnsResolve(host), "192.55.40.0", "255.255.255.0") || isInNet(dnsResolve(host), "192.55.41.0", "255.255.255.0") || isInNet(dnsResolve(host), "192.55.42.0", "255.255.255.0") || isInNet(dnsResolve(host), "192.55.43.0", "255.255.255.0") || isInNet(dnsResolve(host), "192.55.44.0", "255.255.255.0") || isInNet(dnsResolve(host), "192.55.45.0", "255.255.255.0") || isInNet(dnsResolve(host), "192.55.46.0", "255.255.255.0") || isInNet(dnsResolve(host), "192.55.47.0", "255.255.255.0") || isInNet(dnsResolve(host), "192.55.52.0", "255.255.255.0") || isInNet(dnsResolve(host), "192.55.53.0", "255.255.255.0") || isInNet(dnsResolve(host), "192.55.54.0", "255.255.255.0") || isInNet(dnsResolve(host), "192.55.55.0", "255.255.255.0") || isInNet(dnsResolve(host), "192.55.56.0", "255.255.255.0") || isInNet(dnsResolve(host), "192.55.57.0", "255.255.255.0") || isInNet(dnsResolve(host), "192.55.58.0", "255.255.255.0") || isInNet(dnsResolve(host), "192.55.59.0", "255.255.255.0") || isInNet(dnsResolve(host), "192.55.60.0", "255.255.255.0") || isInNet(dnsResolve(host), "192.55.61.0", "255.255.255.0") || isInNet(dnsResolve(host), "192.55.62.0", "255.255.255.0") || isInNet(dnsResolve(host), "192.55.63.0", "255.255.255.0")) {return "DIRECT";}
if (isInNet(dnsResolve(host), "192.55.64.0", "255.255.255.0") || isInNet(dnsResolve(host), "192.55.65.0", "255.255.255.0") || isInNet(dnsResolve(host), "192.55.66.0", "255.255.255.0") || isInNet(dnsResolve(host), "192.55.67.0", "255.255.255.0") || isInNet(dnsResolve(host), "192.55.68.0", "255.255.255.0") || isInNet(dnsResolve(host), "192.55.69.0", "255.255.255.0") || isInNet(dnsResolve(host), "192.55.70.0", "255.255.255.0") || isInNet(dnsResolve(host), "192.55.71.0", "255.255.255.0") || isInNet(dnsResolve(host), "192.55.72.0", "255.255.255.0") || isInNet(dnsResolve(host), "192.55.73.0", "255.255.255.0") || isInNet(dnsResolve(host), "192.55.74.0", "255.255.255.0") || isInNet(dnsResolve(host), "192.55.75.0", "255.255.255.0") || isInNet(dnsResolve(host), "192.55.76.0", "255.255.255.0") || isInNet(dnsResolve(host), "192.55.77.0", "255.255.255.0") || isInNet(dnsResolve(host), "192.55.78.0", "255.255.255.0") || isInNet(dnsResolve(host), "192.55.79.0", "255.255.255.0") || isInNet(dnsResolve(host), "192.55.80.0", "255.255.255.0") || isInNet(dnsResolve(host), "192.55.81.0", "255.255.255.0") || isInNet(dnsResolve(host), "192.55.82.0", "255.255.255.0") || isInNet(dnsResolve(host), "192.55.83.0", "255.255.255.0") || isInNet(dnsResolve(host), "192.82.151.0", "255.255.255.0") || isInNet(dnsResolve(host), "194.234.12.0", "255.255.255.0") || isInNet(dnsResolve(host), "194.234.13.0", "255.255.255.0") || isInNet(dnsResolve(host), "194.234.14.0", "255.255.255.0") || isInNet(dnsResolve(host), "194.234.15.0", "255.255.255.0")) {return "DIRECT";}
if (isInNet(dnsResolve(host), "194.234.16.0", "255.255.255.0") || isInNet(dnsResolve(host), "194.234.17.0", "255.255.255.0") || isInNet(dnsResolve(host), "198.175.116.0", "255.255.255.0") || isInNet(dnsResolve(host), "198.175.117.0", "255.255.255.0") || isInNet(dnsResolve(host), "198.175.118.0", "255.255.255.0") || isInNet(dnsResolve(host), "198.175.119.0", "255.255.255.0") || isInNet(dnsResolve(host), "198.175.120.0", "255.255.255.0") || isInNet(dnsResolve(host), "198.175.121.0", "255.255.255.0") || isInNet(dnsResolve(host), "198.175.122.0", "255.255.255.0") || isInNet(dnsResolve(host), "198.175.123.0", "255.255.255.0") || isInNet(dnsResolve(host), "198.175.64.0", "255.255.255.0") || isInNet(dnsResolve(host), "198.175.65.0", "255.255.255.0") || isInNet(dnsResolve(host), "198.175.66.0", "255.255.255.0") || isInNet(dnsResolve(host), "198.175.67.0", "255.255.255.0") || isInNet(dnsResolve(host), "198.175.68.0", "255.255.255.0") || isInNet(dnsResolve(host), "198.175.69.0", "255.255.255.0") || isInNet(dnsResolve(host), "198.175.70.0", "255.255.255.0") || isInNet(dnsResolve(host), "198.175.71.0", "255.255.255.0") || isInNet(dnsResolve(host), "198.175.73.0", "255.255.255.0") || isInNet(dnsResolve(host), "198.175.74.0", "255.255.255.0") || isInNet(dnsResolve(host), "198.175.75.0", "255.255.255.0") || isInNet(dnsResolve(host), "198.175.76.0", "255.255.255.0") || isInNet(dnsResolve(host), "198.175.77.0", "255.255.255.0") || isInNet(dnsResolve(host), "198.175.78.0", "255.255.255.0") || isInNet(dnsResolve(host), "198.175.79.0", "255.255.255.0") || isInNet(dnsResolve(host), "198.175.80.0", "255.255.255.0") || isInNet(dnsResolve(host), "198.175.81.0", "255.255.255.0") || isInNet(dnsResolve(host), "198.175.82.0", "255.255.255.0") || isInNet(dnsResolve(host), "198.175.83.0", "255.255.255.0") || isInNet(dnsResolve(host), "198.175.84.0", "255.255.255.0") || isInNet(dnsResolve(host), "198.175.85.0", "255.255.255.0") || isInNet(dnsResolve(host), "198.175.86.0", "255.255.255.0") || isInNet(dnsResolve(host), "198.175.87.0", "255.255.255.0") || isInNet(dnsResolve(host), "198.175.88.0", "255.255.255.0") || isInNet(dnsResolve(host), "198.175.89.0", "255.255.255.0") || isInNet(dnsResolve(host), "198.175.90.0", "255.255.255.0") || isInNet(dnsResolve(host), "198.175.91.0", "255.255.255.0") || isInNet(dnsResolve(host), "198.175.92.0", "255.255.255.0") || isInNet(dnsResolve(host), "198.175.93.0", "255.255.255.0") || isInNet(dnsResolve(host), "198.175.94.0", "255.255.255.0") || isInNet(dnsResolve(host), "198.175.95.0", "255.255.255.0")) {return "DIRECT";}
if (isInNet(dnsResolve(host), "198.93.84.0", "255.255.255.0") || isInNet(dnsResolve(host), "198.93.85.0", "255.255.255.0") || isInNet(dnsResolve(host), "198.93.86.0", "255.255.255.0") || isInNet(dnsResolve(host), "198.93.87.0", "255.255.255.0") || isInNet(dnsResolve(host), "204.30.136.0", "255.255.255.0") || isInNet(dnsResolve(host), "204.30.137.0", "255.255.255.0") || isInNet(dnsResolve(host), "204.30.138.0", "255.255.255.0") || isInNet(dnsResolve(host), "204.30.139.0", "255.255.255.0") || isInNet(dnsResolve(host), "209.162.77.128", "255.255.255.192")) {return "DIRECT";}
if (isInNet(dnsResolve(host), "156.153.216.0", "255.255.255.0") || isInNet(dnsResolve(host), "156.153.217.0", "255.255.255.0") || isInNet(dnsResolve(host), "156.153.218.0", "255.255.255.0") || isInNet(dnsResolve(host), "156.153.219.0", "255.255.255.0") || isInNet(dnsResolve(host), "156.153.220.0", "255.255.255.0") || isInNet(dnsResolve(host), "156.153.221.0", "255.255.255.0") || isInNet(dnsResolve(host), "156.153.222.0", "255.255.255.0") || isInNet(dnsResolve(host), "156.153.223.0", "255.255.255.0") || isInNet(dnsResolve(host), "156.153.224.0", "255.255.255.0") || isInNet(dnsResolve(host), "156.153.225.0", "255.255.255.0") || isInNet(dnsResolve(host), "156.153.226.0", "255.255.255.0") || isInNet(dnsResolve(host), "156.153.227.0", "255.255.255.0") || isInNet(dnsResolve(host), "156.153.228.0", "255.255.255.0") || isInNet(dnsResolve(host), "156.153.229.0", "255.255.255.0") || isInNet(dnsResolve(host), "156.153.230.0", "255.255.255.0") || isInNet(dnsResolve(host), "156.153.231.0", "255.255.255.0")) {return "DIRECT";}
return "PROXY proxy-us.intel.com:911";
}
Damn - pasted the wrong
Damn - pasted the wrong stuff in. :(
Can you please edit my post above and remove the PAC info when you get a change?
TIA
Me Too
I too am having an issue with PAC files. I have Firefox 3.1b2 on WinXP, my PAC URL is http://autoproxy.[redacted].com, and the PAC file loads correctly if I don't have that proxy in use at startup. For example, I have three proxies set up in my list:
1. No proxy (uses direct, includes URL for PAC file)
2. Home (uses a proxy server I have at home via SSH tunnel, includes URLs I don't want monitored from work)
3. Default (automatic, uses PAC file)
If I set foxyProxy to use 1 or 2, firefox launches normally and I can then change my setting to pre-defined patterns or 3 and all's well. If I set foxyProxy to pre-defined pattern or 3, then it takes firefox approximately five minutes to launch, after which time FP says that it failed to load the PAC. If I then change 3 from "direct" (why does FP change it to direct if the PAC fails to load, anyway?) back to automatic configuration, it immediately loads the PAC and everything works fine.
So I try to remember to change to 1 or 2 before I shut down firefox, then change back after I launch it again. It's as though FP is trying to load the PAC through a proxy (even though I have rule 1 set to no proxy for the PAC).