| Package | Description |
|---|---|
| net.i2p.client.streaming | API, interfaces, and factory for a TCP-like (reliable, authenticated, in order) set of sockets for communicating over IP-like (unreliable, unauthenticated, unordered) I2P messages. |
| net.i2p.client.streaming.impl | Implementation of a TCP-like (reliable, authenticated, in order) set of sockets for communicating over the IP-like (unreliable, unauthenticated, unordered) I2P messages. |
| net.i2p.i2ptunnel | Implementation of preconfigured tunnels for both clients and servers, with a comprehensive UI for tunnel management and configuration. |
| net.i2p.i2ptunnel.irc | IRC-specific tunnel enhancements including protocol filters and DCC (Direct
Client-to-Client) connection handlers for IRC client tunnels. |
| net.i2p.i2ptunnel.socks | SOCKS protocol tunnel implementation for I2P, supporting SOCKS 4, 4a, and 5. |
| net.i2p.sam | The SAM (Simple Anonymous Messaging) client API. |
| org.klomp.snark | I2P version of the snark bittorrent client, imported in 2005 and heavily enhanced to add a web UI, DHT support, and other features. |
| Modifier and Type | Method and Description |
|---|---|
I2PSocket | I2PServerSocket.accept()Waits for the next socket connecting. |
protected abstract I2PSocket | AcceptingChannel.accept()Accept an incoming connection. |
I2PSocket | I2PSocketManager.connect(Destination peer)Create a new connected socket (block until the socket is created) |
I2PSocket | I2PSocketManager.connect(Destination peer,
I2PSocketOptions options)Create a new connected socket (block until the socket is created) |
| Modifier and Type | Method and Description |
|---|---|
Set<I2PSocket> | I2PSocketManager.listSockets()Retrieve a set of currently connected I2PSockets, either initiated locally or remotely. |
| Modifier and Type | Class and Description |
|---|---|
(package private) class | I2PSocketFullBridge between the full streaming lib and the I2PSocket API |
| Modifier and Type | Method and Description |
|---|---|
I2PSocket | I2PServerSocketFull.accept()Waits for the next socket connecting. |
I2PSocket | I2PSocketManagerFull.connect(Destination peer)Create a new connected socket. |
I2PSocket | I2PSocketManagerFull.connect(Destination peer,
I2PSocketOptions options)Create a new connected socket. |
I2PSocket | I2PSocketManagerFull.receiveSocket()The accept() call. |
| Modifier and Type | Method and Description |
|---|---|
Set<I2PSocket> | I2PSocketManagerFull.listSockets()Retrieve a set of currently connected I2PSockets, either initiated locally or remotely. |
| Constructor and Description |
|---|
StandardSocket(I2PSocket socket)Wraps an I2PSocket in a java.net.Socket. |
| Modifier and Type | Field and Description |
|---|---|
protected List<I2PSocket> | I2PTunnelClientBase.mySocketsList of active sockets |
| Modifier and Type | Method and Description |
|---|---|
I2PSocket | I2PTunnelClientBase.createI2PSocket(Destination dest)Create a new I2PSocket towards to the specified destination,
adding it to the list of connections actually managed by this
tunnel. |
I2PSocket | I2PTunnelClientBase.createI2PSocket(Destination dest,
I2PSocketOptions opt)Create a new I2PSocket towards to the specified destination,
adding it to the list of connections actually managed by this
tunnel. |
I2PSocket | I2PTunnelClientBase.createI2PSocket(Destination dest,
int port)Create a new I2PSocket towards to the specified destination,
adding it to the list of connections actually managed by this
tunnel. |
| Modifier and Type | Method and Description |
|---|---|
protected void | I2PTunnelServer.blockingHandle(I2PSocket socket)This is run in a thread from a limited-size thread pool via Handler.run(),
except for a standard server (this class, no extension, as determined in getUsePool()),
it is run directly in the acceptor thread (see run()). |
protected void | I2PTunnelHTTPServer.blockingHandle(I2PSocket socket)Called by the thread pool of I2PSocket handlers. |
protected void | I2PTunnelIRCServer.blockingHandle(I2PSocket socket)blockingHandle. |
protected void | I2PTunnelRunner.close(OutputStream out,
InputStream in,
OutputStream i2pout,
InputStream i2pin,
Socket s,
I2PSocket i2ps,
Thread t1,
Thread t2)Warning - overridden in I2PTunnelHTTPClientRunner. |
protected void | I2PTunnelHTTPClientRunner.close(OutputStream out,
InputStream in,
OutputStream i2pout,
InputStream i2pin,
Socket s,
I2PSocket i2ps,
Thread t1,
Thread t2)Closes all streams and sockets, respecting keep-alive settings. |
(package private) boolean | I2PTunnelHTTPServer.isInproxyRejection(Map<String,List<String>> headers,
I2PSocket socket,
String peerB32,
Properties opts)Reject requests that contain forwarded-for headers (inproxy detection). |
(package private) boolean | I2PTunnelHTTPServer.isPostThrottled(StringBuilder command,
Hash peerHash,
I2PSocket socket,
String peerB32)Check POST/PUT throttling for this peer. |
(package private) boolean | I2PTunnelHTTPServer.isRefererRejection(Map<String,List<String>> headers,
I2PSocket socket,
String peerB32,
Properties opts)Reject requests with absolute Referer URIs. |
(package private) boolean | I2PTunnelHTTPServer.isUserAgentRejection(Map<String,List<String>> headers,
I2PSocket socket,
String peerB32,
Properties opts)Reject requests with blacklisted User-Agent strings. |
static Map<String,List<String>> | I2PTunnelHTTPServer.readHeaders(I2PSocket socket,
InputStream in,
StringBuilder command,
Set<String> skipHeaders,
I2PAppContext ctx,
long initialTimeout)From I2P to server: socket non-null, in null. |
static Map<String,List<String>> | I2PTunnelHTTPServer.readHeaders(I2PSocket socket,
InputStream in,
StringBuilder command,
String[] skipHeaders,
I2PAppContext ctx,
long initialTimeout)Read headers from the input stream, using an array of skip headers. |
(package private) static Map<String,List<String>> | I2PTunnelHTTPServer.readRequestHeaders(I2PSocket socket,
StringBuilder command,
int requestCount,
String peerB32,
I2PAppContext ctx,
Log log)Read the request headers, handling the specific errors that can occur
by sending the appropriate error response to the client. |
| Constructor and Description |
|---|
I2PTunnelHTTPClientRunner(Socket s,
I2PSocket i2ps,
Object slock,
byte[] initialI2PData,
List<I2PSocket> sockList,
I2PTunnelRunner.FailCallback onFail,
boolean allowKeepAliveI2P,
boolean allowKeepAliveSocket,
boolean isHead)Constructs a new HTTP client runner. |
I2PTunnelRunner(Socket s,
I2PSocket i2ps,
Object slock,
byte[] initialI2PData,
byte[] initialSocketData,
List<I2PSocket> sockList)Deprecated. use FailCallback constructor |
I2PTunnelRunner(Socket s,
I2PSocket i2ps,
Object slock,
byte[] initialI2PData,
byte[] initialSocketData,
List<I2PSocket> sockList,
I2PTunnelRunner.FailCallback onFail)Recommended new constructor. |
I2PTunnelRunner(Socket s,
I2PSocket i2ps,
Object slock,
byte[] initialI2PData,
byte[] initialSocketData,
List<I2PSocket> sockList,
I2PTunnelRunner.FailCallback onFail,
boolean keepAliveI2P,
boolean keepAliveSocket)With keepAlive args. |
I2PTunnelRunner(Socket s,
I2PSocket i2ps,
Object slock,
byte[] initialI2PData,
byte[] initialSocketData,
List<I2PSocket> sockList,
Runnable onTimeout)Deprecated. use FailCallback constructor |
I2PTunnelRunner(Socket s,
I2PSocket i2ps,
Object slock,
byte[] initialI2PData,
List<I2PSocket> sockList)Deprecated. use FailCallback constructor |
I2PTunnelRunner(Socket s,
I2PSocket i2ps,
Object slock,
byte[] initialI2PData,
List<I2PSocket> sockList,
Runnable onTimeout)Deprecated. use FailCallback constructor |
| Constructor and Description |
|---|
I2PTunnelHTTPClientRunner(Socket s,
I2PSocket i2ps,
Object slock,
byte[] initialI2PData,
List<I2PSocket> sockList,
I2PTunnelRunner.FailCallback onFail,
boolean allowKeepAliveI2P,
boolean allowKeepAliveSocket,
boolean isHead)Constructs a new HTTP client runner. |
I2PTunnelRunner(Socket s,
I2PSocket i2ps,
Object slock,
byte[] initialI2PData,
byte[] initialSocketData,
List<I2PSocket> sockList)Deprecated. use FailCallback constructor |
I2PTunnelRunner(Socket s,
I2PSocket i2ps,
Object slock,
byte[] initialI2PData,
byte[] initialSocketData,
List<I2PSocket> sockList,
I2PTunnelRunner.FailCallback onFail)Recommended new constructor. |
I2PTunnelRunner(Socket s,
I2PSocket i2ps,
Object slock,
byte[] initialI2PData,
byte[] initialSocketData,
List<I2PSocket> sockList,
I2PTunnelRunner.FailCallback onFail,
boolean keepAliveI2P,
boolean keepAliveSocket)With keepAlive args. |
I2PTunnelRunner(Socket s,
I2PSocket i2ps,
Object slock,
byte[] initialI2PData,
byte[] initialSocketData,
List<I2PSocket> sockList,
Runnable onTimeout)Deprecated. use FailCallback constructor |
I2PTunnelRunner(Socket s,
I2PSocket i2ps,
Object slock,
byte[] initialI2PData,
List<I2PSocket> sockList)Deprecated. use FailCallback constructor |
I2PTunnelRunner(Socket s,
I2PSocket i2ps,
Object slock,
byte[] initialI2PData,
List<I2PSocket> sockList,
Runnable onTimeout)Deprecated. use FailCallback constructor |
| Modifier and Type | Method and Description |
|---|---|
protected void | I2PTunnelDCCServer.blockingHandle(I2PSocket socket)An incoming DCC connection, only accept for a known port. |
| Constructor and Description |
|---|
IrcInboundFilter(Socket lcl,
I2PSocket rem,
StringBuffer pong,
Log log)Create an inbound filter without DCC support. |
IrcInboundFilter(Socket lcl,
I2PSocket rem,
StringBuffer pong,
Log log,
DCCHelper helper) |
IrcOutboundFilter(Socket lcl,
I2PSocket rem,
StringBuffer pong,
Log log)Create an outbound filter without DCC support. |
IrcOutboundFilter(Socket lcl,
I2PSocket rem,
StringBuffer pong,
Log log,
DCCHelper helper)Create an outbound filter with optional DCC support. |
| Modifier and Type | Class and Description |
|---|---|
(package private) class | SocketWrapperWrapper around the Socket obtained from the Outproxy, which is a
wrapper around the Orchid Stream. |
| Modifier and Type | Method and Description |
|---|---|
I2PSocket | SOCKS5Server.getDestinationI2PSocket(I2PSOCKSTunnel t)Get an I2PSocket that can be used to send/receive 8-bit clean data
to/from the destination of the SOCKS connection. |
abstract I2PSocket | SOCKSServer.getDestinationI2PSocket(I2PSOCKSTunnel t)Get an I2PSocket that can be used to send/receive 8-bit clean data
to/from the destination of the SOCKS connection. |
I2PSocket | SOCKS4aServer.getDestinationI2PSocket(I2PSOCKSTunnel t)Get an I2PSocket that can be used to send/receive 8-bit clean data
to/from the destination of the SOCKS connection. |
protected I2PSocket | SOCKSServer.outproxyConnect(I2PSOCKSTunnel tun,
String proxy)Act as a SOCKS 5 client to connect to an outproxy
Caller must send success or error to local socks client. |
| Modifier and Type | Method and Description |
|---|---|
void | SOCKSServer.httpsConnect(I2PSocket destSock,
OutputStream pout,
String connHostName,
int connPort,
String configUser,
String configPW)Act as a https client to connect to a CONNECT outproxy. |
| Modifier and Type | Field and Description |
|---|---|
protected I2PSocket | SAMStreamSession.SAMStreamSessionSocketReader.i2pSocket |
protected I2PSocket | SAMStreamSession.StreamSender.i2pSocketi2pSocket. |
| Modifier and Type | Method and Description |
|---|---|
protected int | SAMStreamSession.createSocketHandler(I2PSocket s,
int id)Create a new SAM STREAM session socket handler, detaching its thread. |
protected SAMStreamSession.SAMStreamSessionSocketReader | SAMv2StreamSession.newSAMStreamSessionSocketReader(I2PSocket s,
int id)newSAMStreamSessionSocketReader. |
protected SAMStreamSession.SAMStreamSessionSocketReader | SAMStreamSession.newSAMStreamSessionSocketReader(I2PSocket s,
int id)Create a new SAM STREAM session socket reader. |
protected SAMStreamSession.StreamSender | SAMv2StreamSession.newStreamSender(I2PSocket s,
int id)Lets us push data through the stream without blocking, (even after exceeding
the I2PSocket's buffer) |
protected SAMStreamSession.StreamSender | SAMStreamSession.newStreamSender(I2PSocket s,
int id)newStreamSender. |
boolean | SAMv3StreamSession.queueSocket(I2PSocket sock)Put a socket on the accept queue. |
| Constructor and Description |
|---|
SAMStreamSessionSocketReader(I2PSocket s,
int id)Create a new SAM STREAM session socket reader |
SAMv1StreamSessionSocketReader(I2PSocket s,
int id)Create a new SAM STREAM session socket reader |
SAMv2StreamSessionSocketReader(I2PSocket s,
int id)Create a new SAM STREAM session socket reader |
StreamSender(I2PSocket s,
int id)Create a new StreamSender. |
| Modifier and Type | Method and Description |
|---|---|
(package private) I2PSocket | I2PSnarkUtil.connect(PeerID peer)Connect to the given destination |
(package private) I2PSocket | I2PSnarkUtil.connect(PeerID peer,
byte[] ih)Connect to the given destination through the torrent's own destination, or the shared
destination if multi-dest is disabled or the torrent has no destination yet. |
(package private) I2PSocket | Peer.getI2PSocket()The I2PSocket of this connection, or null if never connected. |
| Modifier and Type | Method and Description |
|---|---|
void | PeerAcceptor.connection(I2PSocket socket,
InputStream in,
OutputStream out)Handle an incoming connection from a peer. |
| Constructor and Description |
|---|
Peer(I2PSocket sock,
InputStream in,
OutputStream out,
byte[] myId,
byte[] infohash,
MetaInfo metainfo)Incoming connection. |