Class SOCKS5Server

java.lang.Object
net.i2p.i2ptunnel.socks.SOCKSServer
net.i2p.i2ptunnel.socks.SOCKS5Server

class SOCKS5Server extends SOCKSServer
  • Constructor Details

    • SOCKS5Server

      public SOCKS5Server(I2PAppContext ctx, Socket clientSock, Properties props)
      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 socket
      props - non-null
  • Method Details

    • getClientSocket

      public Socket getClientSocket() throws SOCKSException
      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 class SOCKSServer
      Returns:
      a Socket connected with the client
      Throws:
      SOCKSException
    • setupServer

      protected void setupServer() throws SOCKSException
      Description copied from class: SOCKSServer
      Perform server initialization (expecially regarding protected variables).
      Specified by:
      setupServer in class SOCKSServer
      Throws:
      SOCKSException
    • confirmConnection

      protected void confirmConnection() throws SOCKSException
      Description copied from class: SOCKSServer
      Confirm to the client that the connection has succeeded
      Specified by:
      confirmConnection in class SOCKSServer
      Throws:
      SOCKSException
    • getDestinationI2PSocket

      public 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.
      Specified by:
      getDestinationI2PSocket in class SOCKSServer
      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 proxy
      pout - output stream to the proxy
      connHostName - hostname or IP for the proxy to connect to
      connPort - port for the proxy to connect to
      configUser - username unsupported
      configPW - password unsupported
      Throws:
      IOException
      Since:
      0.9.57