Runnable, EventDispatcherpublic class I2PTunnelConnectClient extends I2PTunnelHTTPClientBase implements Runnable
(where protocol is generally HTTP/1.1 but is ignored)
(where host is one of:
example.i2p
52chars.b32.i2p
516+charsbase64
example.com (sent to one of the configured proxies)
)
(protocol is ignored for i2p destinations)
CONNECT host
CONNECT host protocol
CONNECT host:port
CONNECT host:port protocol (this is the standard)
Additional lines after the CONNECT line but before the blank line are ignored and stripped.
The CONNECT line is removed for .i2p accesses
but passed along for outproxy accesses.
Ref:
INTERNET-DRAFT Ari Luotonen
Expires: September 26, 1997 Netscape Communications Corporation
draft-luotonen-ssl-tunneling-03.txt March 26, 1997
Tunneling SSL Through a WWW Proxy
I2PTunnelHTTPClientBase.AuthResult, I2PTunnelHTTPClientBase.OnTimeout| Modifier and Type | Field | Description |
|---|---|---|
static String |
AUTH_REALM |
_clientId, _context, _log, _ownDest, DEFAULT_CONNECT_TIMEOUT, dest, l, listenerReady, mySockets, PROP_USE_SSL, sockLock, sockMgr, ss__requestId, _proxyList, BASIC_AUTH, DEFAULT_READ_TIMEOUT, DIGEST_AUTH, ERR_DESTINATION_UNKNOWN, ERR_NO_OUTPROXY, INITIAL_SO_TIMEOUT, PROP_AUTH, PROP_OUTPROXY_AUTH, PROP_OUTPROXY_PW, PROP_OUTPROXY_PW_PREFIX, PROP_OUTPROXY_USER, PROP_OUTPROXY_USER_PREFIX, PROP_PROXY_DIGEST_PREFIX, PROP_PROXY_DIGEST_SUFFIX, PROP_PW, PROP_PW_PREFIX, PROP_USE_OUTPROXY_PLUGIN, PROP_USER, SUCCESS_RESPONSEopen| Constructor | Description |
|---|---|
I2PTunnelConnectClient(int localPort,
Logging l,
boolean ownDest,
String wwwProxy,
EventDispatcher notifyThis,
I2PTunnel tunnel) |
As of 0.9.20 this is fast, and does NOT connect the manager to the router,
or open the local socket.
|
| Modifier and Type | Method | Description |
|---|---|---|
protected void |
clientConnectionRun(Socket s) |
Manage a connection in a separate thread.
|
boolean |
close(boolean forced) |
Note that the tunnel can be reopened after this by calling startRunning().
|
protected I2PSocketOptions |
getDefaultOptions() |
Create the default options (using the default timeout, etc).
|
protected String |
getRealm() |
|
void |
startRunning() |
Actually open the local socket and start working on incoming connections.
|
attachEventDispatcher, detachEventDispatcher, getEventDispatcher, getEvents, getEventValue, ignoreEvents, notifyEvent, unIgnoreEvents, waitEventValueaddSubsession, buildSocketManager, buildSocketManager, buildSocketManager, buildSocketManager, closeSocket, createI2PSocket, createI2PSocket, createI2PSocket, destroy, getDefaultOptions, getListenHost, getLocalPort, getSocketManager, getSocketManager, getSocketManager, killSharedClient, manageConnection, run, verifySocketManager_t, _t, _t, authorize, getAuthError, getErrorPage, getErrorPage, getPrefix, handleClientException, handleI2PSocketException, isDigestAuthRequired, optionsUpdated, selectProxy, writeErrorMessage, writeErrorMessage, writeErrorMessage, writeErrorMessage, writeFooter, writeFooterconnected, disconnected, errorOccurred, getId, getTunnel, isOpen, reportAbuse, routerDisconnected, setId, setName, setTunnel, toStringpublic static final String AUTH_REALM
public I2PTunnelConnectClient(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 I2PTunnelClientBasepublic void startRunning()
I2PTunnelClientBasestartRunning in class I2PTunnelClientBasepublic boolean close(boolean forced)
I2PTunnelClientBaseclose in class I2PTunnelClientBaseprotected String getRealm()
getRealm in class I2PTunnelHTTPClientBaseprotected void clientConnectionRun(Socket s)
I2PTunnelClientBaseclientConnectionRun in class I2PTunnelClientBase