在工作时启用代理设置,在家时禁用代理设置?

在工作时启用代理设置,在家时禁用代理设置?

在工作中,我在许多文件/应用程序上设置了代理。

/apt/apt/apt.conf已经Acquire::http::Proxy "http://myproxy.example.com:8888"设定了。

/etc/wgetrc有:

https_proxy = myproxy.example.com:8888
http_proxy = myproxy.example.com:8888
ftp_proxy = myproxy.example.com:8888
use_proxy = on

/etc/environment有:

http_proxy="http://myproxy.example.com:8888"
https_proxy="https://myproxy.example.com:8888"

并且在我的network and proxy settings系统中HTTP,也设置了、、代理Secure HTTPFTP

正如您所看到的,我几乎在所有地方都设置了代理!

但是当我在家时,这一切都变得很烦人,因为我必须进入每个文件并注释掉代理设置。您是否知道一个应用程序/脚本可以快速禁用所有这些文件中的代理设置,然后快速重新启用所有设置?

此外,我是否需要在所有这些文件中都包含这些代理设置,我可以减少它们吗?

答案1

如果您在图形运行级别中运行,则使用默认的 Ubuntu 网络管理器应该可以为所有内容设置代理设置。在大学时,我曾经在 Gnome 的网络管理器中设置代理,然后会为终端会话设置代理设置(作为示例)。现在甚至可能能够设置“位置”(但我不使用 Ubuntu,所以我可以肯定地说)。

Debian 还可以使用 下的脚本指定不同的位置(以及设置)/etc/networking/。请参阅这里尽管文档指出旧的ifupifplugd脚本已被弃用。我认为这同样适用于 Ubuntu。

我相信在命令行上,只需设置http_proxy/https_proxy环境变量就足够了。wget将从那里读取代理信息,您不需要在文件中设置它wgetrc

答案2

我遇到了类似的情况,不仅需要我打开和关闭代理设置,而且有时还需要在另一个位置使用不同的代理。

我所做的是在我的计算机上安装 squid(任何其他能够使用父代理的代理都可以),然后将我的所有应用程序指向我自己计算机上的这个本地代理。

我保留了一个直接使用互联网的 squid 配置文件,以及一个让 squid 对我需要使用的每个代理使用父代理的配置。

看到好处了吗?当我移动到另一个位置时,我不必触碰任何程序的代理设置,只需更改一个文件(属于 squid 的文件),然后重新加载 squid。我将配置文件命名为易于识别的名称,切换过程如下:

cd /etc/squid
sudo cp squid.conf.work1 squid.conf
sudo service squid reload

对我来说,让 squid 使用直接网络的配置是“squid.conf.direct”。

希望这可以帮助 :)

相关内容