Extensible Proxy

Contact

Email :
wappsec

Documentation

API documentation : javadoc (if you've already visited javacdoc pages, you'll probably have to reload them in order to get the latest release.)

Usage

EXProxy library can be use as follow in order to start a HTTP/HTTPS proxy on port 8000 and IP 127.0.0.1 :

InetAddress nif = InetAddress.getLocalHost();
EXProxy exproxy = new EXProxy(nif, 8000, 50, "keystore", "spass".toCharArray(), "kpass".toCharArray());
exproxy.start();

To receive message and/or responses, just implements a HttpMessageListener and register it using the following method:

exproxy.addResponseListener(new MyMessageListener());

"keystore" is a file you have generated using keytool. For HTTPS connection, EXProxy will return a self signed certicate for the main key of this keystore. "spass" and "kpass" are passwords you gave during your key initialization phasis. keytool command can be use as follow :

keytool -genkey -validity 3650 -keystore "keystore" -storepass "spass" -keypass "kpass" -alias "default" -dname "CN=MyName, OU=MyOrgUnit, O=MyOrg, L=MyCity, S=MyRegion, C=MyCountry"

EXProxy server library can help building those kind of applications :

  • Web application security analysis
  • URL blacklisting
  • Caching
  • Internet usage monitoring
  • ...