Package net.i2p.i2ptunnel.socks
Class SOCKS5Server
java.lang.Object
net.i2p.i2ptunnel.socks.SOCKSServer
net.i2p.i2ptunnel.socks.SOCKS5Server
-
Field Summary
Fields inherited from class net.i2p.i2ptunnel.socks.SOCKSServer
_context, _log, addressType, clientSock, connHostName, connPort, props
-
Constructor Summary
ConstructorDescriptionSOCKS5Server
(I2PAppContext ctx, Socket clientSock, Properties props) Create a SOCKS5 server that communicates with the client using the specified socket. -
Method Summary
Modifier and TypeMethodDescriptionprotected void
Confirm to the client that the connection has succeededGet a socket that can be used to send/receive 8-bit clean data to/from the client.Get an I2PSocket that can be used to send/receive 8-bit clean data to/from the destination of the SOCKS connection.void
httpsConnect
(I2PSocket destSock, OutputStream pout, String connHostName, int connPort, String configUser, String configPW) Act as a https client to connect to a CONNECT outproxy.protected void
Perform server initialization (expecially regarding protected variables).Methods inherited from class net.i2p.i2ptunnel.socks.SOCKSServer
getMappedDomainNameForIP, getOutproxyPlugin
-
Constructor Details
-
SOCKS5Server
Create a SOCKS5 server that communicates with the client using the specified socket. This method should not be invoked directly: new SOCKS5Server objects should be created by using SOCKSServerFactory.createSOCSKServer(). It is assumed that the SOCKS VER field has been stripped from the input stream of the client socket.- Parameters:
clientSock
- client socketprops
- non-null
-
-
Method Details
-
getClientSocket
Description copied from class:SOCKSServer
Get a socket that can be used to send/receive 8-bit clean data to/from the client.- Specified by:
getClientSocket
in classSOCKSServer
- Returns:
- a Socket connected with the client
- Throws:
SOCKSException
-
setupServer
Description copied from class:SOCKSServer
Perform server initialization (expecially regarding protected variables).- Specified by:
setupServer
in classSOCKSServer
- Throws:
SOCKSException
-
confirmConnection
Description copied from class:SOCKSServer
Confirm to the client that the connection has succeeded- Specified by:
confirmConnection
in classSOCKSServer
- Throws:
SOCKSException
-
getDestinationI2PSocket
Get an I2PSocket that can be used to send/receive 8-bit clean data to/from the destination of the SOCKS connection.- Specified by:
getDestinationI2PSocket
in classSOCKSServer
- Returns:
- an I2PSocket connected with the destination
- Throws:
SOCKSException
-
httpsConnect
public void httpsConnect(I2PSocket destSock, OutputStream pout, String connHostName, int connPort, String configUser, String configPW) throws IOException Act as a https client to connect to a CONNECT outproxy. Caller must send success or error to local socks client. Caller must close destSock and pout.- Parameters:
destSock
- socket to the proxypout
- output stream to the proxyconnHostName
- hostname or IP for the proxy to connect toconnPort
- port for the proxy to connect toconfigUser
- username unsupportedconfigPW
- password unsupported- Throws:
IOException
- Since:
- 0.9.57
-