I2P Javadocs for Release 0.9.23 Build 1-2~deb7u+1

Core SDK (i2p.jar)
com.nettgryppa.security HashCash implementation.
freenet.support.CPUInformation CPUID implementaion, borrowed from freenet, updated and heavily modified.
gnu.crypto.hash WARNING - DEPRECATED - Use SHA256Generator.getDigestInstance() to get a MessageDigest that will be faster in almost all cases.
gnu.crypto.prng The Fortuna PRNG from GNU Crypto, updated and modifed for I2P.
gnu.getopt This is Java getopt 1.0.14 (released 2012/02/08)
gnu.gettext GettextResource only, for ngettext().
net.i2p Core I2P package, contains information about the I2P version and an entry point to access important elements.
net.i2p.app Interfaces for classes to be started and stopped via clients.config.
net.i2p.client Interfaces and factories for the base I2P SDK used to develop applications that communicate through I2P.
net.i2p.client.datagram Provides a standard way for reading and writing messages transferred over I2P so that the recipient has an authenticated mechanism to reply to it.
net.i2p.client.impl Implements the base I2P SDK for developing applications that communicate through I2P.
net.i2p.client.naming Provides a standard way for querying the local naming service to resolve a name into a Destination (without the complexity of JNDI).
net.i2p.crypto These classes provide a number of low-level cryptographic routines.
net.i2p.crypto.eddsa Java implementation of EdDSA, a digital signature scheme using a variant of elliptic curve cryptography based on Twisted Edwards curves.
net.i2p.crypto.eddsa.math Data structures that definie curves and fields, and the mathematical operaions on them.
net.i2p.crypto.eddsa.math.bigint Low-level, non-optimized implementation using BigIntegers for any curve.
net.i2p.crypto.eddsa.math.ed25519 Low-level, optimized implementation using Radix 2^51 for Curve 25519.
net.i2p.crypto.eddsa.spec Specifications for curves and keys, and a table for named curves, initially containing only the 25519 curve "ed25519-sha-512".
net.i2p.crypto.provider I2P implementation of java.security.Provider for EdDSA.
net.i2p.data These classes define the common data structures used by the various I2P protocols.
net.i2p.data.i2cp The Invisible Internet Client Protocol (I2CP) allows applications simplified access to the I2P network without requiring them to deal with the issues involved with the Invisible Internet Network Protocol (I2NP).
net.i2p.internal Interface and classes for a router and client within the same JVM to directly pass I2CP messages using Queues instead of serialized messages over socket streams.
net.i2p.kademlia This is a major rewrite of KBucket, KBucketSet, and KBucketImpl from net.i2p.router.networkdb.kademlia.
net.i2p.stat These classes define the statistics package used extensively throughout the I2P router - both for adaptive operation of the router and for debugging.
net.i2p.time Provides a stub class for time synchronization.
net.i2p.update Interfaces for classes to assist in the update process without needing the router context.
net.i2p.util These classes define the several useful utilities used throughout the router and applications.
net.metanotion I2P Notes: This is the database used by the BlockfileNamingService class.
net.metanotion.io  
net.metanotion.io.block  
net.metanotion.io.block.index  
net.metanotion.io.data  
net.metanotion.util.skiplist  
org.apache.http.conn.ssl From Apache HttpClient 4.4.1.
org.apache.http.conn.util From Apache HttpClient 4.4.1.
org.apache.http.util From Apache HttpCore 4.4.1.
org.bouncycastle.oldcrypto This is from some very old version of bouncycastle, part of package org.bouncycastle.crypto.
org.bouncycastle.oldcrypto.macs This is from some very old version of bouncycastle, part of package org.bouncycastle.crypto.

 

Streaming Library
net.i2p.client.streaming API, interfaces, and factory for a TCP-like (reliable, authenticated, in order) set of sockets for communicating over the 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.

 

Router
net.i2p.data.i2np This package defines the low-level messages sent between routers, called the Invisible Internet Network Protocol (I2NP).
net.i2p.data.router Classes formerly in net.i2p.data but moved here as they are only used by the router.
net.i2p.router The I2P router application handles the I2P network communication.
net.i2p.router.app Interface for classes to be started and stopped via clients.config.
net.i2p.router.client Implements the router side of the I2CP interface, which is the API for applications to send and receive data through the router.
net.i2p.router.crypto Classes formerly in net.i2p.crypto but moved here as they are only used by the router.
net.i2p.router.dummy Dummy versions of things for testing.
net.i2p.router.message Creates and parses garlic messages.
net.i2p.router.networkdb A couple of classes, but most things are in kademlia.
net.i2p.router.networkdb.kademlia The network database, including implementation of floodfills.
net.i2p.router.networkdb.reseed Fetching, validation, unpacking, and installation of RouterInfos from signed su3 files, unsigned zip files, and web indexes.
net.i2p.router.peermanager The peer manager logs information about the history and quality of network peers.
net.i2p.router.startup The I2P startup package loads the configuration when I2P is started.
net.i2p.router.tasks Miscellaneous classes, mostly things that are executed periodically as Jobs, Threads, and SimpleTimer.TimedEvents.
net.i2p.router.time Provides classes for time synchronization using NTP.
net.i2p.router.transport The transport system allows the usage of communication layers that are below I2P in the stack, on which I2P messages are sent.
net.i2p.router.transport.crypto DH key generation.
net.i2p.router.transport.ntcp The NTCP transport allows passing I2P messages on top of TCP.
net.i2p.router.transport.udp The UDP transport (also known as 'SSU transport') allows passing I2P messages on top of UDP.
net.i2p.router.tunnel All the work of managing locally created and participating tunnels, creating and handling tunnel messages, and their encryption.
net.i2p.router.tunnel.pool Tunnel creation, tunnel build message handling.
net.i2p.router.util These classes define the several useful utilities used throughout the router.
org.cybergarage The cybergarage cyberlink UPnP library version 3.0, with minor mods for I2P.
org.cybergarage.http  
org.cybergarage.net  
org.cybergarage.soap  
org.cybergarage.upnp  
org.cybergarage.upnp.control  
org.cybergarage.upnp.device  
org.cybergarage.upnp.event  
org.cybergarage.upnp.ssdp  
org.cybergarage.upnp.xml  
org.cybergarage.util  
org.cybergarage.xml  
org.cybergarage.xml.parser  
org.freenetproject Small classes used by net.i2p.transport.UPnP to interface with the org.cybergarage UPnP library, as imported from freenet.
org.xlattice.crypto.filters Bloom filter used by net.i2p.router.util.DecayingBloomFilter

 

Router Console
net.i2p.router.news Classes to parse the I2P news format, which follows the Atom standard with additional metadata for the I2P update notification feature.
net.i2p.router.update Classes to implement the update process.
net.i2p.router.web The router console user interface, implemented in routerconsole.jar, with these classes supporting the webapp in routerconsole.war.

 

Addressbook Application
net.i2p.addressbook The addressbook application, which fetches hosts.txt files from subscription URLS via HTTP and adds new hosts to the local database.

 

BOB Bridge
net.i2p.BOB BOB, the Basic Open Bridge, allows TCP applications to talk over I2P.

 

BOB Demos
net.i2p.BOB.Demos.echo.echoclient  
net.i2p.BOB.Demos.echo.echoserver  

 

Desktopgui Application
net.i2p.desktopgui Desktopgui is a graphical interface to I2P that allows managing the lifecycle of I2P from the system tray.
net.i2p.desktopgui.gui  
net.i2p.desktopgui.i18n  
net.i2p.desktopgui.router  
net.i2p.desktopgui.util  

 

I2PSnark Application
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.
org.klomp.snark.bencode  
org.klomp.snark.dht  
org.klomp.snark.web The i2psnark user interface, implemented as a webapp in i2psnark.war.

 

I2PTunnel Application
net.i2p.i2ptunnel Implementation of preconfigured tunnels, both for clients and servers, and a UI for adding more and editing the configuration.
net.i2p.i2ptunnel.irc Filters for the IRC client tunnel, and DCC handlers.
net.i2p.i2ptunnel.localServer A very simple HTTP server, used only for css and images on HTTP client proxy error pages.
net.i2p.i2ptunnel.socks SOCKS 4, 4a, and 5 client tunnels.
net.i2p.i2ptunnel.streamr Special-purpose client and server tunnels for streaming UDP clients and servers, generally for audio and video streaming.
net.i2p.i2ptunnel.udp A small API used by UDP tunnels.
net.i2p.i2ptunnel.udpTunnel  
net.i2p.i2ptunnel.ui Classes for configuring tunnels, used externally by Android.
net.i2p.i2ptunnel.web The UI for adding tunnels and editing their configurations, implemented as a webapp packaged in i2ptunnel.war.

 

Installer Utilities
net.i2p.installer These classes make up the "Helper Utilities" that are used by the installer.

 

Jetty Utilities
net.i2p.jetty Classes for starting Jetty, logging requests, and debug logging to the I2P router log.
net.i2p.servlet RequestWrapper was a susimail class, moved from susimail to jetty-i2p.jar when we needed them in the router console also.
net.i2p.servlet.filters XSS filter, since 0.9.14.
org.mortbay.servlet Old Jetty 5 classes for multipart form requests, moved to susimail and modded when we moved to Jetty 6, then moved from susimail to jetty-i2p.jar when we needed them in the router console also.
org.mortbay.util Old Jetty 5 classes for multipart form requests, moved to susimail and modded when we moved to Jetty 6, then moved from susimail to jetty-i2p.jar when we needed them in the router console also.

 

SAM Bridge
net.i2p.sam The SAM client API.

 

SAM Demos
net.i2p.sam.client Demo and test client classes.

 

SusiDNS Application
i2p.susi.dns The SusiDNS webapp, which is the user interface for the addressbook application and the local naming service (hosts database) implemented in net.i2p.client.naming.

 

SusiMail Application
i2p.susi.debug  
i2p.susi.util  
i2p.susi.webmail The SusiMail webapp, which implements a webmail interface, POP3 and SMTP client-side protocols, and local caching of email.
i2p.susi.webmail.encoding  
i2p.susi.webmail.pop3  
i2p.susi.webmail.smtp  

 

Systray Application
net.i2p.apps.systray A system tray control for launching the I2P router console.