Skip to main content

A command-line tool to run programs seamlessly behind a proxy.

Project description

PyPi Version Build Status Coverage report Documentation Requirements Status

A command-line tool to run programs seamlessly behind a proxy.


Many corporate networks use proxies both for network protection and to cache often-used content. This command-line tool allows you to run programs behind a corporate proxy without the need to constantly set/unset proxy environment variables. It sets the environment variables only when needed and unsets them whenever the program finished its execution. Currently, proxy-toggle only supports Basic Access Authentication as the authentication scheme to the proxy.

Deployment Requirements

In order to use this module you need to have access to a compatible version of the GnuPG executable. On a Linux platform, this will typically be installed via your distribution’s package manager (e.g. apt-get on Debian/Ubuntu). Windows binaries are available here - use one of the gnupg-w32cli-1.4.x.exe installers for the simplest deployment options.


To use proxy-toggle:

$ pip install proxy-toggle

Head over to pip-installer for instructions on installing pip.

To run from source, you can download the source code for proxy-toggle, and then run:

$ python install


Before you can start using proxy-toggle, you must initialize the application:

$ px --init

This will prompt for your proxy settings: proxy server URL and user account/password. A secure keyring (to encrypt the password) will be generated. This might take a while.

You can test your proxy settings with following command:

$ px --test

After successful initialization, run:

$ px <program>

If your proxy doesn’t require user authentication, run it with --nouser option:

$ px --nouser <program>

When you want to renew your proxy password, run it with --renew option:

$ px --renew

You can clear your proxy settings with --clear option:

$ px --clear


$ px git clone

$ px --nouser wget


We love contributions. If you’ve found a bug in the tool or would like new features added, go ahead and open issues or pull requests against this repo. Write a test to show your bug was fixed or the feature works as expected.


Original open source release


Unstable release


First stable release


  • Add new positional command-line arguments: ‘–version’, ‘–test’

  • Add full support for python 3.x

  • Set ‘all_proxy’ environment variable as understood by curl


  • Add missing dependency (six) to setuptools script

  • Subprocess inherits parent’s ‘PATH’ environment variable

  • Add new positional command-line argument: ‘–clear’


  • Bugfix: no error reported when ‘px –test’ fails


  • Fix #1: Raise SystemExit with error message when RuntimeError occurs as it doesn’t have errno attribute


  • Bugfix: fix argument name passed to gnupg constructor

Project details

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

proxy-toggle-1.0.7.tar.gz (25.4 kB view hashes)

Uploaded Source

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page