Proxpy Proxy and Debug Tool
Usage


Usage
Download
Project Info

Author
Peter Bennett


Get Proxpy at SourceForge.net. Fast, secure and Free Open Source software downloads
Peter Bennett's General Purpose Proxy and debug tool

This has been used in development environments, it works for proxying all types of TCP traffic. It can be used to bypass firewall restrictions, for logging messages for debug purposes, and to add SSL to a non SSL connection for debug or other purposes. It is fully multi threaded so it may be able to handle high volumes. It runs on unix or windows, wherever there is a java environment.

Usage:
java -jar proxy.jar xxxx.properties
java -jar proxy.jar xxxx.properties closeDown

If logging is turned on in the property file you may want to redirect the output to a file. Also you may want to put & on the end under unix so it runs in a separate process.

Parameter file:

      closedownport=25999 (available port #  used for shutting down the proxy)
      truststore=   (keystore - optional - only used for SSL)
      logging=      (true / false default = false, for logging all messages)
      inport1=      (required - assign a port number)
      inaddress1=   (optional - only if need to restrict to an ip address)
      inssl1=       (true / false default = false, specify true if ssl is used and logging of decrypted messages)
      inkeystore1=  (required if inssl1 is true)
      inkeypasswd1= (required if inkeystore1 provided)
      outport1=     (required - assign a port number)
      outaddress1=  (required - where to proxy to)
      outssl1=      (true / false default = false, specify true if ssl is used at destination)
      outkeystore1= (optional - only if 2-way cert needed for SSL)
      outkeypasswd1=(required if outkeystore1 provided)
          
The ones with '1' at the end can be repeated as many times as desired with numbers from 2 up.

SSL Options:

  1. If input and output are both ssl and logging is false you can use inssl1 and outssl1 both false. The ssl will proxy straight through. If logging is true in this case then encrypted messages would be logged. That is not useful.
  2. 2. If input and output are both ssl and logging is true you must use inssl1 and outssl1 both true. You must have a certificate and keystore for inkeystore, the originator will see that certificate. for 1 way SSL you do not need outkeystore. For 2way SSL you need outkeystore with a certificate. The server will see that certificate.
  3. 3. You can convert non SSL to SSL. If sender does not want to use SSL but receiver uses SSL leave inssl1 as false but specify outssl1 as true. You do not need a keystore unless the receiver uses 2 way SSL. In that case specify outkeystore and the receiver will see this certificate.
  4. 4. You can convert SSL to non SSL. If sender uses SSL but receiver does not, set inssl true and outssl false. You need inkeystore and sender will see this certificate. If two way SSL is used, we will not check The sender's certificate.
  5. 5. You can set up a SSL tunnel for non SSL users by using proxy on the sending machine and on the receiving machine with appropriate options and a keystore on the receiving machine.

Requirements

(1) One of the following:

  • Windows (Windows XP, 2000, 98, ME, etc.)
  • Linux
  • Macintosh
  • Solaris SPARC
  • Solaris x86
  • Any Machine that supports Java 6

(2) Java Runtime Environment version 6 or higher. This is a free download from www.java.com.