Package net.i2p.i2ptunnel.socks
Class SOCKSServer
java.lang.Object
net.i2p.i2ptunnel.socks.SOCKSServer
- Direct Known Subclasses:
SOCKS4aServer,SOCKS5Server
abstract class SOCKSServer extends Object
Abstract base class used by all SOCKS servers.
- Author:
- human
-
Field Summary
Fields Modifier and Type Field Description protected I2PAppContext_contextprotected Log_logprotected intaddressTypeprotected SocketclientSockprotected StringconnHostNameprotected intconnPortprotected Propertiesprops -
Constructor Summary
Constructors Modifier Constructor Description protectedSOCKSServer(I2PAppContext ctx, Socket clientSock, Properties props) -
Method Summary
Modifier and Type Method Description protected abstract voidconfirmConnection()Confirm to the client that the connection has succeededabstract SocketgetClientSocket()Get a socket that can be used to send/receive 8-bit clean data to/from the client.abstract I2PSocketgetDestinationI2PSocket(I2PSOCKSTunnel t)Get an I2PSocket that can be used to send/receive 8-bit clean data to/from the destination of the SOCKS connection.protected StringgetMappedDomainNameForIP(String ip)IP to domain name mapping support.protected OutproxygetOutproxyPlugin()protected abstract voidsetupServer()Perform server initialization (expecially regarding protected variables).
-
Field Details
-
connHostName
-
connPort
protected int connPort -
addressType
protected int addressType -
_context
-
clientSock
-
props
-
_log
-
-
Constructor Details
-
SOCKSServer
- Since:
- 0.9.27
-
-
Method Details
-
getMappedDomainNameForIP
IP to domain name mapping support. This matches the given IP string against a user-set list of mappings. This enables applications which do not properly support the SOCKS5 DOMAINNAME feature to be used with I2P.- Parameters:
ip- The IP address to check.- Returns:
- The domain name if a mapping is found, or null otherwise.
- Since:
- 0.9.5
-
setupServer
Perform server initialization (expecially regarding protected variables).- Throws:
SOCKSException
-
getClientSocket
Get a socket that can be used to send/receive 8-bit clean data to/from the client.- Returns:
- a Socket connected with the client
- Throws:
SOCKSException
-
confirmConnection
Confirm to the client that the connection has succeeded- 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.- Returns:
- an I2PSocket connected with the destination
- Throws:
SOCKSException
-
getOutproxyPlugin
- Returns:
- null if disabled or not installed
- Since:
- 0.9.27
-