# Package net.i2p.router.web

The router console user interface, implemented in routerconsole.jar, with these classes supporting the webapp in routerconsole.war.

See: Description

- Class Summary
  Class | Description
  --- | ---
  App | Application information for the router console.
  ConfigServiceHandler | Handler to deal with form submissions from the service config form and act upon the values.
  ConfigUpdateHandler | Handler for router update configuration.
  ConfigUpdateHelper | Helper class for managing I2P router update configuration and UI generation.
  ConsolePasswordManager | Manage both plaintext and salted/hashed password storage in router.config.
  ContentHelper | Helper for including static content files in router console pages.
  ContextHelper | Helper for accessing router contexts by context ID.
  CSSHelper | Copied and modded from I2PTunnel IndexBean (GPL)
  CSSHelper.StringFormatter | Capitalize first letter of each word of string https://www.javatpoint.com/java-program-to-capitalize-each-word-in-string
  DeadlockDetector | Periodic check ref: https://dzone.com/articles/how-detect-java-deadlocks In routerconsole because java.lang.management is not available in Android.
  FormHandler | Simple form handler base class - does not depend on servlets or jsp, but instead the subclasses are populated with javabean properties.
  FormHandler.Message | Message class to encapsulate the message text and the canClose flag
  GraphConstants | Basic graph defaults and maximum dimensions
  GraphGenerator | A thread started by RouterConsoleRunner that checks the configuration for stats to be tracked via jrobin, and adds or deletes RRDs as necessary.
  GraphListener | Creates and updates the in-memory or on-disk RRD database, and provides methods to generate graphs of the data
  GraphRenderer | Generate the RRD graph png images, including the combined rate graph.
  HelperBase | Base helper class for JSP helper beans.
  HostCheckHandler | Block certain Host headers to prevent DNS rebinding attacks.
  LocaleWebAppHandler | Convert foo.jsp to foo_xx.jsp for language xx.
  Messages | Translate strings for this package.
  NavHelper | Helper for navigation and client application management in router console.
  NewsFeedHelper | HTML-formatted full news entries
  NewsHelper | If news file does not exist, use file from the initialNews directory in $I2P
  PluginStarter | Start/stop/delete plugins that are already installed Get properties of installed plugins Get or change settings in plugins.config
  PluginStopper | Stop all plugins that are installed and running
  RouterConsoleRunner | Start the router console.
  ShellService | Alternative to ShellCommand for plugins based on ProcessBuilder, which manages a process and keeps track of it's state by maintaining a Process object.
  UpdateHandler | Handles the request to update the router by firing one or more `EepGet` calls to download the latest signed update file and display the status to anyone who asks.
  WebAppConfiguration | Add to the webapp classpath as specified in webapps.config.
  WebAppStarter | Add, start or stop a webapp.
  WrapperListener | Listen for events.

## Package net.i2p.router.web Description

The router console user interface, implemented in routerconsole.jar, with these classes supporting the webapp in routerconsole.war. Entry point is RouterConsoleRunner, started from clients.config.

Most jsp pages in the console use a "Helper" or a "Renderer" class to assist in generating the HTML. For configuration pages that accept changes via POST, there is additionally a "Handler" class to process the POST data. Helpers usually extend HelperBase, and Handlers usually extend FormHandler. The base classes are in this package, but most Helpers, Handlers, and Renderers are in the helpers package.

This package was split in release 0.9.33, with most of the helpers and handlers moved to net.i2p.router.web.helpers, and moving them from routerconsole.jar to routerconsole.war.

Warning: No classes contained here are part of a public API. Subject to change. Not for public use.