Class I2PTunnelHTTPClient

  • All Implemented Interfaces:
    Runnable, EventDispatcher
    Direct Known Subclasses:
    I2PTunnelHTTPBidirProxy

    public class I2PTunnelHTTPClient
    extends I2PTunnelHTTPClientBase
    implements Runnable
    Act as a mini HTTP proxy, handling various different types of requests, forwarding them through I2P appropriately, and displaying the reply. Supported request formats are:
       $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 $protocolVersion
     
    CONNECT (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 hostname characters. Rewrite as http://i2p/$b64key/... If the $site resolves with the I2P naming service, then it is directed towards that I2P Site, 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.