SSH Proxy (c) 2000 D-Bross
A full featured SOCKS 4&5 proxy written in Java
This article was contributed by Svetoslav Chekanov.
| Environment: | Java |
| License: | Free for non-commercial use. |
Overview
The SSH Proxy is full featured SOCKS 4&5 Proxy written in Java.
It supports both versions 4 and 5 of the Socks protocol including all SOCKS commands - CONNECT, BIND and UDP Association.
Additional feature that I have implemented in SSH Proxy is possibility to
make TCP connections through HTTP-SSL Tunnel.
SSH Proxy works in two modes:
- Normal mode - works as regular SOCKS 4&5 Proxy
- TCP via HTTP-S mode - Works as SOCKS Proxy but makes SOCKS TCP
connections via HTTP-SSL Tunnel Proxy.
The TCP through HTTP-S mode is very useful when user woks behind HTTP Proxy and has not any other acces to the
Internet. In this case the user can run SSH Proxy on his/her machine (or elsewhere in the LAN), and configure it to use TCP connections
through HTTP-SSL tunnels that are commonly supported by most HTTP proxies. This way he/she
will be able to use other internet applications, eg. IRC, FTP, e-mail, telnet and of course HTTP (web browsing).
Note that if SSH Proxy works behind a firewall in TCP over HTTP-S mode - the other SOCKS commands: BIND and UDP
association will not work.
SSH Proxy loads its configuration from file config.txt that should be in the same directory as SSH Proxy.
The config file looks like the following block of text:
# Copyright (c) 2000 D-Bross free@d-bross.com
# Not for commercial use
#-------------------------------
# All logical variables can be set
# with values: 1/0 or yes/no
#-------------------------------
#EnableLog=no
EnableLog=yes
#-------------------------------
SOCKSPort=8888
#-------------------------------
#UseSHttpProxy=yes
UseSHttpProxy=no
#SHttpProxyHost=192.168.1.254 - http proxy of your lan.
#SHttpProxyPort=8080 - the port on which http proxy listens.
SHttpProxyHost=<SHTTP Proxy Host/IP>
SHttpProxyPort=<SHTTP Proxy Port>
#-------------------------------
The variables UseSHttpProxy and EnableLog are logical. So you can specify their
values either by 1, 0, Yes or No.
Download
Download the project with full source code SSHProxy.zip (36 KB)
|