Package net.i2p.i2ptunnel

Interface Summary
I2PTunnel.ConnectionEventListener Callback routine to find out

Class Summary
HTTPResponseOutputStream Simple stream for delivering an HTTP response to the client, trivially filtered to make sure "Connection: close" is always in the response.
I2PTunnel Todo: Most events are not listened to elsewhere, so error propagation is poor
I2PTunnelConnectClient 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 (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.
I2PTunnelGUI AWT gui since kaffe doesn't support swing yet
I2PTunnelHTTPBidirProxy Reuse HTTP server's I2PSocketManager for a proxy with no outproxy capability.
I2PTunnelHTTPClient Act as a mini HTTP proxy, handling various different types of requests, forwarding them through I2P appropriately, and displaying the reply.
I2PTunnelHTTPClientRunner Override the response with a stream filtering the HTTP headers received.
I2PTunnelHTTPServer Simple extension to the I2PTunnelServer that filters the HTTP headers sent from the client to the server, replacing the Host header with whatever this instance has been configured with, and if the browser set Accept-encoding: x-i2p-gzip, gzip the http message body and set Content-encoding: x-i2p-gzip.
I2PTunnelIRCClient Todo: Can we extend I2PTunnelClient instead and remove some duplicated code?
I2PTunnelIRCServer Simple extension to the I2PTunnelServer that filters the registration sequence to pass the destination hash of the client through as the hostname, so an IRC Server may track users across nick changes.
I2PTunnelTask Either a Server or a Client.
InternalSocketRunner Listen for in-JVM connections on the internal "socket"
TunnelController Coordinate the runtime operation and configuration of a tunnel.
TunnelControllerGroup Coordinate a set of tunnels within the JVM, loading and storing their config to disk, and building new ones as requested.