| Package | Description |
|---|---|
| i2p.susi.webmail.encoding | Character encoding and MIME handling for SusiMail. |
| net.i2p | Core I2P package providing fundamental interfaces, version information, and entry points to essential I2P services. |
| net.i2p.addressbook | Address book application for fetching and maintaining I2P host
databases from subscription sources. |
| net.i2p.client.impl | Internal implementation of the I2P client SDK, providing the client
side of the I2CP protocol for applications communicating through I2P. |
| net.i2p.client.naming | Naming service for resolving human-readable names to I2P destinations,
providing a standard interface without JNDI complexity. |
| 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.crypto | Core cryptographic primitives and algorithms used throughout I2P. |
| net.i2p.data | These classes define the common data structures used by the various I2P protocols. |
| net.i2p.data.i2np | This package defines the low-level messages sent between routers,
called Invisible Internet Network Protocol (I2NP). |
| net.i2p.data.router | Router-specific data structures and identity management classes for I2P. |
| 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.i2ptunnel.streamr | Special-purpose tunnels for streaming UDP clients and servers, optimized
for audio and video streaming applications. |
| net.i2p.i2ptunnel.udpTunnel | UDP tunnel implementation for I2PTunnel. |
| net.i2p.i2ptunnel.web | Web-based user interface for managing I2PTunnel configurations, implemented
as a webapp packaged in i2ptunnel.war. |
| net.i2p.router | The I2P router application handles I2P network communication. |
| net.i2p.router.client | Router-side implementation of the I2CP (I2P Client Protocol) interface for application integration. |
| net.i2p.router.crypto.pqc | Post-quantum cryptographic algorithms for I2P. |
| net.i2p.router.crypto.ratchet | Implementation of ECIES-X25519-AEAD-Ratchet cryptographic protocol
(I2P proposal 144), providing forward secrecy and enhanced security
for I2P transport communications. |
| net.i2p.router.networkdb.kademlia | Kademlia DHT implementation and floodfill router functionality for I2P. |
| 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.startup | The I2P startup package loads configuration when I2P is started. |
| net.i2p.router.tasks | Periodic maintenance tasks and background jobs for I2P router operations. |
| net.i2p.router.time | Time synchronization and clock management for I2P router using NTP. |
| net.i2p.router.transport | Transport layer implementations and management for I2P network communication. |
| net.i2p.router.transport.crypto | Cryptographic operations for I2P transport protocols, including key exchange
algorithms, session key management, and transport-layer encryption. |
| net.i2p.router.transport.ntcp | The NTCP (New TCP) transport for I2P, allowing I2P messages to be passed
over TCP connections. |
| net.i2p.router.transport.udp | The UDP transport (also known as 'SSU' or Secure Semi-reliable UDP transport)
for I2P, allowing I2P messages to be passed over UDP connections. |
| net.i2p.router.tunnel | Core tunnel management, message processing, and encryption for I2P's anonymous routing system. |
| net.i2p.router.tunnel.pool | Tunnel pool management, creation, and peer selection for I2P's anonymous routing system. |
| net.i2p.router.update | Classes to implement the router update process for checking and applying
I2P router updates from the update manager. |
| net.i2p.router.util | Utility classes and helper functions used throughout the I2P router. |
| net.i2p.router.web | The router console user interface, implemented in routerconsole.jar, with these classes supporting the webapp in routerconsole.war. |
| net.i2p.router.web.helpers | Helpers and handlers for the router console user interface, with these classes supporting the webapp in routerconsole.war. |
| net.i2p.sam | The SAM (Simple Anonymous Messaging) client API. |
| net.i2p.util | Core utility classes and helper functions used throughout the I2P router and applications. |
| net.metanotion.io.block | Block-based storage and file system utilities. |
| 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.dht | Distributed Hash Table (DHT) implementation for BitTorrent. |
| org.klomp.snark.web | The I2PSnark web user interface package, providing a complete web-based torrent management system
implemented as a webapp in i2psnark.war. |
| Class and Description |
|---|
| Log Wrapper class for whatever logging system I2P uses. |
| Class and Description |
|---|
| Clock Alternate location for determining the time which takes into account an offset. |
| I2PProperties This class contains a number of properties ((key,value)-pairs). |
| I2PProperties.I2PPropertyCallback Callback interface for property change notifications. |
| KeyRing Thread-safe mapping from router hashes to session keys. |
| LogManager Manages the logging system, loading (and reloading) the configuration file,
coordinating the log limits, and storing the set of log records pending. |
| PortMapper Map services to internal or external application ports
for this context. |
| RandomSource Singleton for whatever PRNG i2p uses. |
| SimpleTimer2 Scheduled event executor backed by ScheduledThreadPoolExecutor. |
| Class and Description |
|---|
| CommandLine Simple command line access to various utilities. |
| I2PAppThread Like I2PThread but with per-thread OOM listeners,
rather than a static router-wide listener list,
so that an OOM in an app won't call the router listener
to shutdown the whole router. |
| I2PThread Preferred over Thread for all router uses. |
| Class and Description |
|---|
| Log Wrapper class for whatever logging system I2P uses. |
| SimpleTimer2.TimedEvent Base class for timer events. |
| Class and Description |
|---|
| Log Wrapper class for whatever logging system I2P uses. |
| OrderedProperties Properties map that has its keySet ordered consistently (via the key's lexicographical ordering). |
| Class and Description |
|---|
| EepGet EepGet [-p 127.0.0.1:4444]
[-n #retries]
[-o outputFile]
[-m markSize lineLen]
url |
| SocketTimeout Implements one or two timers; one for inactivity, that is reset by resetTimer(),
and optionally, a total time since instantiation, that is configured by setTotalTimeoutPeriod(). |
| Class and Description |
|---|
| BandwidthEstimator A Westwood bandwidth estimator |
| ByteCache Cache the objects frequently used to reduce memory churn. |
| Log Wrapper class for whatever logging system I2P uses. |
| SimpleTimer2 Scheduled event executor backed by ScheduledThreadPoolExecutor. |
| SimpleTimer2.TimedEvent Base class for timer events. |
| Class and Description |
|---|
| Log Wrapper class for whatever logging system I2P uses. |
| NativeBigInteger BigInteger that takes advantage of the jbigi library for the modPow operation,
which accounts for a massive segment of the processing cost of asymmetric crypto. |
| Class and Description |
|---|
| OrderedProperties Properties map that has its keySet ordered consistently (via the key's lexicographical ordering). |
| Class and Description |
|---|
| Log Wrapper class for whatever logging system I2P uses. |
| Class and Description |
|---|
| OrderedProperties Properties map that has its keySet ordered consistently (via the key's lexicographical ordering). |
| Class and Description |
|---|
| EventDispatcher Event dispatching interface. |
| EventDispatcherImpl An implementation of the EventDispatcher interface. |
| I2PAppThread Like I2PThread but with per-thread OOM listeners,
rather than a static router-wide listener list,
so that an OOM in an app won't call the router listener
to shutdown the whole router. |
| I2PThread Preferred over Thread for all router uses. |
| Log Wrapper class for whatever logging system I2P uses. |
| Class and Description |
|---|
| EventDispatcher Event dispatching interface. |
| EventDispatcherImpl An implementation of the EventDispatcher interface. |
| Log Wrapper class for whatever logging system I2P uses. |
| Class and Description |
|---|
| EventDispatcher Event dispatching interface. |
| EventDispatcherImpl An implementation of the EventDispatcher interface. |
| Log Wrapper class for whatever logging system I2P uses. |
| Class and Description |
|---|
| EventDispatcher Event dispatching interface. |
| EventDispatcherImpl An implementation of the EventDispatcher interface. |
| Class and Description |
|---|
| EventDispatcher Event dispatching interface. |
| EventDispatcherImpl An implementation of the EventDispatcher interface. |
| Class and Description |
|---|
| Log Wrapper class for whatever logging system I2P uses. |
| Class and Description |
|---|
| Clock Alternate location for determining the time which takes into account an offset. |
| Clock.ClockUpdateListener Listener for clock offset changes. |
| CommandLine Simple command line access to various utilities. |
| I2PProperties.I2PPropertyCallback Callback interface for property change notifications. |
| I2PThread Preferred over Thread for all router uses. |
| KeyRing Thread-safe mapping from router hashes to session keys. |
| Log Wrapper class for whatever logging system I2P uses. |
| SimpleTimer2.TimedEvent Base class for timer events. |
| Class and Description |
|---|
| Log Wrapper class for whatever logging system I2P uses. |
| Class and Description |
|---|
| I2PThread Preferred over Thread for all router uses. |
| Class and Description |
|---|
| I2PThread Preferred over Thread for all router uses. |
| SimpleTimer2.TimedEvent Base class for timer events. |
| Class and Description |
|---|
| Log Wrapper class for whatever logging system I2P uses. |
| Class and Description |
|---|
| CommandLine Simple command line access to various utilities. |
| Class and Description |
|---|
| Log Wrapper class for whatever logging system I2P uses. |
| SimpleTimer2 Scheduled event executor backed by ScheduledThreadPoolExecutor. |
| SimpleTimer2.TimedEvent Base class for timer events. |
| Class and Description |
|---|
| I2PThread.OOMEventListener Listener for out-of-memory events. |
| SimpleTimer2.TimedEvent Base class for timer events. |
| Class and Description |
|---|
| Log Wrapper class for whatever logging system I2P uses. |
| Class and Description |
|---|
| AddressType Enumeration of supported address types. |
| Log Wrapper class for whatever logging system I2P uses. |
| Class and Description |
|---|
| I2PThread Preferred over Thread for all router uses. |
| Class and Description |
|---|
| Log Wrapper class for whatever logging system I2P uses. |
| Class and Description |
|---|
| Log Wrapper class for whatever logging system I2P uses. |
| SimpleTimer2.TimedEvent Base class for timer events. |
| Class and Description |
|---|
| ByteCache Cache the objects frequently used to reduce memory churn. |
| Log Wrapper class for whatever logging system I2P uses. |
| SimpleTimer2.TimedEvent Base class for timer events. |
| SyntheticREDQueue A "synthetic" queue that does not store data but estimates the average queue size
assuming a fixed output bandwidth, and applies the Random Early Detection (RED)
algorithm to decide probabilistically whether to accept or drop packets. |
| Class and Description |
|---|
| Log Wrapper class for whatever logging system I2P uses. |
| SimpleTimer2.TimedEvent Base class for timer events. |
| Class and Description |
|---|
| EepGet EepGet [-p 127.0.0.1:4444]
[-n #retries]
[-o outputFile]
[-m markSize lineLen]
url |
| EepGet.StatusListener Callback interface for monitoring EepGet transfer progress. |
| I2PAppThread Like I2PThread but with per-thread OOM listeners,
rather than a static router-wide listener list,
so that an OOM in an app won't call the router listener
to shutdown the whole router. |
| I2PThread Preferred over Thread for all router uses. |
| Log Wrapper class for whatever logging system I2P uses. |
| SimpleTimer2.TimedEvent Base class for timer events. |
| Class and Description |
|---|
| Log Wrapper class for whatever logging system I2P uses. |
| PasswordManager Manage both plaintext and salted/hashed password storage in
router.config. |
| SimpleTimer2.TimedEvent Base class for timer events. |
| Class and Description |
|---|
| Log Wrapper class for whatever logging system I2P uses. |
| PasswordManager Manage both plaintext and salted/hashed password storage in
router.config. |
| SimpleTimer2.TimedEvent Base class for timer events. |
| Translate Translate strings efficiently. |
| Class and Description |
|---|
| PortMapper Map services to internal or external application ports
for this context. |
| Class and Description |
|---|
| I2PAppThread Like I2PThread but with per-thread OOM listeners,
rather than a static router-wide listener list,
so that an OOM in an app won't call the router listener
to shutdown the whole router. |
| Log Wrapper class for whatever logging system I2P uses. |
| Class and Description |
|---|
| AddressType Enumeration of supported address types. |
| ArraySet A small, fast Set with a maximum size, backed by a fixed-size array. |
| BandwidthEstimator A Westwood bandwidth estimator |
| ByteCache Cache the objects frequently used to reduce memory churn. |
| Clock Alternate location for determining the time which takes into account an offset. |
| Clock.ClockUpdateListener Listener for clock offset changes. |
| DNSOverHTTPS.Type DNS query type for IPv4/IPv6 preference. |
| EepGet EepGet [-p 127.0.0.1:4444]
[-n #retries]
[-o outputFile]
[-m markSize lineLen]
url |
| EepGet.AUTH_MODE Authentication mode enumeration. |
| EepGet.AuthState Manage the authentication parameters
Ref: RFC 2617
Supports both Basic and Digest, however i2ptunnel HTTP proxy
has migrated all previous Basic support to Digest. |
| EepGet.StatusListener Callback interface for monitoring EepGet transfer progress. |
| EventDispatcher Event dispatching interface. |
| I2PProperties This class contains a number of properties ((key,value)-pairs). |
| I2PProperties.I2PPropertyCallback Callback interface for property change notifications. |
| I2PThread Preferred over Thread for all router uses. |
| I2PThread.OOMEventListener Listener for out-of-memory events. |
| InternalSocket A simple in-JVM Socket using Piped Streams. |
| LHMCache A LinkedHashMap with a maximum size, for use as
an LRU cache. |
| Log Wrapper class for whatever logging system I2P uses. |
| LogConsoleBuffer Offer a glimpse into the last few console messages generated. |
| LogManager Manages the logging system, loading (and reloading) the configuration file,
coordinating the log limits, and storing the set of log records pending. |
| LogRecord Keep track of a log entry, unformatted. |
| LogWriter Log writer thread that pulls log records from the LogManager and writes them to
the log. |
| RandomSource Singleton for whatever PRNG i2p uses. |
| ResettableGZIPInputStream GZIP implementation per
RFC 1952, reusing
java's standard CRC32 and Inflater and InflaterInputStream implementations. |
| ResettableGZIPOutputStream GZIP implementation per
RFC 1952, reusing
java's standard CRC32 and Deflater implementations. |
| ReusableGZIPInputStream Provide a cache of reusable GZIP unzipper streams. |
| ReusableGZIPOutputStream Provide a cache of reusable GZIP streams, each handling up to 40 KB output without
expansion. |
| SecureDirectory Same as File but sets the file mode after mkdir() so it can
be read and written by the owner only (i.e. |
| SimpleByteCache Like ByteCache but works directly with byte arrays, not ByteArrays. |
| SimpleTimer2 Scheduled event executor backed by ScheduledThreadPoolExecutor. |
| SimpleTimer2.TimedEvent Base class for timer events. |
| SocketTimeout Implements one or two timers; one for inactivity, that is reset by resetTimer(),
and optionally, a total time since instantiation, that is configured by setTotalTimeoutPeriod(). |
| SSLEepGet.ProxyType Not all may be supported. |
| SSLEepGet.SSLState An opaque class for the caller to pass to repeated instantiations of SSLEepGet. |
| SyntheticREDQueue A "synthetic" queue that does not store data but estimates the average queue size
assuming a fixed output bandwidth, and applies the Random Early Detection (RED)
algorithm to decide probabilistically whether to accept or drop packets. |
| TimeoutPipedInputStream Adds setReadTimeout(). |
| TryCache A thread-safe, lock-free-ish object cache that reuses objects to reduce allocation overhead. |
| TryCache.ObjectFactory Factory interface for creating new objects in TryCache. |
| UIMessages A queue of messages, where each has an ID number. |
| UIMessages.Message Represents a single UI message with a unique identifier. |
| Class and Description |
|---|
| Log Wrapper class for whatever logging system I2P uses. |
| Class and Description |
|---|
| CommandLine Simple command line access to various utilities. |
| EepGet.StatusListener Callback interface for monitoring EepGet transfer progress. |
| Log Wrapper class for whatever logging system I2P uses. |
| SimpleTimer2.TimedEvent Base class for timer events. |
| UIMessages.Message Represents a single UI message with a unique identifier. |
| Class and Description |
|---|
| RandomSource Singleton for whatever PRNG i2p uses. |
| Class and Description |
|---|
| EepGet.StatusListener Callback interface for monitoring EepGet transfer progress. |
| Log Wrapper class for whatever logging system I2P uses. |