net.i2p.i2ptunnel
Class I2PTunnelConnectClient
java.lang.Object
net.i2p.util.EventDispatcherImpl
net.i2p.i2ptunnel.I2PTunnelTask
net.i2p.i2ptunnel.I2PTunnelClientBase
net.i2p.i2ptunnel.I2PTunnelHTTPClientBase
net.i2p.i2ptunnel.I2PTunnelConnectClient
- All Implemented Interfaces:
- Runnable, EventDispatcher
public class I2PTunnelConnectClient
- extends I2PTunnelHTTPClientBase
- implements Runnable
Supports the following:
(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)
)
(port and protocol are 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
March 26, 1997
Tunneling SSL Through a WWW Proxy
- Author:
- zzz a stripped-down I2PTunnelHTTPClient
Fields inherited from class net.i2p.i2ptunnel.I2PTunnelHTTPClientBase |
__clientId, __requestId, _proxyList, BASIC_AUTH, DEFAULT_READ_TIMEOUT, DIGEST_AUTH, 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_USER |
Fields inherited from class net.i2p.i2ptunnel.I2PTunnelClientBase |
_clientId, _context, _log, _ownDest, DEFAULT_CONNECT_TIMEOUT, dest, l, mySockets, sockLock, sockMgr, ss |
Methods inherited from class net.i2p.i2ptunnel.I2PTunnelClientBase |
buildSocketManager, buildSocketManager, buildSocketManager, buildSocketManager, closeSocket, createI2PSocket, createI2PSocket, getClientExecutor, getDefaultOptions, getListenHost, getLocalPort, getSocketManager, getSocketManager, getSocketManager, killClientExecutor, manageConnection, optionsUpdated, run, verifySocketManager |
Methods inherited from class net.i2p.i2ptunnel.I2PTunnelTask |
connected, disconnected, errorOccurred, getId, getTunnel, isOpen, reportAbuse, routerDisconnected, setId, setName, setTunnel, toString |
Methods inherited from interface java.lang.Runnable |
run |
AUTH_REALM
public static final String AUTH_REALM
- See Also:
- Constant Field Values
I2PTunnelConnectClient
public I2PTunnelConnectClient(int localPort,
Logging l,
boolean ownDest,
String wwwProxy,
EventDispatcher notifyThis,
I2PTunnel tunnel)
throws IllegalArgumentException
- Throws:
IllegalArgumentException
- if the I2PTunnel does not contain
valid config to contact the router
getDefaultOptions
protected I2PSocketOptions getDefaultOptions()
- Create the default options (using the default timeout, etc).
Warning, this does not make a copy of I2PTunnel's client options,
it modifies them directly.
- Overrides:
getDefaultOptions
in class I2PTunnelClientBase
startRunning
public void startRunning()
- Description copied from class:
I2PTunnelClientBase
- Actually start working on incoming connections. *Must* be
called by derived classes after initialization.
- Overrides:
startRunning
in class I2PTunnelClientBase
close
public boolean close(boolean forced)
- Overrides:
close
in class I2PTunnelClientBase
getRealm
protected String getRealm()
- Specified by:
getRealm
in class I2PTunnelHTTPClientBase
- Since:
- 0.9.4
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()
- Specified by:
clientConnectionRun
in class I2PTunnelClientBase