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 Details

    • connHostName

      protected String connHostName
    • connPort

      protected int connPort
    • addressType

      protected int addressType
    • _context

      protected final I2PAppContext _context
    • clientSock

      protected final Socket clientSock
    • props

      protected final Properties props
    • _log

      protected final Log _log
  • Constructor Details

  • Method Details

    • getMappedDomainNameForIP

      protected String getMappedDomainNameForIP(String ip)
      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

      protected abstract void setupServer() throws SOCKSException
      Perform server initialization (expecially regarding protected variables).
      Throws:
      SOCKSException
    • getClientSocket

      public abstract Socket getClientSocket() throws SOCKSException
      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

      protected abstract void confirmConnection() throws SOCKSException
      Confirm to the client that the connection has succeeded
      Throws:
      SOCKSException
    • getDestinationI2PSocket

      public abstract I2PSocket getDestinationI2PSocket(I2PSOCKSTunnel t) throws SOCKSException
      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

      protected Outproxy getOutproxyPlugin()
      Returns:
      null if disabled or not installed
      Since:
      0.9.27