我最近被一家大公司聘用,我需要一个 VPN 来访问电子邮件和其他重要资源。当连接到 VPN 时,我需要大量的 HTTP 代理来访问各种 URL。在 Windows PC 上,这是使用 PAC 文件自动配置的,因此一切都按预期工作。在 Linux 上...
我可以使用这个 PAC 文件来使我的浏览器正常运行:
chromium --proxy-pac-url="http://proxy.corporation.com/proxy.pac"
但我系统的其余部分是 SOL,除非我手动指定 HTTP 代理,否则无法访问任何内容,例如:
http_proxy="http://foo.corporation.com" https_proxy="http://foo.corporation.com" slack
不用说这是非常不切实际的,当我连接或断开 VPN 时,我需要重新启动所有应用程序。
我能想象的唯一“干净”且实用的解决方案是运行本地代理服务器并永久设置所有代理环境变量以使用它。然后,我可以根据我连接的网络配置该代理服务器,而无需重新启动我的任何应用程序。
代理服务器需要支持 PAC 文件,或者至少可以配置到足以让我自己手动配置 PAC 文件中指定的规则(或通过脚本)。
是否存在这样的代理服务器?
是的,有pacproxy等项目。广泛使用的代理Shadowsocks也在内部使用 PAC。