com.sshtools.j2ssh.net
Class SocksProxySocket

java.lang.Object
  extended by java.net.Socket
      extended by com.sshtools.j2ssh.net.SocksProxySocket
All Implemented Interfaces:
TransportProvider

public class SocksProxySocket
extends java.net.Socket
implements TransportProvider

Version:
$Revision: 1.1 $
Author:
$author$

Field Summary
private static int CONNECT
           
private static int NULL_TERMINATION
           
private  java.lang.String providerDetail
           
private  java.lang.String proxyHost
           
private  int proxyPort
           
private  java.lang.String remoteHost
           
private  int remotePort
           
static int SOCKS4
           
static int SOCKS5
           
private static java.lang.String[] SOCKSV4_ERROR
           
private static java.lang.String[] SOCKSV5_ERROR
           
 
Constructor Summary
private SocksProxySocket(java.lang.String remoteHost, int remotePort, java.lang.String proxyHost, int proxyPort)
           
 
Method Summary
static SocksProxySocket connectViaSocks4Proxy(java.lang.String remoteHost, int remotePort, java.lang.String proxyHost, int proxyPort, java.lang.String userId)
           
static SocksProxySocket connectViaSocks5Proxy(java.lang.String remoteHost, int remotePort, java.lang.String proxyHost, int proxyPort, boolean localLookup, java.lang.String username, java.lang.String password)
           
static SocksProxySocket connectViaSocks5Proxy(java.lang.String remoteHost, int remotePort, java.lang.String proxyHost, int proxyPort, java.lang.String username, java.lang.String password)
           
 java.lang.String getProviderDetail()
           
private static void performAuthentication(java.io.InputStream proxyIn, java.io.OutputStream proxyOut, java.lang.String username, java.lang.String password, java.lang.String proxyHost, int proxyPort)
           
 java.lang.String toString()
           
 
Methods inherited from class java.net.Socket
bind, close, connect, connect, getChannel, getInetAddress, getInputStream, getKeepAlive, getLocalAddress, getLocalPort, getLocalSocketAddress, getOOBInline, getOutputStream, getPort, getReceiveBufferSize, getRemoteSocketAddress, getReuseAddress, getSendBufferSize, getSoLinger, getSoTimeout, getTcpNoDelay, getTrafficClass, isBound, isClosed, isConnected, isInputShutdown, isOutputShutdown, sendUrgentData, setKeepAlive, setOOBInline, setPerformancePreferences, setReceiveBufferSize, setReuseAddress, setSendBufferSize, setSocketImplFactory, setSoLinger, setSoTimeout, setTcpNoDelay, setTrafficClass, shutdownInput, shutdownOutput
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface com.sshtools.j2ssh.net.TransportProvider
close, getInputStream, getOutputStream
 

Field Detail

SOCKS4

public static final int SOCKS4
See Also:
Constant Field Values

SOCKS5

public static final int SOCKS5
See Also:
Constant Field Values

CONNECT

private static final int CONNECT
See Also:
Constant Field Values

NULL_TERMINATION

private static final int NULL_TERMINATION
See Also:
Constant Field Values

SOCKSV5_ERROR

private static final java.lang.String[] SOCKSV5_ERROR

SOCKSV4_ERROR

private static final java.lang.String[] SOCKSV4_ERROR

proxyHost

private java.lang.String proxyHost

proxyPort

private int proxyPort

remoteHost

private java.lang.String remoteHost

remotePort

private int remotePort

providerDetail

private java.lang.String providerDetail
Constructor Detail

SocksProxySocket

private SocksProxySocket(java.lang.String remoteHost,
                         int remotePort,
                         java.lang.String proxyHost,
                         int proxyPort)
                  throws java.io.IOException,
                         java.net.UnknownHostException
Throws:
java.io.IOException
java.net.UnknownHostException
Method Detail

connectViaSocks4Proxy

public static SocksProxySocket connectViaSocks4Proxy(java.lang.String remoteHost,
                                                     int remotePort,
                                                     java.lang.String proxyHost,
                                                     int proxyPort,
                                                     java.lang.String userId)
                                              throws java.io.IOException,
                                                     java.net.UnknownHostException
Parameters:
remoteHost -
remotePort -
proxyHost -
proxyPort -
userId -
Returns:
Throws:
java.io.IOException
java.net.UnknownHostException
java.net.SocketException

connectViaSocks5Proxy

public static SocksProxySocket connectViaSocks5Proxy(java.lang.String remoteHost,
                                                     int remotePort,
                                                     java.lang.String proxyHost,
                                                     int proxyPort,
                                                     boolean localLookup,
                                                     java.lang.String username,
                                                     java.lang.String password)
                                              throws java.io.IOException,
                                                     java.net.UnknownHostException
Parameters:
remoteHost -
remotePort -
proxyHost -
proxyPort -
localLookup -
username -
password -
Returns:
Throws:
java.io.IOException
java.net.UnknownHostException
java.net.SocketException

getProviderDetail

public java.lang.String getProviderDetail()
Specified by:
getProviderDetail in interface TransportProvider
Returns:

performAuthentication

private static void performAuthentication(java.io.InputStream proxyIn,
                                          java.io.OutputStream proxyOut,
                                          java.lang.String username,
                                          java.lang.String password,
                                          java.lang.String proxyHost,
                                          int proxyPort)
                                   throws java.io.IOException
Throws:
java.io.IOException

toString

public java.lang.String toString()
Overrides:
toString in class java.net.Socket
Returns:

connectViaSocks5Proxy

public static SocksProxySocket connectViaSocks5Proxy(java.lang.String remoteHost,
                                                     int remotePort,
                                                     java.lang.String proxyHost,
                                                     int proxyPort,
                                                     java.lang.String username,
                                                     java.lang.String password)
                                              throws java.io.IOException,
                                                     java.net.UnknownHostException
Parameters:
remoteHost -
remotePort -
proxyHost -
proxyPort -
username -
password -
Returns:
Throws:
java.io.IOException
java.net.UnknownHostException