| Package | Description |
|---|---|
| net.i2p | Core I2P package providing fundamental interfaces, version information, and entry points to essential I2P services. |
| 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 recipient has an authenticated mechanism to reply to it. |
| 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.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 I2P network without requiring them to deal with the issues involved with the Invisible Internet Network Protocol (I2NP). |
| net.i2p.internal | Internal communication interfaces for router and client within
same JVM, using queues instead of socket-based I2CP. |
| net.i2p.kademlia | Generic Kademlia distributed hash table implementation supporting
multiple hash algorithms (SHA1, SHA256, etc.). |
| net.i2p.socks | SOCKS protocol implementation providing client and server functionality for proxy operations through I2P. |
| net.i2p.stat | Statistical collection and analysis framework used throughout the I2P router for adaptive operation, performance monitoring, and debugging. |
| net.i2p.time | Time synchronization utilities and interfaces for I2P applications. |
| net.i2p.update | Interfaces and utilities for update process that operate without
requiring full router context. |
| net.i2p.util | Core utility classes and helper functions used throughout the I2P router and applications. |
| Package | Description |
|---|---|
| com.southernstorm.noise.crypto.chacha20 | ChaCha20 stream cipher primitive for Noise protocol framework,
moved from router to core in 0.9.39. |
| com.southernstorm.noise.crypto.x25519 | X25519 elliptic curve Diffie-Hellman primitive for Noise
protocol framework, moved from router to core in 0.9.38. |
| net.i2p.crypto | Core cryptographic primitives and algorithms used throughout I2P. |
| 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 define curves and fields, and the mathematical operations on them. |
| net.i2p.crypto.eddsa.math.bigint | Generic mathematical implementation using Java BigIntegers for arbitrary elliptic curves. |
| net.i2p.crypto.eddsa.math.ed25519 | High-performance, optimized mathematical implementation for Ed25519 using Radix 2^51 representation. |
| net.i2p.crypto.eddsa.spec | Specifications and parameter tables for EdDSA elliptic curves
and cryptographic keys. |
| net.i2p.crypto.elgamal | Implementation of the ElGamal public-key cryptosystem for I2P. |
| net.i2p.crypto.elgamal.impl | Concrete implementations of ElGamal cryptographic keys for I2P. |
| net.i2p.crypto.elgamal.spec | Parameter specifications and key interfaces for ElGamal cryptographic operations. |
| net.i2p.crypto.provider | Java Security Provider implementation for I2P cryptographic algorithms. |
| net.i2p.crypto.x25519 | Implementation of X25519 elliptic curve Diffie-Hellman key exchange for I2P. |
| net.i2p.crypto.x25519.spec | Parameter specifications and algorithm configuration for X25519 operations. |
| Package | Description |
|---|---|
| freenet.support.CPUInformation | CPU identification and instruction set detection via the CPUID instruction. |
| gnu.crypto.prng | Fortuna Pseudo-Random Number Generator (PRNG) from GNU Crypto,
updated and modified for I2P's cryptographic operations. |
| gnu.getopt | This is Java getopt 1.0.14 (released 2012/02/08) |
| gnu.gettext | GettextResource class for ngettext() plural form handling,
taken unchanged from GNU gettext package version 0.19.8. |
| net.i2p.apache.http.conn.ssl | SSL/TLS socket factory and hostname verification from Apache HttpClient 4.4.1, providing secure HTTP connection support for I2P. |
| net.i2p.apache.http.conn.util | HTTP connection utilities from Apache HttpClient 4.4.1, providing connection management, network address utilities, and public suffix matching. |
| net.i2p.apache.http.util | HTTP utility classes from Apache HttpCore 4.4.1, providing argument validation and related HTTP utilities. |
| org.json.simple | This is json-simple release 2.3.1 2018-02-05
retrieved from github. |
| org.minidns | From MiniDNS release 1.0.0 (2020-07-18), containing the minidns-core portion of the library. |
| org.minidns.constants | DNS record types and constants for the MiniDNS library. |
| org.minidns.dnslabel | DNS label parsing and validation utilities. |
| org.minidns.dnsmessage | DNS message parsing and serialization. |
| org.minidns.dnsname | DNS name parsing, validation, and manipulation utilities. |
| org.minidns.edns | EDNS(0) extension mechanisms for DNS. |
| org.minidns.idna | Internationalized Domain Names in Applications (IDNA) support. |
| org.minidns.record | DNS resource record types and implementations. |
| org.minidns.util | Utility classes and helper functions for MiniDNS. |
| 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. |
| Package | Description |
|---|---|
| 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.router | The I2P router application handles I2P network communication. |
| net.i2p.router.app | Interface and framework for applications managed by the I2P router via
clients.config. |
| net.i2p.router.client | Router-side implementation of the I2CP (I2P Client Protocol) interface for application integration. |
| net.i2p.router.crypto | Router-specific cryptographic operations and implementations for I2P security. |
| 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.dummy | Dummy implementations and stub classes for testing purposes. |
| net.i2p.router.message | Garlic message creation, parsing, and source routing for I2P communications. |
| net.i2p.router.networkdb | Network database management and coordination for the I2P distributed hash table. |
| net.i2p.router.networkdb.kademlia | Kademlia DHT implementation and floodfill router functionality for I2P. |
| net.i2p.router.networkdb.reseed | Router reseeding functionality for bootstrapping into the I2P network. |
| net.i2p.router.peermanager | Peer management, profiling, and capacity calculation for I2P network optimization. |
| net.i2p.router.startup | The I2P startup package loads configuration when I2P is started. |
| net.i2p.router.sybil | Offline analysis tools for detecting Sybil attacks and malicious peer
coordination in the I2P network. |
| 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.util | Utility classes and helper functions used throughout the I2P router. |
| Package | Description |
|---|---|
| com.maxmind.db | This is MaxMind-DB-Reader-java release 1.2.2 2017-02-17 retrieved from github. |
| com.maxmind.geoip | This is geoip-api-java release 1.3.1 2016-02-08 retrieved from github. |
| com.maxmind.geoip2 | This is GeoIP2-java release 2.12.0 2018-04-11 retrieved from github. |
| com.southernstorm.noise.crypto | Fallback implementations of cryptographic primitives. |
| com.southernstorm.noise.protocol | Provides classes for communicating via the Noise protocol. |
| org.bouncycastle | This is a small portion of bouncycastle 1.80 for MLKEM, modified to reduce dependencies. |
| org.bouncycastle.crypto | Base classes for the lightweight API. |
| org.bouncycastle.crypto.digests | Message digest classes. |
| org.bouncycastle.crypto.params | Classes for parameter objects for ciphers and generators. |
| org.bouncycastle.pqc.crypto | Post-Quantum Cryptography implementations and algorithms. |
| org.bouncycastle.pqc.crypto.mlkem | This is a small portion of bouncycastle 1.80 for MLKEM, modified to reduce dependencies. |
| org.bouncycastle.pqc.crypto.util | Utility classes for Post-Quantum Cryptography operations. |
| org.bouncycastle.util | General purpose utility classes used throughout the APIs. |
| org.cybergarage | The cybergarage cyberlink UPnP library version 3.0, with minor mods for I2P. |
| org.cybergarage.http | HTTP protocol implementation and utilities. |
| org.cybergarage.net | Network interface and host management utilities. |
| org.cybergarage.soap | SOAP (Simple Object Access Protocol) implementation for UPnP. |
| org.cybergarage.upnp | Universal Plug and Play (UPnP) framework core components. |
| org.cybergarage.upnp.control | UPnP control and action invocation framework. |
| org.cybergarage.upnp.device | UPnP device implementation and management. |
| org.cybergarage.upnp.event | UPnP event notification and subscription management. |
| org.cybergarage.upnp.ssdp | Simple Service Discovery Protocol (SSDP) implementation for UPnP. |
| org.cybergarage.upnp.xml | XML parsing and data handling for UPnP device descriptions. |
| org.cybergarage.util | General utility classes and helper functions. |
| org.cybergarage.xml | XML parsing and manipulation utilities. |
| org.cybergarage.xml.parser | XML parser implementations and utilities. |
| org.freenetproject | Compatibility classes for integrating with CyberGarage UPnP
library, imported from Freenet project. |
| org.xlattice.crypto.filters | Bloom filter implementation used by DecayingBloomFilter for
efficient set membership testing. |
| Package | Description |
|---|---|
| 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 router update process for checking and applying
I2P router updates from the update manager. |
| 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.router.web.servlets | Full servlets, mostly for static content. |
| Package | Description |
|---|---|
| com.vuze.plugins.mlab | Integration layer for running the M-Lab Network Diagnostic Tool (NDT)
within the I2P router console. |
| com.vuze.plugins.mlab.tools.ndt.swingemu | Vuze/BiglyBT Swing stub layer for M-Lab Network Diagnostic Tool (NDT) Applet. |
| edu.internet2.ndt | The M-Lab Web100 Network Diagnostic Tool (NDT) Java Applet
Version 3.7.0.2 (May 20, 2015)
From: GitHub. |
| Package | Description |
|---|---|
| net.i2p.addressbook | Address book application for fetching and maintaining I2P host
databases from subscription sources. |
| net.i2p.router.naming | The default naming service implementation for the I2P router, using the
BlockfileNamingService based on the Metanotion BlockFile Database. |
| net.metanotion | Metanotion BlockFile Database |
| net.metanotion.io | Input/output utilities for the address book application. |
| net.metanotion.io.block | Block-based storage and file system utilities. |
| net.metanotion.io.block.index | Indexing and search utilities for block-based storage. |
| net.metanotion.io.data | Data structures and serialization utilities. |
| net.metanotion.util.skiplist | Skip list data structure implementation. |
| Package | Description |
|---|---|
| net.i2p.desktopgui | Desktop graphical interface for managing I2P router lifecycle
from the system tray. |
| net.i2p.desktopgui.i18n | Internationalization (i18n) support for the Desktop GUI. |
| net.i2p.desktopgui.router | Router integration and communication for the Desktop GUI. |
| Package | Description |
|---|---|
| com.thetransactioncompany.jsonrpc2 | Classes to represent, parse and serialise JSON-RPC 2.0 requests,
notifications and responses. |
| com.thetransactioncompany.jsonrpc2.server | Simple server framework for processing JSON-RPC 2.0 requests and
notifications. |
| com.thetransactioncompany.jsonrpc2.util | Utility classes for typed retrieval of JSON-RPC 2.0 request parameters on the
server side. |
| net.i2p.i2pcontrol | I2P Control provides a JSON-RPC 2.0 interface for controlling and monitoring the I2P router. |
| net.i2p.i2pcontrol.security | Security components for I2P Control authentication and authorization. |
| net.i2p.i2pcontrol.servlets | HTTP servlets for handling I2P Control JSON-RPC 2.0 requests. |
| net.i2p.i2pcontrol.servlets.configuration | Configuration management for I2P Control settings and parameters. |
| net.i2p.i2pcontrol.servlets.jsonrpc2handlers | JSON-RPC 2.0 handlers for I2P Control API methods. |
| org.mindrot.jbcrypt | BCrypt implementation for password hashing and verification. |
| Package | Description |
|---|---|
| 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 | Bencode parsing and serialization for BitTorrent protocol. |
| org.klomp.snark.comments | Data structures to support ut_comment, since 0.9.31. |
| org.klomp.snark.dht | Distributed Hash Table (DHT) implementation for BitTorrent. |
| org.klomp.snark.standalone | Classes exclusively used in standalone I2PSnark installations, providing
functionality not needed when running within the I2P router environment. |
| 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. |
| Package | Description |
|---|---|
| net.i2p.i2ptunnel | Implementation of preconfigured tunnels for both clients and servers, with a comprehensive UI for tunnel management and configuration. |
| net.i2p.i2ptunnel.access | Definition-based incoming connection filter for I2PTunnel, allowing fine-grained
access control for server tunnels. |
| 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.localServer | Lightweight HTTP server for serving static resources (CSS, images) used by
I2PTunnel HTTP client proxy error pages. |
| 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.udp | Core API and interfaces used by UDP tunnel implementations. |
| net.i2p.i2ptunnel.udpTunnel | UDP tunnel implementation for I2PTunnel. |
| net.i2p.i2ptunnel.ui | Public API classes for programmatic tunnel configuration and management. |
| net.i2p.i2ptunnel.util | Internal HTTP utilities and helper classes for I2PTunnel operations. |
| net.i2p.i2ptunnel.web | Web-based user interface for managing I2PTunnel configurations, implemented
as a webapp packaged in i2ptunnel.war. |
| Package | Description |
|---|---|
| com.docuverse.identicon | Identicon generation library for creating unique visual icons
from I2P destinations and identifiers. |
| com.google.zxing | Subset of ZXing (Zebra Crossing) library containing QR code
generation functionality for I2P destinations. |
| com.google.zxing.client.j2se | Java SE client-side implementation for ZXing barcode library. |
| com.google.zxing.common | Common utilities and classes for ZXing barcode and QR code processing. |
| com.google.zxing.common.reedsolomon | Reed-Solomon error correction algorithms for ZXing barcode library. |
| com.google.zxing.qrcode | QR code detection, decoding, and encoding for ZXing. |
| com.google.zxing.qrcode.decoder | QR code decoding implementation for ZXing. |
| com.google.zxing.qrcode.encoder | QR code encoding implementation for ZXing. |
| net.i2p.imagegen | Servlets and services for generating QR codes and identicon images
for I2P destinations and identifiers. |
| Package | Description |
|---|---|
| net.i2p.installer | Helper utilities and support classes used by the I2P installer. |
| Package | Description |
|---|---|
| net.i2p.jetty | I2P integration layer for the Jetty web server, providing embedded
Jetty startup, configuration, and logging integration with the I2P router. |
| net.i2p.servlet | Servlet utility classes for I2P web applications, originally from susimail
and moved to jetty-i2p.jar in 0.9.19 for shared use across all I2P webapps. |
| net.i2p.servlet.filters | Servlet filters for the I2P router console web application, providing
authentication, session management, and security header enforcement. |
| net.i2p.servlet.util | Utility classes for servlet operations and HTTP request handling. |
| Package | Description |
|---|---|
| com.tomgibara.crinch.hashing | Hashing utilities and interfaces for generating and managing hash values. |
| eu.bengreen.data.utility | Data utility classes for hashing and time-related algorithms. |
| org.rrd4j | RRD4J is a high performance data logging and graphing system for time series data, implementing
RRDTool's functionality in Java. |
| org.rrd4j.core | core RRD4J implementation. |
| org.rrd4j.core.jrrd | This package provides read-only access to natives RRD file. |
| org.rrd4j.core.timespec | Time specification parsing and handling for JRobin RRD system. |
| org.rrd4j.data | RRD4J data management classes and interfaces. Provides data sources, processors, aggregators, and utilities for Round Robin Database (RRD) operations and calculations. |
| org.rrd4j.graph | RRD4J graph capabilities. |
| Package | Description |
|---|---|
| net.i2p.sam | The SAM (Simple Anonymous Messaging) client API. |
| Package | Description |
|---|---|
| net.i2p.sam.client | Demo and test client classes. |
| Package | Description |
|---|---|
| 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. |
| net.i2p.addressbook.servlet | Servlet for starting and managing the address book DaemonThread. |
| Package | Description |
|---|---|
| i2p.susi.util | Utility classes for the SusiMail webmail client. |
| 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 | Character encoding and MIME handling for SusiMail. |
| i2p.susi.webmail.pop3 | POP3 protocol implementation for SusiMail. |
| i2p.susi.webmail.smtp | SMTP protocol implementation for SusiMail. |
| Package | Description |
|---|---|
| net.i2p.apps.systray | System tray integration and URL launcher for the I2P router console. |
| Package | Description |
|---|---|
| org.jfree.svg | Core classes for generating SVG (Scalable Vector Graphics) output from Java2D
graphics operations. |
| org.jfree.svg.util | Utility classes used by the JFreeSVG core library. |