Linux
許多代理的透明本地代理
在 Firefox 中是附加的 FoxyProxy,這使得使用過濾 URL 的許多代理成為可能。我需要它用於任何瀏覽器,但在其中許多瀏覽器中只能設置一個代理伺服器。我需要一個透明的本地代理,它可以過濾 URL 並將流量轉發到其他代理。我聽說過 Squid,但我還沒有找到有關它的資訊。可以在 Linux 中設置它(以及如何設置)?
大多數支持 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是一種可能性,它是一種專為高負載和許多功能而設計的記憶體代理。請參閱Squid 根據請求的 URL 選擇父級?有關如何設置每個 URL 父代理的範例。
Wwwoffle是另一種可能性。此代理強烈傾向於離線記憶體,並且記憶體比 HTTP 標準所允許的更積極,這對於某些站點來說是一個問題。可以使用萬用字元模式為每個 URL 指定父代理(預設配置文件包含註釋掉的範例)。