Firefox 中有一个附加的 FoxyProxy,它可以使用许多具有过滤 URL 的代理。我需要它用于任何浏览器,但在许多浏览器中只能设置一个代理服务器。我需要一个透明的本地代理,它可以过滤 URL 并将流量转发到其他代理。我听说过Squid,但没有找到有关它的信息。可以在 Linux 中设置它(以及如何设置)?
答案1
大多数支持 Javascript 的浏览器也支持 Netscape 风格代理自动配置 (PAC) 文件(我不知道本世纪发布的支持 JavaScript 的浏览器不支持)。 PAC 文件包含 JavaScript 代码,执行该代码以确定每个请求使用哪个代理(如果有)。
function FindProxyForURL(url, host) {
if (shExpMatch(host, "*.example.com")) {
return "DIRECT";
} else if (shExpMatch(host, "somewhere.else")) {
return "PROXY someproxy:8080";
} else {
return "PROXY default-proxy.example.com:3128";
}
}
要对不支持 Javascript 的浏览器和其他应用程序进行单一设置,您需要一个支持每个 URL 父代理的代理。
乌贼是一种可能性,它是一个专为高负载而设计的缓存代理,具有许多功能。看Squid 根据请求的 URL 选择父级?有关如何设置每个 URL 父代理的示例。
沃夫勒是另一种可能性。该代理强烈倾向于拥有离线缓存,并且缓存比 HTTP 标准允许的更积极,这是某些站点的问题。可以使用通配符模式为每个 URL 指定父代理(默认配置文件包含注释掉的示例)。
答案2
这里的答案是将您的单个值设置为您自己的代理服务器,以便所有流量都到达它。这可以是系统范围的设置。
至于设置你自己的代理服务器,是的,是squid
我所知道的最好的选择,是的,它可以在 Linux 机器上设置和运行。它最好在网关/路由器计算机上运行,但您也可以在个人计算机上运行它以供本地使用。有很多指南可用于指导如何配置它。它们涵盖了广泛的可能用途,您应该专门搜索您想要完成的任何类型的配置。