HTTPTunnel@JUMPERZ.NET creates a virtual TCP connection via HTTP proxy. It is very useful for users behind restrictive firewall that only allows HTTP communication. If you don't know much about HTTP-Tunneling, the following those sites will be helpful.
- Published as open source code
- Witten in pure Java for cross-platform portability and buffer overflow free
- Encryption of data using the Blowfish algorithm to prevent data sniffing and session hijacking
- Two or more simultaneous connection is supported
- Very quick response
Download those two files.
( Java class files and source codes )
( Configuration files )
HTTPTunnel@JUMPERZ.NET depends on Sun's JRE v1.4. The runtime environment must be installed. JRE is available at http://java.sun.com/.
After JRE has been installed, set CLASSPATH to the jumperz_net JAR file( jumperz_net*.jar ). If there is a previous version of jumperz_net JAR file, remove that.
Unzip httptunnel_conf.zip and read next section.
There are two programs named LEYE ( the full path name of the class is: net.jumperz.app.httptunnel.MLEYE.MLEYE ) and REYE( net.jumperz.app.httptunnel.MREYE.MREYE ). LEYE is the HTTP-Tunnel client running on your office PC, and REYE is the HTTP-Tunnel server running on your home PC.
See figure1 below.
Before running LEYE and REYE, you should modify each configuration files with your text editor.
Configuration file of LEYE 'leye.conf' looks like this:
'port' is the listening port of LEYE ( 2 in figure1 ). Client application ( 1 ) should connect to this port.
'httpProxyHost' is the hostname or IP address of the HTTP proxy server ( 3 ).
'httpProxyPort' is the port number of the HTTP proxy server ( 3 ).
'rEyeHost' is the hostname or IP address of the host that REYE is running on ( 4 ).
'rEyePort' is the port number of REYE ( 4 ).
'threadCount' is the count of working threads. This value should be more than or equal to 20.
'encryptData' is the flag that determines whether encrypt data or not. This value should be 'true' or 'false'.
'keyFileName' is the name of a key file which is needed for encryption. You can generate key file by typing 'java net.jumperz.app.httptunnel.MKeyGenerator FILENAME'. if 'encryptData' is true, you must provide this value and use same file on REYE.
If your HTTP proxy server requires user authentication, add those two parameters to leye.conf.
Note that only 'Basic' authentication is supported.
Configuration file of REYE 'reye.conf' looks like this:
'port' is the listening port of REYE ( 4 ). This value should be the same as 'rEyePort' in 'leye.conf'.
'targetHost' is the hostname or IP address of the target server ( 5 ) which you want to connect to.
'targetPort' is the port number of the target server ( 5 ).
Other three fields are the same as those of LEYE.
To run LEYE, type:
>java net.jumperz.app.httptunnel.MLEYE.MLEYE CONFIGURE_FILE_NAME
To run REYE, type:
>java net.jumperz.app.httptunnel.MREYE.MREYE CONFIGURE_FILE_NAME
HTTPTunnel@JUMPERZ.NET does not support any IP based authentication. You should use firewall software like ipchains, iptables, Zone Alarm, etc, in order to prevent being connected by a malicious person.