在Firefox中逐个标签地禁用/启用代理


23

是否可以在Firefox中逐选项地禁用/启用代理连接?

我可以在启用代理的情况下访问Internet,也可以在禁用代理的情况下访问内部服务器,但是两种配置都不允许。

我感觉Firefox 4的每个选项卡配置文件可能允许这样做,但我想知道是否有办法通过使用扩展在Firefox 3.6.13上实现此目的。

对于我正在做的那一刻quickProxy(不QuickProxy它同时试图找到quickProxy我刚刚发现),这让我打开和关闭代理整个浏览器,但我们更希望一些更精致。


6
到目前为止,答案似乎很la脚。据我所知,foxyproxy(每个人都建议这样做)并不是按选项卡操作的。到目前为止,在这三个答案中,我还没有看到他们是否回答过每个选项卡的问题,我怀疑他们没有回答。如果您可以在不同的选项卡中运行不同的配置文件,并且为每个配置文件配置不同的代理,则可能是解决方案的途径。如果您无法完全获得所需的功能,则可以使用foxyproxy作为替代方法,但这不是您的问题所要求的(除非它执行了可能不会执行的其他选项卡)。
barlop 2011年

firefox附加组件“ MM3-ProxySwitch”不是一个选项卡式的解决方案,它为您提供了一个图标,只需单击即可在直接/代理之间切换。代理关闭时,该图标变为灰色,以可视方式通知您当前状态。该配置文件有点神秘,但与上面的切换操作一样短:“ [直接] [Privoxy http = myrouterip:8118 ssl = myrouterip:8118 noProxy = localhost,127.0.0.1]”
yoyoma2

Answers:


4

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;
}

请注意,上面的示例效率很低,因为通常会在myproxy.company.com上为每个单个HTTP连接进行DNS查找。我在启动时通过外部程序进行了硬编码AT_HOMEAT_WORK在.pac文件中。但这是一个示例,说明您可以根据需要制作PAC脚本。


-1

为什么需要按选项卡使用代理?您的开发环境是否将google.com重新路由到局域网或其他设备?

自动将代理用于外部站点(http://superuser.com),而不用于内部站点(http://uri.to/internal/server)是否足够?如果是这样,那么我想说一下Joe关于PAC功能的帖子。

网络配置屏幕中的“ No proxy for:”框(至少在FF4中就是这样,我这里没有安装FF3)是一种无需创建PAC文件即可执行某些操作的方法。您可以使用类似方法忽略它的http : //www.local.org,http: //www2.local.org和127.0.0.1 代理。.local.org, 127.0.0.1


这是一种情况。如果您的域的DNS使用设置的地理规则配置,则您将需要按选项卡的基础代理来测试每个区域,以查看是否返回了适当的DNS结果。
James Wong-恢复莫妮卡2014年

Asker表示,他需要使用代理访问外部站点,而无需使用代理访问内部站点。为此,不需要按选项卡使用代理。“无代理服务器:”设置正是用于此目的。(例如,我localhost, 10.0/8不使用任何代理来访问localhost10.*.*.*
aff


-3

看看FoxyProxy。它具有多个配置选项。不太确定是否允许配置每个选项卡,但是绝对可以为不同的地址配置不同的代理设置。这样,您可以为内部服务器设置一个代理(可能是一些网络掩码,例如192.168.0.0/24),为Internet设置另一个代理。


-3

自一个月以来,我一直在使用FoxyProxy作为Firefox的附加组件,对此选项我感到非常满意。使用此附加组件,您可以配置多个代理。然后将URL添加为您要使用的代理的白名单。如果有更多匹配的URL,请使用通配符。

例如对于您有Proxy1和Proxy2,您希望所有Microsoft URL都通过Proxy1,而所有其他URL都使用Proxy2。

这是您需要做的:

编辑默认代理,并提供Proxy2 IP和端口。不要添加任何URL模式创建一个代理作为Proxy1并提供Proxy1的IP和端口。在URL模式中,将“ * .microsoft.com *”(不带引号)添加为白名单。然后将FoxyProxy设置为“根据其预定义的模式和优先级使用代理”

希望这可以帮助。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.