2

Is it possible to configure something (in one place) that directs all http and https traffic through a specific proxy.

At work we need to go through a proxy to get to the outside world. That proxy address needs to configured into a lot of applications. Here is some of the places:

  • System Settings (Which should be system wide, but only applies to browsers)
  • Spotify
  • IntelliJ
  • Maven
  • /etc/environment

At home there is no proxy and I would like to easily disable proxy. It is a lot of work changing the configuration of all the applications each time you change location.

Can you intercept traffic and redirect it through a local proxy which then can be configured to forward to the proxy or just go directly to the requested address?

2
  • 2
    If you use System Settings and apply system-wide, changes are made to /etc/environment. It's up to the rest of the apps to honour http_proxy and https_proxy, etc. Most standard Ubuntu programs do. If Spottify or Maven doesn't, it's on them. That said, you could always run squid yourself, so the programs are always using your localhost proxy, and squid configuration handles whether a real proxy is being used or not. That's what I used to do.
    – muru
    Feb 9, 2016 at 21:01
  • @muru Could you provide an answer on how to configure squid :)
    – AnAmuser
    Feb 10, 2016 at 7:50

1 Answer 1

1

You can setup this

vi /etc/environment

append these lines

http_proxy=http://myproxy.server.com:8080/
https_proxy=http://myproxy.server.com:8080/
ftp_proxy=http://myproxy.server.com:8080/
no_proxy="localhost,127.0.0.1,localaddress,.localdomain.com"
HTTP_PROXY=http://myproxy.server.com:8080/
HTTPS_PROXY=http://myproxy.server.com:8080/
FTP_PROXY=http://myproxy.server.com:8080/
NO_PROXY="localhost,127.0.0.1,localaddress,.localdomain.com"

and after that

source /etc/environment

and for installation of packages etc...via apt-get Create a file called 95proxies in /etc/apt/apt.conf.d/, and include the following:

Acquire::http::proxy "http://myproxy.server.com:8080/";
Acquire::ftp::proxy "ftp://myproxy.server.com:8080/";
Acquire::https::proxy "https://myproxy.server.com:8080/";
3
  • 1
    I did this but still need to configure each individual application.
    – AnAmuser
    Feb 9, 2016 at 20:39
  • You don't have to. These are system wide settings. You can specify even JAVA_HOME in /etc/environment. Once you specify JAVA_HOME in that and follow the steps that i mentioned. Maven, Gradle and everybody start considering JAVA_HOME mentioned out there.
    – Ashu
    Feb 9, 2016 at 20:46
  • I've encountered instances where Maven still ignored the http_proxy in /etc/environment. Maven was only able to fetch after I added ~/.m2/settings.xml.
    – wisbucky
    Sep 25, 2018 at 23:02

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .