net.i2p.i2ptunnel
public class I2PTunnelHTTPClient extends I2PTunnelHTTPClientBase implements Runnable
$method http://$site[$port]/$path $protocolVersion or $method $path $protocolVersion\nHost: $site or $method http://i2p/$b64key/$path $protocolVersion or $method /$site/$path $protocolVersion or (deprecated) $method /eepproxy/$site/$path $protocolVersionNote that http://i2p/$b64key/... and /eepproxy/$site/... are not recommended in browsers or other user-visible applications, as relative links will not resolve correctly, cookies won't work, etc. If the $site resolves with the I2P naming service, then it is directed towards that eepsite, otherwise it is directed towards this client's outproxy (typically "squid.i2p"). Only HTTP is supported (no HTTPS, ftp, mailto, etc). Both GET and POST have been tested, though other $methods should work.
Modifier and Type | Field and Description |
---|---|
static String |
DEFAULT_JUMP_SERVERS |
static String |
PROP_DISABLE_HELPER |
static String |
PROP_JUMP_SERVERS |
static String |
PROP_REFERER
all default to false
|
static String |
PROP_USER_AGENT |
static String |
PROP_VIA |
__clientId, __requestId, _errorDir, _proxyList, DEFAULT_READ_TIMEOUT, PROP_AUTH, PROP_OUTPROXY_AUTH, PROP_OUTPROXY_PW, PROP_OUTPROXY_PW_PREFIX, PROP_OUTPROXY_USER, PROP_OUTPROXY_USER_PREFIX, PROP_PW, PROP_PW_PREFIX, PROP_USER
_clientId, _context, _executor, _log, _ownDest, DEFAULT_CONNECT_TIMEOUT, dest, l, mySockets, sockLock, sockMgr
open
Constructor and Description |
---|
I2PTunnelHTTPClient(int localPort,
Logging l,
boolean ownDest,
String wwwProxy,
EventDispatcher notifyThis,
I2PTunnel tunnel) |
I2PTunnelHTTPClient(int localPort,
Logging l,
I2PSocketManager sockMgr,
I2PTunnel tunnel,
EventDispatcher notifyThis,
long clientId) |
Modifier and Type | Method and Description |
---|---|
protected static String |
_(String key)
lang in routerconsole.lang property, else current locale
|
protected static String |
_(String key,
Object o)
{0}
|
protected static String |
_(String key,
Object o,
Object o2)
{0} and {1}
|
protected void |
clientConnectionRun(Socket s)
Manage a connection in a separate thread.
|
boolean |
close(boolean forced)
Overridden to close internal socket too.
|
protected I2PSocketOptions |
getDefaultOptions()
create the default options (using the default timeout, etc)
unused?
|
protected I2PSocketOptions |
getDefaultOptions(Properties overrides)
create the default options (using the default timeout, etc)
|
void |
startRunning()
Actually start working on incoming connections.
|
authorize, getPrefix, selectProxy
buildSocketManager, buildSocketManager, buildSocketManager, buildSocketManager, closeSocket, createI2PSocket, createI2PSocket, getListenHost, getLocalPort, getSocketManager, getSocketManager, getSocketManager, manageConnection, run, verifySocketManager
attachEventDispatcher, detachEventDispatcher, disconnected, errorOccurred, getEventDispatcher, getEvents, getEventValue, getId, getTunnel, ignoreEvents, isOpen, notifyEvent, reportAbuse, routerDisconnected, setId, setName, setTunnel, toString, unIgnoreEvents, waitEventValue
public static final String PROP_REFERER
public static final String PROP_USER_AGENT
public static final String PROP_VIA
public static final String PROP_JUMP_SERVERS
public static final String PROP_DISABLE_HELPER
public static final String DEFAULT_JUMP_SERVERS
public I2PTunnelHTTPClient(int localPort, Logging l, I2PSocketManager sockMgr, I2PTunnel tunnel, EventDispatcher notifyThis, long clientId)
public I2PTunnelHTTPClient(int localPort, Logging l, boolean ownDest, String wwwProxy, EventDispatcher notifyThis, I2PTunnel tunnel) throws IllegalArgumentException
IllegalArgumentException
- if the I2PTunnel does not contain
valid config to contact the routerprotected I2PSocketOptions getDefaultOptions()
getDefaultOptions
in class I2PTunnelClientBase
protected I2PSocketOptions getDefaultOptions(Properties overrides)
getDefaultOptions
in class I2PTunnelClientBase
public void startRunning()
startRunning
in class I2PTunnelClientBase
public boolean close(boolean forced)
close
in class I2PTunnelClientBase
protected void clientConnectionRun(Socket s)
I2PTunnelClientBase
clientConnectionRun
in class I2PTunnelClientBase