在Linux中管理多个代理

在Linux中管理多个代理

我出于不同的目的使用不同的代理。

  • 我使用 Shadowsocks 代理进行通用网络冲浪。
  • 为了访问银行网站,我禁用代理。
  • 为了访问一些与我的工作相关的网站,我应该使用 ssh 隧道代理。

因此,当我想使用不同的网站时,我总是打开一个网络代理设置 GUI,并在不同的袜子端口之间不断变化。

现在我想定义一些规则来使代理切换无缝。有什么简单的方法可以做到吗?

答案1

您可以编写proxy.pac(代理自动配置)文件/脚本并在浏览器中对其进行配置,以指示何时使用什么代理(如果有)。它看起来像:

function FindProxyForURL(url, host) {
    var socksProxy = "SOCKS ip.of.sock.proxy:port";
    var workProxy = "PROXY ip.of.work.proxy:port";
    var noProxy = "DIRECT";

    if (shExpMatch(host, "*.mybank.example.com")) return noProxy;
    if (shExpMatch(host, "*.work.example.net")) return workProxy;
    if (host == "other.work.example.net"") return workProxy;
    return socksProxy;
}

当然,输入代理的真实 IP 和端口,并使用正确的主机名。

您可以通过启动 Google Chrome 来指定该文件的路径--proxy-pac-url=file:///path/to/proxy.pac; Linux 上的 Chrome 不允许您直接在配置中输入此内容。

相关内容