| Package | Description |
|---|---|
| com.vuze.plugins.mlab | Integration layer for running the M-Lab Network Diagnostic Tool (NDT)
within the I2P router console. |
| gnu.crypto.prng | Fortuna Pseudo-Random Number Generator (PRNG) from GNU Crypto,
updated and modified for I2P's cryptographic operations. |
| 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. |
| i2p.susi.webmail | The SusiMail webapp, which implements a webmail interface, POP3 and SMTP client-side protocols, and local caching of email. |
| 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.apps.systray | System tray integration and URL launcher for the I2P router console. |
| 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.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.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.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.configuration | Configuration management for I2P Control settings and parameters. |
| 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.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.udpTunnel | UDP tunnel implementation for I2PTunnel. |
| net.i2p.i2ptunnel.ui | Public API classes for programmatic tunnel configuration and management. |
| net.i2p.i2ptunnel.web | Web-based user interface for managing I2PTunnel configurations, implemented
as a webapp packaged in i2ptunnel.war. |
| 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.kademlia | Generic Kademlia distributed hash table implementation supporting
multiple hash algorithms (SHA1, SHA256, etc.). |
| net.i2p.router | The I2P router application handles I2P network communication. |
| 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.naming | The default naming service implementation for the I2P router, using the
BlockfileNamingService based on the Metanotion BlockFile Database. |
| 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.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. |
| 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.sam.client | Demo and test client classes. |
| net.i2p.stat | Statistical collection and analysis framework used throughout the I2P router for adaptive operation, performance monitoring, and debugging. |
| net.i2p.util | Core utility classes and helper functions used throughout the I2P router and applications. |
| org.cybergarage.util | General utility classes and helper functions. |
| 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.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. |
| Modifier and Type | Method and Description |
|---|---|
static MLabRunner | MLabRunner.getInstance(I2PAppContext ctx)The singleton instance. |
| Constructor and Description |
|---|
AsyncFortunaStandalone(I2PAppContext context)Create a new AsyncFortunaStandalone. |
| Modifier and Type | Field and Description |
|---|---|
protected I2PAppContext | BaseBean._contextThe I2P application context |
| Constructor and Description |
|---|
MailCache(I2PAppContext ctx,
POP3MailBox mailbox,
String folderName,
String host,
int port,
String user,
String pass)Does NOT load the mails in. |
PersistentMailCache(I2PAppContext ctx,
String host,
int port,
String user,
String pass,
String folder)Use the params to generate a unique directory name. |
| Modifier and Type | Field and Description |
|---|---|
protected static I2PAppContext | I2PAppContext._globalAppContextThe context that components without explicit root are bound |
| Modifier and Type | Method and Description |
|---|---|
static I2PAppContext | I2PAppContext.getCurrentContext()Pull the default context, WITHOUT creating a new one. |
static I2PAppContext | I2PAppContext.getGlobalContext()Pull the default context, creating a new one if necessary, else using
the first one created. |
| Modifier and Type | Method and Description |
|---|---|
protected static boolean | I2PAppContext.setGlobalContext(I2PAppContext ctx)Default context, unless there is one already. |
| Constructor and Description |
|---|
ClientAppManagerImpl(I2PAppContext ctx)Creates a new ClientAppManagerImpl. |
| Constructor and Description |
|---|
UrlLauncher(I2PAppContext context,
ClientAppManager mgr,
String[] args)ClientApp constructor used from clients.config |
| Modifier and Type | Method and Description |
|---|---|
I2PSession | I2PSimpleClient.createSession(I2PAppContext context,
Properties options)Create a new session (though do not connect it yet) |
| Modifier and Type | Method and Description |
|---|---|
static Datagram2 | Datagram2.load(I2PAppContext ctx,
I2PSession session,
byte[] dgram)Load an I2P repliable datagram and verify the signature. |
static Datagram3 | Datagram3.load(I2PAppContext ctx,
I2PSession session,
byte[] dgram)Load an I2P repliable datagram3. |
static byte[] | Datagram3.make(I2PAppContext ctx,
I2PSession session,
byte[] payload)Make a repliable I2P datagram3 containing the specified payload. |
static byte[] | Datagram2.make(I2PAppContext ctx,
I2PSession session,
byte[] payload,
Hash tohash)Make a repliable I2P datagram2 containing the specified payload. |
static byte[] | Datagram2.make(I2PAppContext ctx,
I2PSession session,
byte[] payload,
Hash tohash,
Properties options)Make a repliable I2P datagram2 containing the specified payload. |
static byte[] | Datagram3.make(I2PAppContext ctx,
I2PSession session,
byte[] payload,
Properties options)Make a repliable I2P datagram3 containing the specified payload. |
| Modifier and Type | Field and Description |
|---|---|
protected I2PAppContext | HandlerImpl._contextThe application context |
protected I2PAppContext | I2PSessionImpl._contextused to separate things out so we can get rid of singletons |
| Modifier and Type | Method and Description |
|---|---|
(package private) I2PAppContext | I2PSessionImpl.getContext()For Subsessions |
| Modifier and Type | Method and Description |
|---|---|
I2PSession | I2PClientImpl.createSession(I2PAppContext context,
InputStream destKeyStream,
Properties options)Create a new session (though do not connect it yet) |
| Constructor and Description |
|---|
BWLimitsMessageHandler(I2PAppContext ctx)Create a handler for I2CP bandwidth limit messages. |
DestReplyMessageHandler(I2PAppContext ctx)Create a new DestReplyMessageHandler. |
DisconnectMessageHandler(I2PAppContext context) |
HandlerImpl(I2PAppContext context,
int type)HandlerImpl. |
HostReplyMessageHandler(I2PAppContext ctx)HostReplyMessageHandler. |
I2CPMessageProducer(I2PAppContext context)I2CPMessageProducer. |
I2PClientMessageHandlerMap(I2PAppContext context)I2PClientMessageHandlerMap. |
I2PSessionDemultiplexer(I2PAppContext ctx)Create a new demultiplexer. |
I2PSessionImpl(I2PAppContext context,
InputStream destKeyStream,
Properties options)Create a new session, reading the Destination, PrivateKey, and SigningPrivateKey
from the destKeyStream, and using the specified options to connect to the router
As of 0.9.19, defaults in options are honored. |
I2PSessionImpl(I2PAppContext context,
Properties options,
I2PClientMessageHandlerMap handlerMap)for extension by SimpleSession (no dest) |
I2PSessionImpl2(I2PAppContext ctx,
InputStream destKeyStream,
Properties options)for extension by I2PSessionMuxedImpl
Create a new session, reading the Destination, PrivateKey, and SigningPrivateKey
from the destKeyStream, and using the specified options to connect to the router |
I2PSessionImpl2(I2PAppContext context,
Properties options,
I2PClientMessageHandlerMap handlerMap)for extension by SimpleSession (no dest) |
I2PSessionMuxedImpl(I2PAppContext ctx,
InputStream destKeyStream,
Properties options)Create a new muxed session. |
I2PSimpleSession(I2PAppContext context,
Properties options)Create a new session for doing naming and bandwidth queries only. |
MessagePayloadMessageHandler(I2PAppContext context)MessagePayloadMessageHandler. |
MessageState(I2PAppContext ctx,
long nonce,
I2PSession session,
long expires,
SendMessageStatusListener listener)For asynchronous notification |
MessageState(I2PAppContext ctx,
long nonce,
String prefix)For synchronous waiting for accept with waitForAccept(). |
MessageStatusMessageHandler(I2PAppContext context)MessageStatusMessageHandler. |
RequestLeaseSetMessageHandler(I2PAppContext context)RequestLeaseSetMessageHandler. |
RequestLeaseSetMessageHandler(I2PAppContext context,
int messageType)For extension |
RequestVariableLeaseSetMessageHandler(I2PAppContext context)RequestVariableLeaseSetMessageHandler. |
SessionIdleTimer(I2PAppContext context,
I2PSessionImpl session,
boolean reduce,
boolean shutdown)reduce, shutdown, or both must be true |
SessionStatusMessageHandler(I2PAppContext context)SessionStatusMessageHandler. |
SetDateMessageHandler(I2PAppContext ctx)SetDateMessageHandler. |
| Modifier and Type | Field and Description |
|---|---|
protected I2PAppContext | NamingService._contextcontext |
| Modifier and Type | Method and Description |
|---|---|
static NamingService | NamingService.createInstance(I2PAppContext context)WARNING - for use by I2PAppContext only - others must use
I2PAppContext.namingService()
Get a naming service instance. |
(package private) static Destination | LookupDest.lookupBase32Hash(I2PAppContext ctx,
String key)Look up a destination by Base32 hash. |
(package private) static Destination | LookupDest.lookupHostname(I2PAppContext ctx,
String hostname)Any hostname, but this is for long-format b32 |
| Constructor and Description |
|---|
DummyNamingService(I2PAppContext context)The naming service should only be constructed and accessed through the
application context. |
EepGetAndAddNamingService(I2PAppContext context)Deprecated. Create a new EepGet and add naming service. |
EepGetNamingService(I2PAppContext context)The naming service should only be constructed and accessed through the
application context. |
HostsTxtNamingService(I2PAppContext context)The naming service should only be constructed and accessed through the
application context. |
LookupDest(I2PAppContext context)Create a new LookupDest instance. |
MetaNamingService(I2PAppContext context)Construct a new meta naming service. |
MetaNamingService(I2PAppContext context,
List<NamingService> services)Create a new meta naming service with the specified services. |
NamingService(I2PAppContext context)The naming service should only be constructed and accessed through the
application context. |
SingleFileNamingService(I2PAppContext context,
String filename)Application context. |
| Modifier and Type | Method and Description |
|---|---|
void | I2PSocketManager.init(I2PAppContext context,
I2PSession session,
Properties opts,
String name)Deprecated - Factory will initialize. |
| Constructor and Description |
|---|
I2PSocketEepGet(I2PAppContext ctx,
I2PSocketManager mgr,
int numRetries,
long minSize,
long maxSize,
String outputFile,
OutputStream outputStream,
String url)Creates an I2PSocketEepGet with full configuration. |
I2PSocketEepGet(I2PAppContext ctx,
I2PSocketManager mgr,
int numRetries,
String outputFile,
String url)Creates an I2PSocketEepGet with default size limits. |
| Modifier and Type | Field and Description |
|---|---|
protected I2PAppContext | SchedulerImpl._context_context. |
| Modifier and Type | Method and Description |
|---|---|
static int | ConnectionPacketHandler.getMaxSlowStartWindow(I2PAppContext ctx)Get the maximum slow start window size. |
void | I2PSocketManagerFull.init(I2PAppContext context,
I2PSession session,
Properties opts,
String name)Deprecated. use 4-arg constructor |
boolean | Packet.verifySignature(I2PAppContext ctx,
byte[] buffer)Determine whether the signature on the data is valid. |
boolean | Packet.verifySignature(I2PAppContext ctx,
SigningPublicKey altSPK,
byte[] buffer)Determine whether the signature on the data is valid. |
| Constructor and Description |
|---|
Connection(I2PAppContext ctx,
ConnectionManager manager,
I2PSession session,
SchedulerChooser chooser,
SimpleTimer2 timer,
PacketQueue queue,
ConnectionPacketHandler handler,
ConnectionOptions opts,
boolean isInbound) |
ConnectionDataReceiver(I2PAppContext ctx,
Connection con) |
ConnectionHandler(I2PAppContext context,
ConnectionManager mgr,
SimpleTimer2 timer)Creates a new instance of ConnectionHandler |
ConnectionManager(I2PAppContext context,
I2PSession session,
ConnectionOptions defaultOptions,
IncomingConnectionFilter connectionFilter)Manage all conns for this session |
ConnectionPacketHandler(I2PAppContext context)Create a new ConnectionPacketHandler. |
I2PSocketFull(Connection con,
I2PAppContext context) |
I2PSocketManagerFull(I2PAppContext context,
I2PSession session,
Properties opts,
String name,
IncomingConnectionFilter connectionFilter)This is what I2PSocketManagerFactory.createManager() returns. |
MessageHandler(I2PAppContext ctx,
ConnectionManager mgr)Creates a new MessageHandler |
MessageInputStream(I2PAppContext ctx,
int maxMessageSize,
int maxWindowSize,
int maxBufferSize)Constructs a new MessageInputStream with the specified buffer limits. |
MessageInputStream(I2PAppContext ctx,
int maxMessageSize,
int maxWindowSize,
int maxBufferSize,
int maxPacketCount)Constructs a new MessageInputStream with the specified buffer limits. |
MessageOutputStream(I2PAppContext ctx,
SimpleTimer2 timer,
MessageOutputStream.DataReceiver receiver,
int bufSize,
int initBufSize)Constructs the stream with default passive flush delay. |
MessageOutputStream(I2PAppContext ctx,
SimpleTimer2 timer,
MessageOutputStream.DataReceiver receiver,
int bufSize,
int initBufSize,
int passiveFlushDelay)Constructs the stream with specified passive flush delay. |
PacketHandler(I2PAppContext ctx,
ConnectionManager mgr)PacketHandler. |
PacketLocal(I2PAppContext ctx,
Destination to,
Connection con)bound to a connection |
PacketLocal(I2PAppContext ctx,
Destination to,
I2PSession session)not bound to a connection |
PacketQueue(I2PAppContext context,
SimpleTimer2 timer)PacketQueue. |
PcapWriter(I2PAppContext ctx,
String file)Creates a new PcapWriter that writes to the specified file in the log directory. |
RetransmissionTimer(I2PAppContext ctx,
String name) |
SchedulerChooser(I2PAppContext context)Create a new scheduler chooser with all available schedulers. |
SchedulerClosed(I2PAppContext ctx)SchedulerClosed. |
SchedulerClosing(I2PAppContext ctx)SchedulerClosing. |
SchedulerConnectedBulk(I2PAppContext ctx)SchedulerConnectedBulk. |
SchedulerConnecting(I2PAppContext ctx)SchedulerConnecting. |
SchedulerDead(I2PAppContext ctx)SchedulerDead. |
SchedulerHardDisconnected(I2PAppContext ctx)SchedulerHardDisconnected. |
SchedulerImpl(I2PAppContext ctx)Create a new scheduler with the given context. |
SchedulerPreconnect(I2PAppContext ctx)SchedulerPreconnect. |
SchedulerReceived(I2PAppContext ctx)SchedulerReceived. |
SimpleBandwidthEstimator(I2PAppContext ctx,
ConnectionOptions opts)SimpleBandwidthEstimator |
TCBShare(I2PAppContext ctx,
SimpleTimer2 timer)Creates a new TCB share cache. |
| Modifier and Type | Field and Description |
|---|---|
protected I2PAppContext | AESEngine._contextI2P application context |
| Modifier and Type | Method and Description |
|---|---|
static BlindData | Blinding.decode(I2PAppContext ctx,
byte[] b)Decode a new-format b32 address. |
static BlindData | Blinding.decode(I2PAppContext ctx,
String address)Decode a new-format b32 address. |
static SigningPrivateKey | Blinding.generateAlpha(I2PAppContext ctx,
SigningPublicKey destspk,
String secret)Generate alpha for current time. |
static SigningPrivateKey | Blinding.generateAlpha(I2PAppContext ctx,
SigningPublicKey destspk,
String secret,
long now)Generate alpha for the given time. |
static byte[] | AESEngine.getPadding(I2PAppContext context,
int curSize,
long minPaddedSize)Return random bytes for padding the data to a mod 16 size so that it is
at least minPaddedSize
Public for ElGamalAESEngine. |
static boolean | CertUtil.isRevoked(I2PAppContext ctx,
Certificate cert)Is the certificate revoked?
This loads the CRLs from disk. |
static CertStore | CertUtil.loadCRLs(I2PAppContext ctx)Load CRLs from standard locations. |
| Constructor and Description |
|---|
AESEngine(I2PAppContext ctx)Constructor for subclasses. |
CryptixAESEngine(I2PAppContext context) |
DSAEngine(I2PAppContext context)Create a DSA engine for the given context. |
ElGamalEngine(I2PAppContext context)The ElGamal engine should only be constructed and accessed through the
application context. |
HKDF(I2PAppContext context) |
HMAC256Generator(I2PAppContext context)Create a new HMAC256Generator. |
KeyGenerator(I2PAppContext context)Create a new KeyGenerator. |
SessionKeyManager(I2PAppContext context)A dummy SessionKeyManager for testing or for passing to
ElGamalAESEngine.decrypt() |
SHA256Generator(I2PAppContext context)Unused. |
SU3File(I2PAppContext context,
File file) |
TrustedUpdate(I2PAppContext context)Constructs a new TrustedUpdate with the given
I2PAppContext. |
YKGenerator(I2PAppContext context)Caller must also call start() to start the background precalc thread. |
| Constructor and Description |
|---|
BlindData(I2PAppContext ctx,
Destination dest,
SigType blindType,
String secret)Creates a new BlindData instance for the given destination. |
BlindData(I2PAppContext ctx,
Destination dest,
SigType blindType,
String secret,
int authType,
PrivateKey authKey)Creates a new BlindData instance for the given destination with authentication. |
BlindData(I2PAppContext ctx,
SigningPublicKey spk,
SigType blindType,
String secret)Creates a new BlindData instance for the given signing public key. |
BlindData(I2PAppContext ctx,
SigningPublicKey spk,
SigType blindType,
String secret,
int authType,
PrivateKey authKey)Creates a new BlindData instance for the given signing public key with authentication. |
| Modifier and Type | Field and Description |
|---|---|
protected I2PAppContext | I2NPMessageImpl._context_context. |
| Modifier and Type | Method and Description |
|---|---|
I2NPMessage | I2NPMessageImpl.Builder.build(I2PAppContext ctx)instantiate a new I2NPMessage to be populated shortly |
static EncryptedBuildRecord | BuildResponseRecord.create(I2PAppContext ctx,
int status,
SessionKey replyKey,
byte[] replyIV,
long responseMessageId)Creates a new AES-encrypted response record. |
static EncryptedBuildRecord | BuildResponseRecord.create(I2PAppContext ctx,
int status,
SessionKey replyKey,
byte[] replyAD,
Properties options)Creates a new ChaCha/Poly-encrypted response record (long format). |
static I2NPMessage | I2NPMessageImpl.createMessage(I2PAppContext context,
int type)Yes, this is fairly ugly, but its the only place it ever happens. |
static ShortEncryptedBuildRecord | BuildResponseRecord.createShort(I2PAppContext ctx,
int status,
SessionKey replyKey,
byte[] replyAD,
Properties options,
int slot)Creates a new ChaCha/Poly-encrypted response record (short format). |
EncryptedBuildRecord | BuildRequestRecord.encryptRecord(I2PAppContext ctx,
PublicKey toKey,
Hash toPeer)Encrypts the record using ElGamal. |
static I2NPMessage | I2NPMessageImpl.fromRawByteArray(I2PAppContext ctx,
byte[] buffer,
int offset,
int len,
I2NPMessageHandler handler)Read the message with a short 5-byte header. |
static I2NPMessage | I2NPMessageImpl.fromRawByteArrayNTCP2(I2PAppContext ctx,
byte[] buffer,
int offset,
int len,
I2NPMessageHandler handler)Read the message with a short 9-byte header. |
| Constructor and Description |
|---|
BuildRequestRecord(I2PAppContext ctx,
long receiveTunnelId,
Hash peer,
long nextTunnelId,
Hash nextHop,
long nextMsgId,
SessionKey layerKey,
SessionKey ivKey,
SessionKey replyKey,
byte[] iv,
boolean isInGateway,
boolean isOutEndpoint)Creates a new ElGamal build request record. |
BuildRequestRecord(I2PAppContext ctx,
long receiveTunnelId,
long nextTunnelId,
Hash nextHop,
long nextMsgId,
boolean isInGateway,
boolean isOutEndpoint,
Properties options)Creates a new ECIES short build request record. |
BuildRequestRecord(I2PAppContext ctx,
long receiveTunnelId,
long nextTunnelId,
Hash nextHop,
long nextMsgId,
SessionKey layerKey,
SessionKey ivKey,
SessionKey replyKey,
byte[] iv,
boolean isInGateway,
boolean isOutEndpoint,
Properties options)Creates a new ECIES long build request record. |
DatabaseLookupMessage(I2PAppContext context)DatabaseLookupMessage. |
DatabaseLookupMessage(I2PAppContext context,
boolean locallyCreated) |
DatabaseSearchReplyMessage(I2PAppContext context)DatabaseSearchReplyMessage. |
DatabaseStoreMessage(I2PAppContext context)Creates a new DatabaseStoreMessage. |
DataMessage(I2PAppContext context)Create a new DataMessage. |
DeliveryStatusMessage(I2PAppContext context)Create a delivery status message |
FastI2NPMessageImpl(I2PAppContext context) |
GarlicClove(I2PAppContext context)GarlicClove. |
GarlicMessage(I2PAppContext context)GarlicMessage. |
I2NPMessageHandler(I2PAppContext context)method comment |
I2NPMessageImpl(I2PAppContext context)I2NPMessageImpl. |
OutboundTunnelBuildReplyMessage(I2PAppContext context)zero record count, will be set with readMessage() |
OutboundTunnelBuildReplyMessage(I2PAppContext context,
int records)OutboundTunnelBuildReplyMessage. |
ShortTunnelBuildMessage(I2PAppContext context)zero record count, will be set with readMessage() |
ShortTunnelBuildMessage(I2PAppContext context,
int records)ShortTunnelBuildMessage. |
ShortTunnelBuildReplyMessage(I2PAppContext context,
int records)ShortTunnelBuildReplyMessage. |
TunnelBuildMessage(I2PAppContext context)TunnelBuildMessage. |
TunnelBuildMessage(I2PAppContext context,
int records) |
TunnelBuildMessageBase(I2PAppContext context)TunnelBuildMessageBase. |
TunnelBuildMessageBase(I2PAppContext context,
int records) |
TunnelBuildReplyMessage(I2PAppContext context)TunnelBuildReplyMessage. |
TunnelBuildReplyMessage(I2PAppContext context,
int records)Create a tunnel build reply message with a custom record count. |
TunnelDataMessage(I2PAppContext context)Constructor with 10-second message expiration from context clock. |
TunnelGatewayMessage(I2PAppContext context)Constructor with 10-second message expiration from context clock. |
UnknownI2NPMessage(I2PAppContext context,
int type) |
VariableTunnelBuildMessage(I2PAppContext context)zero record count, will be set with readMessage() |
VariableTunnelBuildMessage(I2PAppContext context,
int records)Constructor with the given number of build records. |
VariableTunnelBuildReplyMessage(I2PAppContext context)zero record count, will be set with readMessage() |
VariableTunnelBuildReplyMessage(I2PAppContext context,
int records)Constructor with the given number of build reply records. |
| Constructor and Description |
|---|
RouterKeyGenerator(I2PAppContext context)Constructor that initializes GMT date formatter and generates current routing key modifier data. |
| Modifier and Type | Field and Description |
|---|---|
protected I2PAppContext | TrayManager._appContext_appContext. |
| Constructor and Description |
|---|
ExternalMain(I2PAppContext ctx,
ClientAppManager mgr,
String[] args)Create a new ExternalMain with the specified context and manager. |
ExternalTrayManager(I2PAppContext ctx,
boolean useSwing)Create a new ExternalTrayManager. |
TrayManager(I2PAppContext ctx,
boolean useSwing)Create a new tray manager. |
| Modifier and Type | Method and Description |
|---|---|
static String | DesktopguiTranslator._t(I2PAppContext ctx,
String s)Translate a string using the desktopgui message bundle. |
static String | DesktopguiTranslator._t(I2PAppContext ctx,
String s,
Object o)Translate a string with one parameter using the desktopgui message bundle. |
| Constructor and Description |
|---|
HostCheckHandler(I2PAppContext ctx)MUST call setListenHosts() afterwards. |
| Constructor and Description |
|---|
SecurityManager(I2PAppContext ctx,
KeyStoreProvider ksp,
ConfigurationManager conf) |
| Constructor and Description |
|---|
ConfigurationManager(I2PAppContext ctx,
File dir,
boolean isPlugin)ConfigurationManager. |
| Modifier and Type | Field and Description |
|---|---|
protected I2PAppContext | I2PTunnelClientBase._contextThe application context |
| Modifier and Type | Method and Description |
|---|---|
I2PAppContext | I2PTunnel.getContext()Gets the application context. |
I2PAppContext | TunnelControllerGroup.getContext()Helper |
| Modifier and Type | Method and Description |
|---|---|
protected static String | I2PTunnelHTTPClientBase.getErrorPage(I2PAppContext ctx,
String base,
String backup)foo => errordir/foo-header_xx.ht for lang xx, or errordir/foo-header.ht,
or the backup byte array on fail. |
static TunnelControllerGroup | TunnelControllerGroup.getInstance(I2PAppContext ctx)In I2PAppContext will instantiate if necessary and always return non-null. |
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. |
| Constructor and Description |
|---|
TunnelControllerGroup(I2PAppContext context,
ClientAppManager mgr,
String[] args)Instantiation only. |
| Modifier and Type | Method and Description |
|---|---|
static StatefulConnectionFilter | FilterFactory.createFilter(I2PAppContext context,
File definition)Creates an instance of IncomingConnectionFilter based on the definition
contained in the given file. |
| Constructor and Description |
|---|
AccessFilter(I2PAppContext context,
FilterDefinition definition)Create a new access filter. |
| Modifier and Type | Method and Description |
|---|---|
static void | LocalHTTPServer.serveLocalFile(I2PAppContext context,
I2PSocketManager sockMgr,
OutputStream out,
String method,
String targetRequest,
String query,
String proxyNonce,
boolean allowGzip)Very simple web server. |
| Modifier and Type | Field and Description |
|---|---|
protected I2PAppContext | SOCKSServer._context |
| Modifier and Type | Method and Description |
|---|---|
static SOCKSServer | SOCKSServerFactory.createSOCKSServer(I2PAppContext ctx,
Socket s,
Properties props)Create a new SOCKS server, using the provided socket (that must
be connected to a client) to select the proper SOCKS protocol
version. |
| Constructor and Description |
|---|
SOCKS4aServer(I2PAppContext ctx,
Socket clientSock,
Properties props)Create a SOCKS4a server that communicates with the client using
the specified socket. |
SOCKS5Server(I2PAppContext ctx,
Socket clientSock,
Properties props)Create a SOCKS5 server that communicates with the client using
the specified socket. |
SOCKSServer(I2PAppContext ctx,
Socket clientSock,
Properties props) |
| Constructor and Description |
|---|
Pinger(I2PAppContext ctx,
int fromPort) |
| Modifier and Type | Field and Description |
|---|---|
protected I2PAppContext | I2PTunnelUDPClientBase._contextThe I2P app context |
| Modifier and Type | Field and Description |
|---|---|
protected I2PAppContext | TunnelConfig._context |
| Modifier and Type | Method and Description |
|---|---|
protected static String | GeneralHelper._t(String key,
I2PAppContext context)Translate a string using the given context. |
static String | Messages._t(String key,
I2PAppContext ctx)Static translation method |
static List<String> | GeneralHelper.deleteTunnel(I2PAppContext context,
TunnelControllerGroup tcg,
int tunnel,
String privKeyFile)Stop the tunnel, delete from config,
rename the private key file if in the default directory |
static String | Messages.ngettext(String s,
String p,
int n,
I2PAppContext ctx)translate (ngettext) |
protected static List<String> | GeneralHelper.saveConfig(I2PAppContext context,
TunnelControllerGroup tcg,
int tunnel)Save the configuration for an existing tunnel to disk. |
static List<String> | GeneralHelper.saveTunnel(I2PAppContext context,
TunnelControllerGroup tcg,
int tunnel,
TunnelConfig config)Save the configuration for a new or existing tunnel to disk. |
| Constructor and Description |
|---|
GeneralHelper(I2PAppContext context,
TunnelControllerGroup tcg)Construct a new helper with a specific context. |
| Modifier and Type | Field and Description |
|---|---|
protected I2PAppContext | IndexBean._context |
| Constructor and Description |
|---|
I2PLogger(I2PAppContext ctx) |
JettyStart(I2PAppContext context,
ClientAppManager mgr,
String[] args)All args must be XML file names. |
| Modifier and Type | Field and Description |
|---|---|
protected I2PAppContext | RandomTrimmer._ctxcontext |
| Constructor and Description |
|---|
KBucketImpl(I2PAppContext context,
int begin,
int end,
int max,
KBucketTrimmer<T> trimmer)All entries in this bucket will have at least one bit different
from us in the range [begin, end] inclusive. |
KBucketSet(I2PAppContext context,
T us,
int max,
int b)Use the default trim strategy, which removes a random entry. |
KBucketSet(I2PAppContext context,
T us,
int max,
int b,
KBucketTrimmer<T> trimmer)Use the supplied trim strategy. |
RandomIfOldTrimmer(I2PAppContext ctx,
int max) |
RandomTrimmer(I2PAppContext ctx,
int max)Constructor |
| Modifier and Type | Class and Description |
|---|---|
class | RouterContextExtended application context that provides centralized resource coordination for router instances. |
| Modifier and Type | Method and Description |
|---|---|
String | CommSystemFacade.Status.toLocalizedStatusString(I2PAppContext ctx)toStatusString(), translated if available. |
| Modifier and Type | Field and Description |
|---|---|
protected I2PAppContext | TransientSessionKeyManager._contextThe router context |
| Constructor and Description |
|---|
ElGamalAESEngine(I2PAppContext ctx)Creates engine with given context and initializes crypto frequency stats. |
TransientSessionKeyManager(I2PAppContext context)The session key manager should only be constructed and accessed through the
application context. |
TransientSessionKeyManager(I2PAppContext context,
int tagsToSend,
int lowThreshold) |
| Constructor and Description |
|---|
MLKEMKeyFactory(I2PAppContext ctx,
EncType type)Alice side only |
| Modifier and Type | Method and Description |
|---|---|
static int | RatchetPayload.processPayload(I2PAppContext ctx,
RatchetPayload.PayloadCallback cb,
byte[] payload,
int off,
int length,
boolean isHandshake)Process a ratchet payload, calling the callback for each block found. |
| Constructor and Description |
|---|
Elligator2(I2PAppContext ctx)Create an Elligator2 instance. |
PaddingBlock(I2PAppContext context,
int size)Deprecated. Use PaddingBlock(int) instead. |
| Constructor and Description |
|---|
BlockfileNamingService(I2PAppContext context)Opens the database at hostsdb.blockfile or creates a new
one and imports entries from hosts.txt, userhosts.txt, and privatehosts.txt. |
| Modifier and Type | Method and Description |
|---|---|
static boolean | PersistNews.delete(I2PAppContext ctx,
NewsEntry entry)Unused for now, as we don't have any way to remember it's deleted. |
static List<NewsEntry> | PersistNews.load(I2PAppContext ctx)This does not check for any missing values. |
static boolean | PersistNews.store(I2PAppContext ctx,
List<Node> entries)Store each entry. |
boolean | BlocklistEntries.verify(I2PAppContext ctx)Verify the blocklist signature. |
| Constructor and Description |
|---|
NewsManager(I2PAppContext ctx,
ClientAppManager listener,
String[] args) |
NewsXMLParser(I2PAppContext ctx)Creates a new NewsXMLParser with the given context |
XMLParser(I2PAppContext ctx)XMLParser. |
| Modifier and Type | Method and Description |
|---|---|
static File | ClientAppConfig.configDir(I2PAppContext ctx)This is the config dir. |
static File | ClientAppConfig.configFile(I2PAppContext ctx)This is the old config file. |
static boolean | ClientAppConfig.isSplitConfig(I2PAppContext ctx)Only valid for the router's clients (not plugins). |
static void | ClientAppConfig.writeClientAppConfig(I2PAppContext ctx,
ClientAppConfig app)Classpath and stopargs not supported. |
static void | ClientAppConfig.writeClientAppConfig(I2PAppContext ctx,
List<ClientAppConfig> apps)Classpath and stopargs not supported. |
| Constructor and Description |
|---|
PersistSybil(I2PAppContext ctx)Create a new PersistSybil instance. |
| Modifier and Type | Method and Description |
|---|---|
static boolean | ThreadDump.dump(I2PAppContext context,
int secondsToWait)Signal the wrapper to asynchronously dump threads to wrapper.log. |
| Constructor and Description |
|---|
RouterTimestamper(I2PAppContext ctx)Does not start. |
RouterTimestamper(I2PAppContext ctx,
Timestamper.UpdateListener lsnr)Does not start. |
RouterTimestamper(I2PAppContext ctx,
Timestamper.UpdateListener lsnr,
boolean daemon)Does not start. |
Zones(I2PAppContext ctx)Reads in the file in the constructor,
so hold onto this. |
| Modifier and Type | Method and Description |
|---|---|
(package private) static void | GeoIP.notifyVersion(I2PAppContext ctx,
String subtype,
long version)Tell the update manager. |
static String[] | GeoIPv6.readGeoIPFile(I2PAppContext context,
Long[] search,
Map<String,String> codeCache)Lookup search items in the geoip file. |
| Constructor and Description |
|---|
GeoIP(I2PAppContext context) |
UPnP(I2PAppContext context,
int ssdpPort,
int httpPort,
InetAddress[] binds)UPnP. |
| Constructor and Description |
|---|
X25519KeyFactory(I2PAppContext ctx)X25519KeyFactory. |
| Modifier and Type | Method and Description |
|---|---|
static int | NTCP2Payload.processPayload(I2PAppContext ctx,
NTCP2Payload.PayloadCallback cb,
byte[] payload,
int off,
int length,
boolean isHandshake)Incoming payload. |
| Constructor and Description |
|---|
DateTimeBlock(I2PAppContext ctx)DateTimeBlock. |
NTCPSendFinisher(I2PAppContext context,
NTCPTransport transport)Create a new send finisher. |
PaddingBlock(I2PAppContext context,
int size)with random data |
| Modifier and Type | Method and Description |
|---|---|
static byte[] | SSU2Util.createPeerTestData(I2PAppContext ctx,
Hash h,
Hash h2,
PeerTestState.Role role,
long nonce,
byte[] ip,
int port,
SigningPrivateKey spk)Make the data for the peer test block |
static byte[] | SSU2Util.createRelayRequestData(I2PAppContext ctx,
Hash h,
Hash h2,
long nonce,
long tag,
byte[] ip,
int port,
SigningPrivateKey spk)Make the data for the relay request block |
static byte[] | SSU2Util.createRelayResponseData(I2PAppContext ctx,
Hash h,
int code,
long nonce,
byte[] ip,
int port,
SigningPrivateKey spk,
long token)Make the data for the relay response block |
static byte[] | SSU2Util.hkdf(I2PAppContext ctx,
byte[] key,
String info)32 byte output, ZEROLEN data |
static int | SSU2Payload.processPayload(I2PAppContext ctx,
SSU2Payload.PayloadCallback cb,
byte[] payload,
int off,
int length,
boolean isHandshake,
RemoteHostId from)Incoming payload. |
static Signature | SSU2Util.sign(I2PAppContext ctx,
byte[] prologue,
Hash h,
Hash h2,
byte[] data,
int datalen,
SigningPrivateKey spk)Sign the relay or peer test data, using
the prologue and hash as the initial data,
and then the provided data. |
static boolean | SSU2Util.validateSig(I2PAppContext ctx,
byte[] prologue,
Hash h,
Hash h2,
byte[] data,
SigningPublicKey spk)Validate the signed relay or peer test data, using
the prologue and hash as the initial data,
and then the provided data which ends with a signature of the specified type. |
| Constructor and Description |
|---|
DateTimeBlock(I2PAppContext ctx)Create a date/time block with the current clock time. |
OutboundMessageState(I2PAppContext context,
I2NPMessage msg,
PeerState peer)"injected" message from the establisher. |
OutboundMessageState(I2PAppContext context,
OutNetMessage m,
PeerState peer)Normal constructor. |
PaddingBlock(I2PAppContext context,
int size)Create a padding block with random data. |
SimpleBandwidthEstimator(I2PAppContext ctx,
PeerState state)Creates a new bandwidth estimator for the given peer. |
| Modifier and Type | Field and Description |
|---|---|
protected I2PAppContext | HopProcessor._context |
| Modifier and Type | Method and Description |
|---|---|
(package private) static void | OutboundGatewayProcessor.decrypt(I2PAppContext ctx,
byte[] orig,
int offset,
int length,
HopConfig config)Undo the crypto for a single hop. |
| Constructor and Description |
|---|
FragmentedMessage(I2PAppContext ctx,
long messageId)FragmentedMessage. |
HopProcessor(I2PAppContext ctx,
HopConfig config,
IVValidator validator) |
InboundGatewayProcessor(I2PAppContext ctx,
HopConfig config)InboundGatewayProcessor. |
InboundSender(I2PAppContext ctx,
HopConfig config)InboundSender. |
OutboundGatewayProcessor(I2PAppContext ctx,
TunnelCreatorConfig cfg)method comment |
OutboundSender(I2PAppContext ctx,
TunnelCreatorConfig config) |
| Modifier and Type | Method and Description |
|---|---|
static void | BuildMessageGenerator.layeredEncrypt(I2PAppContext ctx,
TunnelBuildMessage msg,
TunnelCreatorConfig cfg,
List<Integer> order)Encrypt the records so their hop ident is visible at the appropriate times. |
| Constructor and Description |
|---|
BuildReplyHandler(I2PAppContext context)Create a new build reply handler. |
| Modifier and Type | Field and Description |
|---|---|
protected I2PAppContext | PriBlockingQueue._contextThe I2P application context |
protected I2PAppContext | DecayingBloomFilter._contextThe I2P app context |
| Constructor and Description |
|---|
CoDelBlockingQueue(I2PAppContext ctx,
String name,
int capacity)Constructs a queue with default CoDel target and interval from properties. |
CoDelBlockingQueue(I2PAppContext ctx,
String name,
int capacity,
int target,
int interval)Constructs a queue with explicit CoDel target and interval. |
CoDelPriorityBlockingQueue(I2PAppContext ctx,
String name,
int initialCapacity)Constructs a new CoDel priority blocking queue with default target and interval. |
CoDelPriorityBlockingQueue(I2PAppContext ctx,
String name,
int initialCapacity,
int target,
int interval)Constructs a new CoDel priority blocking queue with explicit target and interval. |
DecayingBloomFilter(I2PAppContext context,
int durationMs,
int entryBytes)Create a bloom filter that will decay its entries over time. |
DecayingBloomFilter(I2PAppContext context,
int durationMs,
int entryBytes,
String name)Uses default m of 23, memory usage is 2 MB. |
DecayingBloomFilter(I2PAppContext context,
int durationMs,
int entryBytes,
String name,
int m)Memory usage is 2 * (2**m) bits or 2**(m-2) bytes. |
DecayingBloomFilter(int durationMs,
int entryBytes,
String name,
I2PAppContext context)Only for extension by DecayingHashSet |
DecayingHashSet(I2PAppContext context,
int durationMs,
int entryBytes)Create a double-buffered hash set that will decay its entries over time. |
DecayingHashSet(I2PAppContext context,
int durationMs,
int entryBytes,
String name) |
EventLog(I2PAppContext ctx,
File file) |
PriBlockingQueue(I2PAppContext ctx,
String name,
int initialCapacity)Constructs a new priority blocking queue with the given initial capacity. |
| Modifier and Type | Method and Description |
|---|---|
(package private) static String | GraphListener.createName(I2PAppContext ctx,
String wanted)JRobin can only deal with 20 character data source names, so we need to create a unique,
munged version from the user/developer-visible name. |
List<App> | NavHelper.getClientApps(I2PAppContext ctx)For HomeHelper. |
(package private) static Server | RouterConsoleRunner.getConsoleServer(I2PAppContext ctx)To get to Jetty. |
static ContextHandlerCollection | WebAppStarter.getConsoleServer(I2PAppContext ctx)See comments in ConfigClientsHandler
Warning, this will NOT work during shutdown, because
the console is already unregistered. |
static String | Messages.getDisplayLanguage(String langCode,
String dflt,
I2PAppContext ctx)Return the "display language", e.g. |
(package private) static String | NewsFeedHelper.getEntries(I2PAppContext ctx,
int start,
int max,
long ageLimit)Get the formatted HTML entries. |
static NavHelper | NavHelper.getInstance(I2PAppContext ctx) |
static String | ConfigUpdateHelper.getNewsURL(I2PAppContext ctx) |
static Map<String,String> | PluginStarter.getPluginKeys(I2PAppContext ctx)The signing keys from all the plugins |
static String | Messages.getString(int n,
String s,
String p,
I2PAppContext ctx)translate (ngettext) @since 0.7.14 |
static String | Messages.getString(String key,
I2PAppContext ctx)lang in routerconsole.lang property, else current locale |
static String | Messages.getString(String s,
Object o,
I2PAppContext ctx)translate a string with a parameter
This is a lot more expensive than getString(s, ctx), so use sparingly. |
static String | Messages.getString(String s,
Object o,
Object o2,
I2PAppContext ctx)two params @since 0.7.14 |
(package private) static ContextHandler | WebAppStarter.getWebApp(I2PAppContext ctx,
String appName)Warning, this will NOT work during shutdown, because
the console is already unregistered. |
static GraphGenerator | GraphGenerator.instance(I2PAppContext ctx) |
static boolean | GraphGenerator.isDisabled(I2PAppContext ctx) |
(package private) static boolean | RouterConsoleRunner.isSystrayEnabled(I2PAppContext context)Package private for ConfigServiceHandler |
static boolean | WebAppStarter.isWebAppRunning(I2PAppContext ctx,
String appName)As of 0.9.34, the appName will be registered with the PortMapper,
and PortMapper.isRegistered() will be more efficient than this. |
static Properties | PluginStarter.pluginProperties(I2PAppContext ctx,
String appName)plugin.config |
static boolean | PluginStarter.pluginsEnabled(I2PAppContext ctx) |
static int | ConfigUpdateHandler.proxyPort(I2PAppContext ctx)Convenience method for updaters |
(package private) static void | GraphGenerator.setDisabled(I2PAppContext ctx)Disable graph generation until restart |
static Properties | RouterConsoleRunner.webAppProperties(I2PAppContext ctx)Return webapp properties |
static File | ConfigServiceHandler.wrapperLogFile(I2PAppContext ctx)Does not necessarily exist. |
| Constructor and Description |
|---|
GraphRenderer(I2PAppContext ctx,
GraphListener lsnr)GraphRenderer. |
HostCheckHandler(I2PAppContext ctx)MUST call setListenHosts() afterwards. |
LocaleWebAppHandler(I2PAppContext ctx,
String path,
String warPath,
File tmpdir,
ServletHandler servletHandler)Create handler for localized JSP resolution and Jetty integration. |
ShellService(I2PAppContext context,
ClientAppManager listener,
String[] args)Creates a ShellService from command-line args, validating the executable and setting up log files. |
| Modifier and Type | Field and Description |
|---|---|
(package private) I2PAppContext | SidebarHelper.ctxGlobal application context |
| Constructor and Description |
|---|
SAMBridge(I2PAppContext context,
ClientAppManager mgr,
String[] args)For ClientApp interface. |
| Constructor and Description |
|---|
SAMEventHandler(I2PAppContext ctx)SAMEventHandler. |
SAMReader(I2PAppContext context,
InputStream samIn,
SAMReader.SAMClientEventListener listener)SAMReader. |
SAMStreamSend(I2PAppContext ctx,
String samHost,
String samPort,
String destFile,
String dataFile)SAMStreamSend. |
SAMStreamSink(I2PAppContext ctx,
String samHost,
String samPort,
String destFile,
String sinkDir)SAMStreamSink. |
| Constructor and Description |
|---|
StatManager(I2PAppContext context) |
| Modifier and Type | Field and Description |
|---|---|
protected I2PAppContext | RandomSource._context_context. |
protected I2PAppContext | Clock._contextthe I2P application context |
protected I2PAppContext | EepGet._contextI2P application context for configuration, logging, and random number generation |
| Modifier and Type | Method and Description |
|---|---|
(package private) I2PAppContext | LogManager.getContext()Convenience method for LogRecordFormatter |
| Modifier and Type | Method and Description |
|---|---|
static String | Translate.getCountry(I2PAppContext ctx)Two-letter upper case or "" |
static String | Translate.getDisplayLanguage(String langCode,
String dflt,
I2PAppContext ctx,
String bun)Return the "display language", e.g. |
static String | Translate.getLanguage(I2PAppContext ctx)Two- or three-letter lower case |
static String | Translate.getString(int n,
String s,
String p,
I2PAppContext ctx,
String bun)Use GNU ngettext
For .po file format see http://www.gnu.org/software/gettext/manual/gettext.html.gz#Translating-plural-forms |
static String | Translate.getString(String key,
I2PAppContext ctx,
String bun)lang in routerconsole.lang property, else current locale |
static String | Translate.getString(String s,
I2PAppContext ctx,
String bun,
Object... oArray)Varargs |
static String | Translate.getString(String s,
Object o,
I2PAppContext ctx,
String bun)Translate a string with a parameter
This is a lot more expensive than getString(s, ctx), so use sparingly. |
static String | Translate.getString(String s,
Object o,
Object o2,
I2PAppContext ctx,
String bun)for {0} and {1} |
static TimeZone | SystemVersion.getSystemTimeZone(I2PAppContext ctx)The system's time zone, which is probably different from the
JVM time zone, because Router changes the JVM default to GMT. |
static boolean | Translate.isRTL(I2PAppContext ctx)Are we configured for a right-to-left language? |
Signature | ByteArrayStream.sign(I2PAppContext ctx,
SigningPrivateKey signingKey)Signs the written data. |
static void | I2PSSLSocketFactory.verifyHostname(I2PAppContext ctx,
SSLSocket socket,
String host)Validate the hostname. |
boolean | ByteArrayStream.verifySignature(I2PAppContext ctx,
Signature signature,
SigningPublicKey verifyingKey)Verifies the signature of the written data. |
| Constructor and Description |
|---|
Clock(I2PAppContext context)Create a new Clock with the given context, detecting system clock validity. |
DNSOverHTTPS(I2PAppContext context)Create a DNSOverHTTPS instance. |
DNSOverHTTPS(I2PAppContext context,
SSLEepGet.SSLState sslState)Create a DNSOverHTTPS instance. |
EepGet(I2PAppContext ctx,
boolean shouldProxy,
String proxyHost,
int proxyPort,
int numRetries,
long minSize,
long maxSize,
String outputFile,
OutputStream outputStream,
String url,
boolean allowCaching,
String etag,
String postData)Creates a new EepGet instance with size limits, output stream, and POST data. |
EepGet(I2PAppContext ctx,
boolean shouldProxy,
String proxyHost,
int proxyPort,
int numRetries,
long minSize,
long maxSize,
String outputFile,
OutputStream outputStream,
String url,
boolean allowCaching,
String etag,
String lastModified,
String postData)Full constructor for EepGet with all parameters. |
EepGet(I2PAppContext ctx,
boolean shouldProxy,
String proxyHost,
int proxyPort,
int numRetries,
String outputFile,
String url)Creates a new EepGet instance with explicit proxy control, defaulting to allow caching. |
EepGet(I2PAppContext ctx,
boolean shouldProxy,
String proxyHost,
int proxyPort,
int numRetries,
String outputFile,
String url,
boolean allowCaching,
String etag)Creates a new EepGet instance with conditional fetch via ETag. |
EepGet(I2PAppContext ctx,
boolean shouldProxy,
String proxyHost,
int proxyPort,
int numRetries,
String outputFile,
String url,
boolean allowCaching,
String etag,
String lastModified)Creates a new EepGet instance with conditional fetch via ETag and Last-Modified. |
EepGet(I2PAppContext ctx,
boolean shouldProxy,
String proxyHost,
int proxyPort,
int numRetries,
String outputFile,
String url,
String postData)Creates a new EepGet instance with POST data support. |
EepGet(I2PAppContext ctx,
int numRetries,
String outputFile,
String url)Creates a new EepGet instance without a proxy, defaulting to allow caching. |
EepGet(I2PAppContext ctx,
int numRetries,
String outputFile,
String url,
boolean allowCaching)Creates a new EepGet instance without a proxy, with configurable caching. |
EepGet(I2PAppContext ctx,
String proxyHost,
int proxyPort,
int numRetries,
String outputFile,
String url)Creates a new EepGet instance with proxy support, defaulting to allow caching. |
EepGet(I2PAppContext ctx,
String proxyHost,
int proxyPort,
int numRetries,
String outputFile,
String url,
boolean allowCaching)Creates a new EepGet instance with proxy support and configurable caching. |
EepHead(I2PAppContext ctx,
String proxyHost,
int proxyPort,
int numRetries,
String url)Create a new EepHead to fetch HTTP response headers from the given URL. |
EepPost(I2PAppContext ctx,
String proxyHost,
int proxyPort,
int numRetries,
String outputFile,
String url)EepPost. |
FortunaRandomSource(I2PAppContext context)May block up to 10 seconds or forever |
I2PSSLSocketFactory(I2PAppContext context,
boolean loadSystemCerts,
String relativeCertPath) |
LogConsoleBuffer(I2PAppContext context)Uses default limit from LogManager. |
LogManager(I2PAppContext context) |
PartialEepGet(I2PAppContext ctx,
String proxyHost,
int proxyPort,
OutputStream outputStream,
String url,
long size)Instantiate an EepGet that will fetch exactly size bytes when fetch() is called. |
PasswordManager(I2PAppContext ctx)PasswordManager. |
PortMapper(I2PAppContext context)Create a port mapper |
RandomSource(I2PAppContext context)Deprecated - do not instantiate this directly, as you won't get the
good one (Fortuna). |
SimpleTimer2(I2PAppContext context)To be instantiated by the context. |
SimpleTimer2(I2PAppContext context,
String name)To be instantiated by the context. |
SimpleTimer2(I2PAppContext context,
String name,
boolean prestartAllThreads)To be instantiated by the context. |
SSLEepGet(I2PAppContext ctx,
OutputStream outputStream,
String url)A new SSLEepGet with a new SSLState |
SSLEepGet(I2PAppContext ctx,
OutputStream outputStream,
String url,
long maxSize,
SSLEepGet.SSLState state) |
SSLEepGet(I2PAppContext ctx,
OutputStream outputStream,
String url,
SSLEepGet.SSLState state) |
SSLEepGet(I2PAppContext ctx,
SSLEepGet.ProxyType type,
String proxyHost,
int proxyPort,
OutputStream outputStream,
String url)Use a proxy. |
SSLEepGet(I2PAppContext ctx,
SSLEepGet.ProxyType type,
String proxyHost,
int proxyPort,
OutputStream outputStream,
String url,
SSLEepGet.SSLState state)Use a proxy. |
SSLEepGet(I2PAppContext ctx,
SSLEepGet.ProxyType type,
String proxyHost,
int proxyPort,
String outputFile,
String url)Use a proxy. |
SSLEepGet(I2PAppContext ctx,
SSLEepGet.ProxyType type,
String proxyHost,
int proxyPort,
String outputFile,
String url,
SSLEepGet.SSLState state)Use a proxy. |
SSLEepGet(I2PAppContext ctx,
String outputFile,
String url)A new SSLEepGet with a new SSLState |
SSLEepGet(I2PAppContext ctx,
String outputFile,
String url,
SSLEepGet.SSLState state) |
SyntheticREDQueue(I2PAppContext ctx,
int bwBps)Construct with default queue size thresholds based on bandwidth. |
SyntheticREDQueue(I2PAppContext ctx,
int bwBps,
int minThB,
int maxThB)Construct specifying bandwidth and queue size thresholds. |
TempDirScanner(I2PAppContext context)Schedules itself |
TranslateReader(I2PAppContext ctx,
String bundle,
InputStream in)May be null for tagging only. |
TranslateReader(I2PAppContext ctx,
String bundle,
Reader in)May be null for tagging only. |
| Modifier and Type | Method and Description |
|---|---|
static void | Debug.initialize(I2PAppContext ctx)Initializes debug system with I2P application context. |
| Modifier and Type | Method and Description |
|---|---|
I2PAppContext | I2PSnarkUtil.getContext() |
| Constructor and Description |
|---|
BandwidthManager(I2PAppContext ctx,
int upLimit,
int downLimit) |
I2PSnarkUtil(I2PAppContext ctx) |
I2PSnarkUtil(I2PAppContext ctx,
String baseName,
I2PSocketManager.DisconnectListener discon) |
SnarkManager(I2PAppContext ctx)For embedded. |
SnarkManager(I2PAppContext ctx,
String ctxPath,
String ctxName)For webapp. |
UDPTrackerClient(I2PAppContext ctx,
I2PSession session,
I2PSnarkUtil util) |
UpdateHandler(I2PAppContext ctx,
UpdateManager umgr,
SnarkManager smgr) |
UpdateRunner(I2PAppContext ctx,
UpdateManager umgr,
SnarkManager smgr,
UpdateType type,
List<URI> uris,
String newVersion)Update runner |
| Constructor and Description |
|---|
DHTNodes(I2PAppContext ctx,
NID me)Create a new DHTNodes instance. |
DHTTracker(I2PAppContext ctx) |
KBTrimmer(I2PAppContext ctx,
int max)Creates a new bucket trimmer with the specified maximum bucket size. |
KRPC(I2PAppContext ctx,
String baseName,
I2PSession session) |
MsgID(I2PAppContext ctx)Create an outgoing message ID with a random value. |
Token(I2PAppContext ctx)Creates a new outgoing token for sending to remote peers. |
Token(I2PAppContext ctx,
byte[] data)Creates an incoming token received from a remote DHT node. |
| Modifier and Type | Method and Description |
|---|---|
static String | ConfigUIHelper.getLangSettings(I2PAppContext ctx)Generates HTML select dropdown for language selection in I2PSnark standalone mode. |
| Constructor and Description |
|---|
HostCheckHandler(I2PAppContext ctx)Creates a new HostCheckHandler with the specified application context. |
| Modifier and Type | Field and Description |
|---|---|
protected I2PAppContext | BasicServlet._context |
| Constructor and Description |
|---|
FetchAndAdd(I2PAppContext ctx,
SnarkManager mgr,
String url,
File dataDir)Caller should call _mgr.addDownloader(this), which will start things off. |