| Package | Description |
|---|---|
| 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.desktopgui | Desktop graphical interface for managing I2P router lifecycle
from the system tray. |
| net.i2p.i2pcontrol | I2P Control provides a JSON-RPC 2.0 interface for controlling and monitoring the I2P router. |
| net.i2p.i2ptunnel | Implementation of preconfigured tunnels for both clients and servers, with a comprehensive UI for tunnel management and configuration. |
| 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.router.app | Interface and framework for applications managed by the I2P router via
clients.config. |
| 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.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.sam | The SAM (Simple Anonymous Messaging) client API. |
| 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. |
| Modifier and Type | Field and Description |
|---|---|
protected ConcurrentHashMap<String,ClientApp> | ClientAppManagerImpl._registeredregistered name to client |
| Modifier and Type | Method and Description |
|---|---|
ClientApp | ClientAppManagerImpl.getRegisteredApp(String name)Get a registered app. |
ClientApp | ClientAppManager.getRegisteredApp(String name)Get a registered app. |
| Modifier and Type | Method and Description |
|---|---|
void | ClientAppManagerImpl.notify(ClientApp app,
ClientAppState state,
String message,
Exception e)Does nothing. |
void | ClientAppManager.notify(ClientApp app,
ClientAppState state,
String message,
Exception e)Must be called on all state transitions except
from UNINITIALIZED to INITIALIZED. |
boolean | ClientAppManagerImpl.register(ClientApp app)Register with the manager under the given name,
so that other clients may find it. |
boolean | ClientAppManager.register(ClientApp app)Register with the manager under the given name,
so that other clients may find it. |
void | ClientAppManagerImpl.unregister(ClientApp app)Unregister with the manager. |
void | ClientAppManager.unregister(ClientApp app)Unregister with the manager. |
| Modifier and Type | Class and Description |
|---|---|
class | UrlLauncherA quick and simple multi-platform URL launcher. |
| Modifier and Type | Class and Description |
|---|---|
class | ExternalMainSimplified main class for App Context only, requiring only i2p.jar. |
class | MainMain entry point for the I2P Desktop GUI application. |
| Modifier and Type | Class and Description |
|---|---|
class | I2PControlControllerThis handles the starting and stopping of Jetty
from a single static class so it can be called via clients.config. |
class | SocketControllerThis handles the starting and stopping of a ServerSocket
from a single static class so it can be called via clients.config. |
| Modifier and Type | Class and Description |
|---|---|
class | TunnelControllerGroupCoordinates tunnel groups within the JVM, managing configuration persistence. |
| Modifier and Type | Class and Description |
|---|---|
class | JettyStartStart Jetty where the args are one or more XML files. |
| Modifier and Type | Interface and Description |
|---|---|
interface | RouterAppIf a class started via clients.config implements this interface,
it will be used to manage the client, instead of starting with main()
Clients implementing this interface MUST provide the following constructor:
public MyClientApp(RouterContext context, ClientAppManager listener, String[] args) {...}
All parameters are non-null. |
| Modifier and Type | Class and Description |
|---|---|
class | NewsManagerManages I2P router news entries with in-memory storage and disk persistence. |
| Modifier and Type | Method and Description |
|---|---|
ClientApp | RouterAppManager.getClientApp(String className,
String[] args)Get the first known ClientApp with this class name and exact arguments. |
| Modifier and Type | Method and Description |
|---|---|
boolean | RouterAppManager.addAndStart(ClientApp app,
String[] args)Add and start a client application. |
void | RouterAppManager.notify(ClientApp app,
ClientAppState state,
String message,
Exception e)Must be called on all state transitions except
from UNINITIALIZED to INITIALIZED. |
boolean | RouterAppManager.register(ClientApp app)Register with the manager under the given name,
so that other clients may find it. |
void | RouterAppManager.unregister(ClientApp app)Unregister with the manager. |
| Modifier and Type | Class and Description |
|---|---|
class | AnalysisSybil attack analysis implementation. |
| Modifier and Type | Class and Description |
|---|---|
class | ConsoleUpdateManagerThe central resource coordinating updates. |
| Modifier and Type | Class and Description |
|---|---|
class | GraphGeneratorA thread started by RouterConsoleRunner that checks the configuration for
stats to be tracked via jrobin, and adds or deletes RRDs as necessary. |
class | NavHelperHelper for navigation and client application management in router console. |
class | RouterConsoleRunnerStart the router console. |
class | ShellServiceAlternative to ShellCommand for plugins based on ProcessBuilder, which
manages
a process and keeps track of it's state by maintaining a Process object. |
| Modifier and Type | Class and Description |
|---|---|
class | SAMBridgeSAM bridge implementation. |
| Modifier and Type | Class and Description |
|---|---|
class | SnarkManagerCentral manager for multiple torrent downloads and the I2PSnark application. |