Package net.i2p.i2ptunnel.socks
Class I2PSOCKSTunnel
- java.lang.Object
-
- net.i2p.util.EventDispatcherImpl
-
- net.i2p.i2ptunnel.I2PTunnelTask
-
- net.i2p.i2ptunnel.I2PTunnelClientBase
-
- net.i2p.i2ptunnel.socks.I2PSOCKSTunnel
-
- All Implemented Interfaces:
Runnable
,EventDispatcher
- Direct Known Subclasses:
I2PSOCKSIRCTunnel
public class I2PSOCKSTunnel extends I2PTunnelClientBase
-
-
Field Summary
Fields Modifier and Type Field Description static String
DEFAULT
protected static int
INITIAL_SO_TIMEOUT
This is a standard soTimeout, not a total timeout.static String
PROP_PROXY_DEFAULT
static String
PROP_PROXY_PREFIX
add "default" or port number-
Fields inherited from class net.i2p.i2ptunnel.I2PTunnelClientBase
_clientId, _context, _log, _ownDest, dest, l, listenerReady, mySockets, PROP_USE_SSL, sockLock, sockMgr, ss
-
Fields inherited from class net.i2p.i2ptunnel.I2PTunnelTask
open
-
-
Constructor Summary
Constructors Constructor Description 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.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description I2PSocketOptions
buildOptions(Properties overrides)
Because getDefaultOptions() in super() is protectedprotected void
clientConnectionRun(Socket s)
Manage a connection in a separate thread.List<String>
getDefaultProxies()
List<String>
getProxies(int port)
HashMap<String,List<String>>
getProxyMap()
-
Methods inherited from class net.i2p.i2ptunnel.I2PTunnelClientBase
addSubsession, buildSocketManager, buildSocketManager, buildSocketManager, buildSocketManager, close, closeSocket, createI2PSocket, createI2PSocket, createI2PSocket, destroy, getDefaultOptions, getDefaultOptions, getListenHost, getLocalPort, getSocketManager, getSocketManager, getSocketManager, killSharedClient, manageConnection, optionsUpdated, run, startRunning, verifySocketManager
-
Methods inherited from class net.i2p.i2ptunnel.I2PTunnelTask
connected, disconnected, errorOccurred, getId, getTunnel, isOpen, reportAbuse, routerDisconnected, setId, setName, setTunnel, toString
-
Methods inherited from class net.i2p.util.EventDispatcherImpl
attachEventDispatcher, detachEventDispatcher, getEventDispatcher, getEvents, getEventValue, ignoreEvents, notifyEvent, unIgnoreEvents, waitEventValue
-
-
-
-
Field Detail
-
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:
- Constant Field Values
-
PROP_PROXY_PREFIX
public static final String PROP_PROXY_PREFIX
add "default" or port number- See Also:
- Constant Field Values
-
DEFAULT
public static final String DEFAULT
- See Also:
- Constant Field Values
-
PROP_PROXY_DEFAULT
public static final String PROP_PROXY_DEFAULT
- See Also:
- Constant Field Values
-
-
Constructor Detail
-
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 Detail
-
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 classI2PTunnelClientBase
-
buildOptions
public I2PSocketOptions buildOptions(Properties overrides)
Because getDefaultOptions() in super() is protected- Since:
- 0.8.2
-
-