是否可以在Firefox中逐选项地禁用/启用代理连接?
我可以在启用代理的情况下访问Internet,也可以在禁用代理的情况下访问内部服务器,但是两种配置都不允许。
我感觉Firefox 4的每个选项卡配置文件可能允许这样做,但我想知道是否有办法通过使用扩展在Firefox 3.6.13上实现此目的。
对于我正在做的那一刻quickProxy(不QuickProxy它同时试图找到quickProxy我刚刚发现),这让我打开和关闭代理整个浏览器,但我们更希望一些更精致。
是否可以在Firefox中逐选项地禁用/启用代理连接?
我可以在启用代理的情况下访问Internet,也可以在禁用代理的情况下访问内部服务器,但是两种配置都不允许。
我感觉Firefox 4的每个选项卡配置文件可能允许这样做,但我想知道是否有办法通过使用扩展在Firefox 3.6.13上实现此目的。
对于我正在做的那一刻quickProxy(不QuickProxy它同时试图找到quickProxy我刚刚发现),这让我打开和关闭代理整个浏览器,但我们更希望一些更精致。
Answers:
对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_HOME
并AT_WORK
在.pac文件中。但这是一个示例,说明您可以根据需要制作PAC脚本。
为什么需要按选项卡使用代理?您的开发环境是否将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
localhost, 10.0/8
不使用任何代理来访问localhost
和10.*.*.*
)
对于任何正在寻找方法的人...试试SwitchyOmega一个firefox扩展
https://addons.mozilla.org/zh-CN/firefox/addon/switchyomega/
看看FoxyProxy。它具有多个配置选项。不太确定是否允许配置每个选项卡,但是绝对可以为不同的地址配置不同的代理设置。这样,您可以为内部服务器设置一个代理(可能是一些网络掩码,例如192.168.0.0/24),为Internet设置另一个代理。
自一个月以来,我一直在使用FoxyProxy作为Firefox的附加组件,对此选项我感到非常满意。使用此附加组件,您可以配置多个代理。然后将URL添加为您要使用的代理的白名单。如果有更多匹配的URL,请使用通配符。
例如对于您有Proxy1和Proxy2,您希望所有Microsoft URL都通过Proxy1,而所有其他URL都使用Proxy2。
这是您需要做的:
编辑默认代理,并提供Proxy2 IP和端口。不要添加任何URL模式创建一个代理作为Proxy1并提供Proxy1的IP和端口。在URL模式中,将“ * .microsoft.com *”(不带引号)添加为白名单。然后将FoxyProxy设置为“根据其预定义的模式和优先级使用代理”
希望这可以帮助。