public 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 and Description |
---|---|
static String |
AUTH_REALM |
__requestId, _proxyList, BASIC_AUTH, DEFAULT_READ_TIMEOUT, DIGEST_AUTH, ERR_DESTINATION_UNKNOWN, ERR_NO_OUTPROXY, 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_RESPONSE
_clientId, _context, _log, _ownDest, DEFAULT_CONNECT_TIMEOUT, dest, l, listenerReady, mySockets, PROP_USE_SSL, sockLock, sockMgr, ss
open
Constructor and 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 and 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.
|
_t, _t, _t, authorize, getAuthError, getErrorPage, getErrorPage, getPrefix, handleClientException, handleI2PSocketException, isDigestAuthRequired, optionsUpdated, selectProxy, writeErrorMessage, writeErrorMessage, writeErrorMessage, writeErrorMessage, writeFooter, writeFooter
addSubsession, buildSocketManager, buildSocketManager, buildSocketManager, buildSocketManager, closeSocket, createI2PSocket, createI2PSocket, createI2PSocket, destroy, getDefaultOptions, getListenHost, getLocalPort, getSocketManager, getSocketManager, getSocketManager, killSharedClient, manageConnection, run, verifySocketManager
connected, disconnected, errorOccurred, getId, getTunnel, isOpen, reportAbuse, routerDisconnected, setId, setName, setTunnel, toString
attachEventDispatcher, detachEventDispatcher, getEventDispatcher, getEvents, getEventValue, ignoreEvents, notifyEvent, unIgnoreEvents, waitEventValue
public 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 I2PTunnelClientBase
public void startRunning()
I2PTunnelClientBase
startRunning
in class I2PTunnelClientBase
public boolean close(boolean forced)
I2PTunnelClientBase
close
in class I2PTunnelClientBase
protected String getRealm()
getRealm
in class I2PTunnelHTTPClientBase
protected void clientConnectionRun(Socket s)
I2PTunnelClientBase
clientConnectionRun
in class I2PTunnelClientBase