Skip navigation links

I2P Javadocs for Release 0.9.34 Build 8

Core SDK (i2p.jar) 
Package Description
com.nettgryppa.security
HashCash implementation.
freenet.support.CPUInformation
CPUID implementaion, borrowed from freenet, updated and heavily modified.
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.elgamal
Interfaces for ElGamal keys, used for I2PProvider.
net.i2p.crypto.elgamal.impl
Implementation of ElGamal keys, used for I2PProvider.
net.i2p.crypto.elgamal.spec
Specs ElGamal keys, used for I2PProvider.
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.socks
Constants and clients for SOCKS.
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.minidev.json  
net.minidev.json.parser  
net.minidev.json.reader  
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 
Package Description
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 
Package Description
com.maxmind.geoip
This is geoip-api-java release 1.3.1 2016-02-08 retrieved from github.
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 
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 update process.
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.
Addressbook Application 
Package Description
net.i2p.addressbook
The addressbook application, which fetches hosts.txt files from subscription URLs via HTTP and adds new hosts to the local database.
net.i2p.router.naming  
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  
BOB Bridge 
Package Description
net.i2p.BOB
BOB, the Basic Open Bridge, allows TCP applications to talk over I2P.
BOB Demos 
Package Description
net.i2p.BOB.Demos.echo.echoclient  
net.i2p.BOB.Demos.echo.echoserver  
Desktopgui Application 
Package Description
net.i2p.desktopgui
Desktopgui is a graphical interface to I2P that allows managing the lifecycle of I2P from the system tray.
net.i2p.desktopgui.i18n  
net.i2p.desktopgui.router  
net.i2p.desktopgui.util  
I2PSnark Application 
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  
org.klomp.snark.comments
Data structures to support ut_comment, since 0.9.31.
org.klomp.snark.dht  
org.klomp.snark.standalone
Classes only used for, and bundled with, the standalone installation.
org.klomp.snark.web
The i2psnark user interface, implemented as a webapp in i2psnark.war.
I2PTunnel Application 
Package Description
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.
Imagegen Application 
Package Description
com.docuverse.identicon
The main identicon code is here.
com.google.zxing
This is a small portion of zxing, including only what's required to generate QR codes.
com.google.zxing.client.j2se  
com.google.zxing.common  
com.google.zxing.common.reedsolomon  
com.google.zxing.qrcode  
com.google.zxing.qrcode.decoder  
com.google.zxing.qrcode.encoder  
net.i2p.imagegen
Servlets for generating QR codes and identicon images.
Installer Utilities 
Package Description
net.i2p.installer
These classes make up the "Helper Utilities" that are used by the installer.
Jetty Utilities 
Package Description
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.
net.i2p.servlet.util
Small utilities for servlets.
JRobin Library 
Package Description
engine.misc  
org.jrobin.core  
org.jrobin.core.jrrd  
org.jrobin.core.timespec  
org.jrobin.data
JRobin data management.
org.jrobin.graph
JRobin graph capabilities.
SAM Bridge 
Package Description
net.i2p.sam
The SAM client API.
SAM Demos 
Package Description
net.i2p.sam.client
Demo and test client classes.
SusiDNS Application 
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
The servlet that starts the addressbook DaemonThread.
SusiMail Application 
Package Description
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 
Package Description
net.i2p.apps.systray
A system tray control for launching the I2P router console.
Skip navigation links