Skip to content
Performant Content Modifying Non-Caching Proxy [stable - accepting patches for bug fixes only]
Python HTML Shell
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.
etc fix status code Feb 12, 2016
lib/exaproxy fix splitting of intercept header Nov 21, 2016
sbin fix sillyness Sep 18, 2016
service fix Sep 16, 2016
.pylintrc add scrutinizer Jan 11, 2015
.scrutinizer.yml add scrutinizer Jan 11, 2015
CHANGELOG do not hold data in memory any longer than we need to Sep 30, 2014
COPYRIGHT make sure the licence always displays the current year as last year Jan 7, 2013
ROADMAP udpate roadmap Jul 7, 2013 fix Sep 16, 2016


ExaProxy is a a high-performance non-caching proxy. It is able to filter HTTP traffic using your favorite programming language.

It is part of Exa Networks' SurfProtect solution.

Exaproxy is used in production since early 2013, and proxies millions of URL per day, one installation sees Gb/s of HTTP traffic, with hundreds of Mb/s per server, and several tens of thousands of connections per machine, but this does not mean our work is finished. We continue to improve it.


August 21st 2014, released ExaProxy 1.2.1


  • Non-caching HTTP/HTTPS (with CONNECT) Proxy
  • forward, reverse or transparent proxy
  • IPv6 and/or IPv4 support (can act as a 4to6 or 6to4 gateway)
  • High Performance
  • Working with the "upcoming" web services
    • support for unknown HTTP versions
    • websocket and TLS support (Upgrade header support)
  • Traffic interception
  • Support for HAProxy proxy protocol
  • Built-in web servers to monitor the proxy via local webpage ( default )
    • dynamic configuration change
    • running information in json format (/json)


Start ExaProxy on your local machine and point your browser to port 8000

More Information

Keep up to date, follow twitter or the google community

ExaProxy was born out by necessity. No other open source proxy has the same features RFC compliance

This presentation explains why other solutions were not suitable.

Development is done on python 2.7. This program has no dependencies on third party libraries and will run out of the box on any Unix system.

Tested with Co-Advisor. We are failing HTTP/1.0 conversion requirement and responses modifications (which we do not support as we assume that both the client and server are valid HTTP/1.1 implementation).

Get it

> wget
> tar xzvf 1.2.1
> cd exaproxy-1.2.1
> ./sbin/exaproxy

will give you a working proxy on port 3128

> ./sbin/exaproxy -h

will give you a definition of all the configuration options

> env exaproxy.tcp4.port=8088./sbin/exaproxy -de



> export exaproxy_tcp4_port=8088
> ./sbin/exaproxy -de


To change from the command line and see what options were changed from their default configuration values in the configuration file.

You can’t perform that action at this time.