Class I2PSOCKSTunnel

All Implemented Interfaces:
Runnable, EventDispatcher
Direct Known Subclasses:
I2PSOCKSIRCTunnel

public class I2PSOCKSTunnel extends I2PTunnelClientBase
  • Field Details

    • INITIAL_SO_TIMEOUT

      protected static final int INITIAL_SO_TIMEOUT
      This is a standard soTimeout, not a total timeout. We have no slowloris protection on the client side. See I2PTunnelHTTPServer or SAM's ReadLine if we need that.
      Since:
      0.9.33
      See Also:
    • AUTH_REALM

      public static final String AUTH_REALM
      Since:
      0.9.57 for storing passwords
      See Also:
    • PROP_OUTPROXY_TYPE

      public static final String PROP_OUTPROXY_TYPE
      Since:
      0.9.57
      See Also:
    • PROP_PROXY_PREFIX

      public static final String PROP_PROXY_PREFIX
      add "default" or port number
      See Also:
    • DEFAULT

      public static final String DEFAULT
      See Also:
    • PROP_PROXY_DEFAULT

      public static final String PROP_PROXY_DEFAULT
      See Also:
  • Constructor Details

    • I2PSOCKSTunnel

      public I2PSOCKSTunnel(int localPort, Logging l, boolean ownDest, EventDispatcher notifyThis, I2PTunnel tunnel, String pkf)
      As of 0.9.20 this is fast, and does NOT connect the manager to the router, or open the local socket. You MUST call startRunning() for that.
      Parameters:
      pkf - private key file name or null for transient key
  • Method Details

    • clientConnectionRun

      protected void clientConnectionRun(Socket s)
      Description copied from class: I2PTunnelClientBase
      Manage a connection in a separate thread. This only works if you do not override manageConnection(). This is run in a thread from an unlimited-size thread pool, so it may block or run indefinitely.
      Specified by:
      clientConnectionRun in class I2PTunnelClientBase
    • optionsUpdated

      public void optionsUpdated(I2PTunnel tunnel)
      Update the outproxy list then call super.
      Overrides:
      optionsUpdated in class I2PTunnelClientBase
      Since:
      0.9.57
    • getProxyMap

      public HashMap<String,List<String>> getProxyMap()
    • getProxies

      public List<String> getProxies(int port)
    • getDefaultProxies

      public List<String> getDefaultProxies()
    • buildOptions

      public I2PSocketOptions buildOptions(Properties overrides)
      Because getDefaultOptions() in super() is protected
      Since:
      0.8.2