Proxy-auto-discovery for command line applications (pac4cli)
On many corporate networks, applications need proxy-auto-discovery to know whether a certain URL is accessed either directly or through a web proxy. Browsers can typically handle this, but many command line applications (git, npm, apt, curl) rely on environment variable to hard-code a proxy regardless of the destination URL.
This little daemon enables these applications for auto-discovery by:
- setting the
http_proxyvariable (and friends) to http://localhost:3128
- providing a simple proxy at that port that does proxy-auto-discovery and connects accordingly.
Python library dependencies from PyPI can be installed through:
sudo pip3 install -r requirements.txt
The latest builds are available through a PPA:
sudo add-apt-repository ppa:tkluck/pac4cli sudo apt update sudo apt install pac4cli
You'll need to restart your shell for the new environment variables to take effect.
This will install
pac4cli for most of your command line tools. However, we
don't ship configuration for Apt. If you want to use
pac4cli for software
updates, you'll need to run the following:
sudo tee /etc/apt/apt.conf.d/99pac4cli <<CONFIG Acquire::http::proxy "http://localhost:3128/"; Acquire::https::proxy "http://localhost:3128/"; # The following are needed to work around limitations # in pac4cli's support of http features: Acquire::http::No-Cache true; Acquire::http::Pipeline-Depth 0; CONFIG
The reason why this is not included in the Ubuntu package is that if pac4cli ever breaks, we could not ship an update to unbreak it.
This package is available in AUR.
Other (Mac, other linuxes)
The dependencies can be installed through
pip3 install -r requirements.txt
python setup.py install is not sufficient. That will only install
the pac4cli module, but not the binary or the configuration files.