Skip to main content

HTTP Negotiate (SPNEGO) proxy authentication support for applications.

Project description

# Proxy-Negotiate

HTTP Negotiate (SPNEGO) proxy authentication support for applications. This
allows applications that do not support HTTP proxies or do not support HTTP
proxies with Negotiate authentication to allow them to safely traverse
corporate firewalls without whitelisting IP addresses or MAC addresses and
rather relying on secure user authentication. This tool is not intended to
bypass firewall or proxy restrictions, in fact this tool was designed for better
corporate security and centralized control.

## Installation

Install the easy way through PyPi:

pip install proxy-negotiate

Or alternatively download and build yourself:

```
git clone https://github.com/cour4g3/proxy-negotiate
cd proxy-negotiate
python setup.py install
```

## Usage

### nc-negotiate

A netcat-like implementation for use with programs such as SSH; now by simply
using ProxyCommand, SSH can safely traverse the proxy through an HTTP CONNECT
TCP tunnel.

nc-negotiate host port [proxy_host] [proxy_port]

Example of usage with openSSH:

```
Host myexternalhost.com:
ProxyCommand nc-negotiate %h %p
```

## Todo

- Better parsing of the `http_proxy` and other proxy environment variables.
- Implement a fake proxy to modify requests from applications that do not
support HTTP Negotiate proxy authentication and pass it to the real proxy with
the correct authentication header.

## License

Licensed under the MIT License.

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-Negotiate-0.1.0.tar.gz (3.7 kB view hashes)

Uploaded Source

Built Distribution

Proxy-Negotiate-0.1.0.linux-x86_64.tar.gz (7.2 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