Désactiver / activer le proxy onglet par onglet dans Firefox

23

Est-il possible de désactiver / activer la connexion proxy onglet par onglet 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 le sentiment que les profils par onglet de Firefox 4 peuvent le permettre, mais je me demandais s'il y avait un moyen d'y parvenir sur Firefox 3.6.13, peut-être en utilisant une extension.

Pour le moment, je me contente de quickProxy (pas QuickProxy que je viens de découvrir en essayant de trouver quickProxy) qui me permet d'activer et de désactiver le proxy pour l'ensemble du navigateur, mais je préférerais quelque chose de plus fin.

Riches
la source
6
Jusqu'à présent, les réponses semblent plutôt boiteuses. À ma connaissance limitée, foxyproxy (que tout le monde suggère) ne fonctionne pas par onglet. Jusqu'à présent, sur les trois réponses, je n'ai vu aucun État répondre à la question par onglet, je pense que non. Une route vers une solution serait peut-être si vous pouvez exécuter différents profils dans différents onglets et que chaque profil est configuré pour un proxy différent. foxyproxy peut être correct comme alternative si vous ne pouvez pas obtenir exactement ce que vous voulez mais ce n'est pas ce que votre question demande (à moins qu'il ne fasse différents onglets, ce qu'il ne fait probablement pas).
barlop
Pas une solution onglet par onglet, mais le module complémentaire Firefox "MM3-ProxySwitch" vous donne une icône pour basculer entre direct / proxy en un seul clic. L'icône devient grise lorsque le proxy est désactivé pour vous informer visuellement de l'état actuel. Le fichier de configuration est un peu cryptique mais quelque chose d'aussi court que cela fait basculer ci-dessus "[Direct] [Privoxy http = myrouterip: 8118 ssl = myrouterip: 8118 noProxy = localhost, 127.0.0.1]"
yoyoma2

Réponses:

4

Un autre vote pour FoxyProxy mais je suggérerai d'utiliser la fonction PAC si votre configuration est complexe. J'ai deux serveurs proxy parmi lesquels choisir, mais lequel choisir devient parfois très délicat. Pour configurer FoxyProxy pour utiliser le PAC, allez dans l' Proxy Detailsonglet et sélectionnez Automatic Proxy Configuration URLet 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 se terminera généralement par une recherche DNS sur myproxy.company.com pour chaque connexion HTTP unique; J'ai codé en dur AT_HOMEet AT_WORKdans le fichier .pac via un programme externe au démarrage. Mais c'est un exemple de la complexité avec laquelle vous pouvez rendre votre script PAC, si vous en avez besoin.

Joe Casadonte
la source
-1

Pourquoi avez-vous besoin du proxy par onglet? Est-ce que votre environnement de développement redirige google.com vers une boîte LAN ou quelque chose?

Serait-il suffisant d'utiliser automatiquement le proxy pour les sites externes ( http://superuser.com ), et non pour les sites internes ( http://uri.to/internal/server )? Si c'est le cas, je dirais que vous pouvez consulter le post 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 dans FF4 au moins, 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 lui faire ignorer 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

KJP
la source
Voici un scénario. Si le DNS de votre domaine est configuré à l'aide de règles géographiques définies, vous aurez besoin d'un proxy par onglet pour tester chaque région pour voir si les résultats DNS appropriés sont renvoyés.
James Wong - Rétablir Monica
Asker a déclaré qu'il devait utiliser un proxy pour accéder aux sites externes et aucun proxy pour accéder aux sites internes. Un proxy par onglet n'est pas nécessaire pour cela. Le paramètre "Pas de proxy pour:" est exactement à cet effet. (À titre d'exemple, j'ai mis localhost, 10.0/8à utiliser aucun proxy pour accéder localhostet 10.*.*.*)
aff
-3

Jetez un œil à FoxyProxy . Il a plusieurs options de configuration. Je ne sais pas trop si cela permet la configuration par onglet, mais peut certainement configurer différents paramètres de proxy pour différentes adresses. De cette façon, vous pouvez configurer un proxy pour les serveurs internes (probablement un masque de réseau comme 192.168.0.0/24) et un autre pour Internet.

GrzegorzOledzki
la source
-3

J'utilise FoxyProxy depuis un mois comme add-on pour Firefox et je suis très satisfait de ses options. Avec ce module complémentaire, vous pouvez configurer plusieurs proxys; puis ajoutez les URL en tant que liste blanche pour le proxy que vous souhaitez qu'il utilise. Utilisez des caractères génériques lorsqu'il y a plus d'URL correspondantes.

Par exemple, vous avez Proxy1 et Proxy2, vous voulez que toutes les URL Microsoft passent par Proxy1 et toutes les autres utilisent Proxy2.

Voici ce que tu dois faire:

Modifiez le proxy par défaut et indiquez l'IP et le port du proxy2. N'ajoutez aucun modèle d'URL Créez un proxy en tant que Proxy1 et donnez l'IP et le port Proxy1. Dans le modèle d'URL, ajoutez "* .microsoft.com *" (sans guillemets) en tant que liste blanche. Ensuite, définissez FoxyProxy sur "Utiliser des proxys en fonction de leurs modèles et priorités prédéfinis"

J'espère que cela t'aides.

TheMaskOfZero
la source