โหวตอีกครั้งสำหรับFoxyProxyแต่ฉันจะแนะนำให้ใช้คุณสมบัติPACหากการตั้งค่าของคุณซับซ้อน ฉันมีพร็อกซีเซิร์ฟเวอร์สองตัวให้เลือก แต่บางตัวที่เลือกได้ยากมากบางครั้ง เพื่อที่จะติดตั้ง FoxyProxy จะใช้ PAC ไปที่Proxy Details
แท็บและเลือกและป้อนสิ่งที่ต้องการAutomatic Proxy Configuration URL
file:///home/me/.myproxy.pac
นี่คือตัวอย่างของไฟล์ PAC:
function FindProxyForURL(url, host)
{
var DIRECT = "DIRECT";
var PROXY = "PROXY myproxy.company.com:80";
var LOCAL = "PROXY localhost:8118";
var rc = "";
// alert("My IP Address is: " + myIpAddress());
// special: DIRECT / localhost
if (dnsResolve(host) == "127.0.0.1") {
rc = DIRECT;
}
// special: DIRECT / plain name (no domain name (i.e. no dots)) (e.g. http://foobar)
// (must be local to where I'm at)
else if (isPlainHostName(host)) {
rc = DIRECT;
}
else {
// special: LOCAL / not at home & restricted hosts
if ((dnsDomainIs(host, "frank.home.com")) ||
(dnsDomainIs(host, "firewall.home.com")) ||
(dnsDomainIs(host, "backupserver.home.com"))) {
// determine if we're at home or not; home can resolve the laser printer
var AT_HOME = (isResolvable("myprinter.home.com") ? true : false);
if (! AT_HOME) {
rc = LOCAL;
}
else {
rc = DIRECT;
}
}
// general: DIRECT / not at work
else {
// determine if we're at work or not; work can resolve proxy server
var AT_WORK = (isResolvable("myproxy.company.com") ? true : false);
if (! AT_WORK) {
rc = DIRECT;
}
// ASSUMED: AT_WORK
// special: LOCAL / at work & broken work links
// (must use local proxy server to connect)
else if ((host == "download.company.com") ||
(host == "search.company.com") ||
(host == "www.company.com")) {
rc = LOCAL;
}
// general: DIRECT / at work & work intranet links
else if ((dnsDomainIs(host, ".company.com")) ||
(dnsDomainIs(host, ".companylocal.com")) ||
(dnsDomainIs(host, ".legacycompany.com"))) {
rc = DIRECT;
}
// general: DIRECT / at work & 192.168.*
else if (isInNet(host, "192.168.0.0", "255.255.0.0")) {
rc = DIRECT;
}
// default: go through LOCAL
else {
rc = LOCAL;
}
}
}
// alert("Proxy for {" + host + "} is: " + rc);
return rc;
}
โปรดทราบว่าตัวอย่างข้างต้นไม่มีประสิทธิภาพพอสมควรเนื่องจากโดยปกติแล้วจะเป็นการสิ้นสุดด้วยการค้นหา DNS บน myproxy.company.com สำหรับการเชื่อมต่อ HTTP ทุกครั้ง ฉันรหัสยากAT_HOME
และAT_WORK
ในไฟล์. pac ผ่านโปรแกรมภายนอกในเวลาบูต แต่มันเป็นตัวอย่างของความซับซ้อนที่คุณสามารถสร้างสคริปต์ PAC ของคุณได้ถ้าคุณต้องการ