java.lang.Runnable
, EventDispatcher
I2PTunnelHTTPBidirProxy
public class I2PTunnelHTTPClient extends I2PTunnelHTTPClientBase implements java.lang.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 $protocolVersionCONNECT (https) supported as of release 0.9.11. Note 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. Note that http://$b64key/... and http://$b64key.i2p/... are NOT supported, as a b64 key may contain '=' and '~', both of which are illegal host name characters. Rewrite as http://i2p/$b64key/... 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 and HTTPS are supported (no ftp, mailto, etc). Both GET and POST have been tested, though other $methods should work.
I2PTunnelHTTPClientBase.AuthResult, I2PTunnelHTTPClientBase.OnTimeout
修飾子とタイプ | フィールド | 説明 |
---|---|---|
static java.lang.String |
AUTH_REALM |
|
static java.lang.String |
DEFAULT_JUMP_SERVERS |
|
static java.lang.String |
LOCAL_SERVER |
|
static java.lang.String |
PROP_ACCEPT |
|
static java.lang.String |
PROP_DISABLE_HELPER |
|
static java.lang.String |
PROP_INTERNAL_SSL |
|
static java.lang.String |
PROP_JUMP_SERVERS |
|
static java.lang.String |
PROP_REFERER |
all default to false
|
static java.lang.String |
PROP_SSL_OUTPROXIES |
|
static java.lang.String |
PROP_USER_AGENT |
|
static java.lang.String |
PROP_VIA |
_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, 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_RESPONSE
open
コンストラクタ | 説明 |
---|---|
I2PTunnelHTTPClient(int localPort,
Logging l,
boolean ownDest,
java.lang.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.
|
I2PTunnelHTTPClient(int localPort,
Logging l,
I2PSocketManager sockMgr,
I2PTunnel tunnel,
EventDispatcher notifyThis,
long clientId) |
This constructor always starts the tunnel (ignoring the i2cp.delayOpen option).
|
修飾子とタイプ | メソッド | 説明 |
---|---|---|
protected void |
clientConnectionRun(java.net.Socket s) |
Note: This does not handle RFC 2616 header line splitting,
which is obsoleted in RFC 7230.
|
boolean |
close(boolean forced) |
Overridden to close internal socket too.
|
protected I2PSocketOptions |
getDefaultOptions() |
Create the default options (using the default timeout, etc).
|
protected I2PSocketOptions |
getDefaultOptions(java.util.Properties overrides) |
Create the default options (using the default timeout, etc).
|
protected java.lang.String |
getRealm() |
|
void |
startRunning() |
Actually start working on incoming connections.
|
attachEventDispatcher, detachEventDispatcher, getEventDispatcher, getEvents, getEventValue, ignoreEvents, notifyEvent, unIgnoreEvents, waitEventValue
addSubsession, buildSocketManager, buildSocketManager, buildSocketManager, buildSocketManager, closeSocket, createI2PSocket, createI2PSocket, createI2PSocket, destroy, 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, writeFooter
connected, disconnected, errorOccurred, getId, getTunnel, isOpen, reportAbuse, routerDisconnected, setId, setName, setTunnel, toString
public static final java.lang.String AUTH_REALM
public static final java.lang.String LOCAL_SERVER
public static final java.lang.String PROP_REFERER
public static final java.lang.String PROP_USER_AGENT
public static final java.lang.String PROP_VIA
public static final java.lang.String PROP_JUMP_SERVERS
public static final java.lang.String PROP_DISABLE_HELPER
public static final java.lang.String PROP_SSL_OUTPROXIES
public static final java.lang.String PROP_ACCEPT
public static final java.lang.String PROP_INTERNAL_SSL
public static final java.lang.String DEFAULT_JUMP_SERVERS
public I2PTunnelHTTPClient(int localPort, Logging l, I2PSocketManager sockMgr, I2PTunnel tunnel, EventDispatcher notifyThis, long clientId)
sockMgr
- the existing socket managerpublic I2PTunnelHTTPClient(int localPort, Logging l, boolean ownDest, java.lang.String wwwProxy, EventDispatcher notifyThis, I2PTunnel tunnel) throws java.lang.IllegalArgumentException
java.lang.IllegalArgumentException
- if the I2PTunnel does not contain
valid config to contact the routerprotected I2PSocketOptions getDefaultOptions()
getDefaultOptions
クラス内 I2PTunnelClientBase
protected I2PSocketOptions getDefaultOptions(java.util.Properties overrides)
getDefaultOptions
クラス内 I2PTunnelClientBase
public void startRunning()
startRunning
クラス内 I2PTunnelClientBase
public boolean close(boolean forced)
close
クラス内 I2PTunnelClientBase
protected java.lang.String getRealm()
getRealm
クラス内 I2PTunnelHTTPClientBase
protected void clientConnectionRun(java.net.Socket s)
clientConnectionRun
クラス内 I2PTunnelClientBase