Еще один голос за 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-скрипт, если вам нужно.