我不知道这样的工具是否存在,如果存在,它如何调用,但我正在寻找 HTTP 代理之上的抽象层。
目前我在几家公司担任顾问,所有公司都使用代理。如果每次我从一个公司转到另一个公司时都必须重新配置所有代理(有些使用系统代理,有些则不能),那真是配置地狱。
因此,我正在寻找一个工具,例如本地主机“代理守护程序”或它的名称,这样我只需配置所有工具以使用该本地主机 HTTP 代理,并且我只需配置该本地主机代理以使用正确的公司代理。这将节省大量时间,因为我只需配置一次。
如果该工具可以自动轮询所有代理服务器并根据可用的代理服务器选择正确的代理服务器,那就更好了。
我正在使用 Ubuntu,因此找到这样的工具可能更难。
所以我的问题是,有这样的工具吗?你如何称呼这样的工具?有什么建议吗?
答案1
你其实问的是两个问题。一个是关于代理,另一个是关于根据 IP 地址变化切换配置。
第一:热门squid 代理和缓存服务器可以配置为使用上游代理。cache_peer
选项可能是您所需要的。您可能还想调整内存和磁盘缓存值以避免本地缓存。您应该检查 ACL/ip 监听/防火墙规则,以确保只有您的笔记本电脑可以访问它。
第二种:您可以编写一个脚本来检查 IP 地址并根据需要在上述 squid 配置之间切换。您可以使用“ifupdown”包触发脚本启动。您可以在 Ubuntu 上的 /usr/share/doc/ifupdown 目录中阅读有关如何使用 ifupdown 的文档和示例。
答案2
我相信代理驱动程序做你想做的事。
或者,如果您仅从终端工作,则可以编写一个简单的 shell 脚本,该脚本以网络名称作为参数并适当地设置 http_proxy 环境变量:
#!/bin/bash
case $1 in
network1) export http_proxy=http://proxy.company1.com ;;
network2) export http_proxy=http://proxy.company2.com ;;
*) export http_proxy=
esac