Skip to main content
Join the official 2020 Python Developers SurveyStart the survey!

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.

Files for proxy-toggle, version 1.0.7
Filename, size File type Python version Upload date Hashes
Filename, size proxy-toggle-1.0.7.tar.gz (25.4 kB) File type Source Python version None Upload date Hashes View

Supported by

Pingdom Pingdom Monitoring Google Google Object Storage and Download Analytics Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page