web-dev-qa-db-fra.com

Désactiver / activer le proxy sur un onglet par tabulation de TAB dans Firefox

Est-il possible de désactiver/activer la connexion proxy sur une base d'onglets par tabulation dans Firefox?

Je peux accéder à Internet avec le proxy activé et je peux accéder à nos serveurs internes avec le proxy désactivé, mais aucune configuration ne permet l'autre.

J'ai l'impression que les profils de tabulation de Firefox 4 peuvent le permettre, mais se demandaient s'il y avait un moyen de y parvenir à Firefox 3.6.13, peut-être à travers l'utilisation d'une extension.

Pour le moment je fais faire avec QuickProxy (pas QuickProxy que je viens de découvrir tout en essayant de trouver QuickProxy) qui me permet de changer le proxy sur et éteindre Tout le navigateur, mais préférerait quelque chose de plus grainé.

25
Rich

Un autre vote pour - FoxyProxy mais je vais suggérer d'utiliser la fonctionnalité [~ # ~ # ~ # ~] si votre configuration est complexe. J'ai deux serveurs de proxy à choisir, mais lequel choisir de choisir devient parfois très délicatement. Afin de configurer FoxyProxy pour utiliser le PAC, allez à la Proxy Details onglet et sélectionnez Automatic Proxy Configuration URL et entrez quelque chose comme file:///home/me/.myproxy.pac. Voici un exemple de fichier 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;
}

Notez que l'exemple ci-dessus est assez inefficace car il sera généralement liquidé avec une recherche DNS sur myProxy.company.com pour chaque connexion HTTP; I Hard-Code AT_HOME et AT_WORK Dans le fichier .pac via un programme externe au démarrage. Mais c'est un exemple de la complication de votre script PAC, si vous en avez besoin.

4
Joe Casadonte

J'ai récemment découvert cette extension Firefox qui pourrait fonctionner pour vous:

https://addons.mozilla.org/en-us/firefox/addon/container-proxy/

cela semble vous permettre de configurer un proxy par conteneur et vous pouvez certainement joindre un ou plusieurs onglets au conteneur au besoin.

1
Louis Mamakos

Pourquoi avez-vous besoin du proxy sur une base par tabulation? Votre environnement device-est-il sur Google.com à une boîte de Lan ou quelque chose?

Serait-il suffisamment bon pour utiliser automatiquement le proxy pour les sites externes ( http://superuser.com ) et non pour les sites internes ( http://uri.to/internal/ serveur )? Si oui, je dirais que je vais regarder dans la publication de Joe sur la fonctionnalité PAC.

La case "Pas de proxy pour:" dans l'écran de configuration du réseau (c'est ce qu'on appelle au moins FF4, je n'ai pas FF3 installé ici) est un moyen de faire certaines des mêmes choses sans créer de fichier PAC. Vous pouvez l'avoir ignoré votre proxy pour http://www.local.org , http://www2.local.org et 127.0.0.1 en utilisant quelque chose comme .local.org, 127.0.0.1

0
KJP