diff --git a/apps/routerconsole/java/src/net/i2p/router/web/ConfigAdvancedHandler.java b/apps/routerconsole/java/src/net/i2p/router/web/ConfigAdvancedHandler.java index 3f60e57a9..230e9ec0e 100644 --- a/apps/routerconsole/java/src/net/i2p/router/web/ConfigAdvancedHandler.java +++ b/apps/routerconsole/java/src/net/i2p/router/web/ConfigAdvancedHandler.java @@ -17,6 +17,7 @@ public class ConfigAdvancedHandler extends FormHandler { private boolean _shouldSave; private String _config; + @Override protected void processForm() { if (_shouldSave) { saveChanges(); diff --git a/apps/routerconsole/java/src/net/i2p/router/web/ConfigAdvancedHelper.java b/apps/routerconsole/java/src/net/i2p/router/web/ConfigAdvancedHelper.java index 5bffa2a21..a60a3409e 100644 --- a/apps/routerconsole/java/src/net/i2p/router/web/ConfigAdvancedHelper.java +++ b/apps/routerconsole/java/src/net/i2p/router/web/ConfigAdvancedHelper.java @@ -4,7 +4,6 @@ import java.util.Iterator; import java.util.Set; import java.util.TreeSet; -import net.i2p.router.RouterContext; public class ConfigAdvancedHelper extends HelperBase { public ConfigAdvancedHelper() {} diff --git a/apps/routerconsole/java/src/net/i2p/router/web/ConfigClientsHandler.java b/apps/routerconsole/java/src/net/i2p/router/web/ConfigClientsHandler.java index 285cdd385..d2f4d8e64 100644 --- a/apps/routerconsole/java/src/net/i2p/router/web/ConfigClientsHandler.java +++ b/apps/routerconsole/java/src/net/i2p/router/web/ConfigClientsHandler.java @@ -20,13 +20,14 @@ import org.mortbay.jetty.Server; * Saves changes to clients.config or webapps.config */ public class ConfigClientsHandler extends FormHandler { - private Log _log; + private Log configClient_log; private Map _settings; public ConfigClientsHandler() { - _log = ContextHelper.getContext(null).logManager().getLog(ConfigClientsHandler.class); + configClient_log = ContextHelper.getContext(null).logManager().getLog(ConfigClientsHandler.class); } + @Override protected void processForm() { if (_action.startsWith("Save Client")) { saveClientChanges(); @@ -80,7 +81,7 @@ public class ConfigClientsHandler extends FormHandler { return; } ClientAppConfig ca = (ClientAppConfig) clients.get(i); - LoadClientAppsJob.runClient(ca.className, ca.clientName, LoadClientAppsJob.parseArgs(ca.args), _log); + LoadClientAppsJob.runClient(ca.className, ca.clientName, LoadClientAppsJob.parseArgs(ca.args), configClient_log); addFormNotice("Client " + ca.clientName + " started."); } diff --git a/apps/routerconsole/java/src/net/i2p/router/web/ConfigClientsHelper.java b/apps/routerconsole/java/src/net/i2p/router/web/ConfigClientsHelper.java index 47b301d28..af71883eb 100644 --- a/apps/routerconsole/java/src/net/i2p/router/web/ConfigClientsHelper.java +++ b/apps/routerconsole/java/src/net/i2p/router/web/ConfigClientsHelper.java @@ -6,7 +6,6 @@ import java.util.Properties; import java.util.Set; import java.util.TreeSet; -import net.i2p.router.RouterContext; import net.i2p.router.startup.ClientAppConfig; public class ConfigClientsHelper extends HelperBase { diff --git a/apps/routerconsole/java/src/net/i2p/router/web/ConfigKeyringHandler.java b/apps/routerconsole/java/src/net/i2p/router/web/ConfigKeyringHandler.java index b43bc4d1f..9cb3bfceb 100644 --- a/apps/routerconsole/java/src/net/i2p/router/web/ConfigKeyringHandler.java +++ b/apps/routerconsole/java/src/net/i2p/router/web/ConfigKeyringHandler.java @@ -1,6 +1,5 @@ package net.i2p.router.web; -import net.i2p.I2PAppContext; import net.i2p.data.DataFormatException; import net.i2p.data.Hash; import net.i2p.data.SessionKey; @@ -13,6 +12,7 @@ public class ConfigKeyringHandler extends FormHandler { private String _peer; private String _key; + @Override protected void processForm() { if ("Add key".equals(_action)) { if (_peer == null || _key == null) { diff --git a/apps/routerconsole/java/src/net/i2p/router/web/ConfigKeyringHelper.java b/apps/routerconsole/java/src/net/i2p/router/web/ConfigKeyringHelper.java index 85c8ee423..8c147fcdd 100644 --- a/apps/routerconsole/java/src/net/i2p/router/web/ConfigKeyringHelper.java +++ b/apps/routerconsole/java/src/net/i2p/router/web/ConfigKeyringHelper.java @@ -4,7 +4,6 @@ import java.io.ByteArrayOutputStream; import java.io.IOException; import java.io.OutputStreamWriter; -import net.i2p.router.RouterContext; public class ConfigKeyringHelper extends HelperBase { public ConfigKeyringHelper() {} diff --git a/apps/routerconsole/java/src/net/i2p/router/web/ConfigLoggingHandler.java b/apps/routerconsole/java/src/net/i2p/router/web/ConfigLoggingHandler.java index a09f250a7..347cfdab7 100644 --- a/apps/routerconsole/java/src/net/i2p/router/web/ConfigLoggingHandler.java +++ b/apps/routerconsole/java/src/net/i2p/router/web/ConfigLoggingHandler.java @@ -18,6 +18,7 @@ public class ConfigLoggingHandler extends FormHandler { private String _dateFormat; private String _fileSize; + @Override protected void processForm() { if (_shouldSave) { saveChanges(); diff --git a/apps/routerconsole/java/src/net/i2p/router/web/ConfigLoggingHelper.java b/apps/routerconsole/java/src/net/i2p/router/web/ConfigLoggingHelper.java index ab23fce6f..e1e7907b0 100644 --- a/apps/routerconsole/java/src/net/i2p/router/web/ConfigLoggingHelper.java +++ b/apps/routerconsole/java/src/net/i2p/router/web/ConfigLoggingHelper.java @@ -4,7 +4,6 @@ import java.util.Iterator; import java.util.Properties; import java.util.TreeSet; -import net.i2p.router.RouterContext; public class ConfigLoggingHelper extends HelperBase { public ConfigLoggingHelper() {} @@ -43,7 +42,7 @@ public class ConfigLoggingHelper extends HelperBase { String level = limits.getProperty(prefix); buf.append(prefix).append('=').append(level).append('\n'); } - buf.append("
\n"); + buf.append("
\n"); buf.append("Add additional logging statements above. Example: net.i2p.router.tunnel=WARN
"); buf.append("Or put entries in the logger.config file. Example: logger.record.net.i2p.router.tunnel=WARN
"); buf.append("Valid levels are DEBUG, INFO, WARN, ERROR, CRIT\n"); diff --git a/apps/routerconsole/java/src/net/i2p/router/web/ConfigNetHandler.java b/apps/routerconsole/java/src/net/i2p/router/web/ConfigNetHandler.java index 1067eba54..b14bab7f8 100644 --- a/apps/routerconsole/java/src/net/i2p/router/web/ConfigNetHandler.java +++ b/apps/routerconsole/java/src/net/i2p/router/web/ConfigNetHandler.java @@ -1,12 +1,10 @@ package net.i2p.router.web; -import net.i2p.data.RouterInfo; import net.i2p.router.Router; import net.i2p.router.transport.FIFOBandwidthRefiller; import net.i2p.router.transport.TransportManager; import net.i2p.router.transport.udp.UDPTransport; import net.i2p.router.web.ConfigServiceHandler.UpdateWrapperManagerAndRekeyTask; -import net.i2p.time.Timestamper; /** * Handler to deal with form submissions from the main config form and act @@ -44,6 +42,7 @@ public class ConfigNetHandler extends FormHandler { private static final boolean _ratesOnly = false; // always false - delete me private static final String PROP_HIDDEN = Router.PROP_HIDDEN_HIDDEN; // see Router for other choice + @Override protected void processForm() { if (_saveRequested || ( (_action != null) && ("Save changes".equals(_action)) )) { saveChanges(); diff --git a/apps/routerconsole/java/src/net/i2p/router/web/ConfigNetHelper.java b/apps/routerconsole/java/src/net/i2p/router/web/ConfigNetHelper.java index bf47f3efa..48426e448 100644 --- a/apps/routerconsole/java/src/net/i2p/router/web/ConfigNetHelper.java +++ b/apps/routerconsole/java/src/net/i2p/router/web/ConfigNetHelper.java @@ -4,7 +4,6 @@ import net.i2p.data.DataHelper; import net.i2p.data.RouterAddress; import net.i2p.router.CommSystemFacade; import net.i2p.router.Router; -import net.i2p.router.RouterContext; import net.i2p.router.transport.Addresses; import net.i2p.router.transport.TransportManager; import net.i2p.router.transport.udp.UDPAddress; diff --git a/apps/routerconsole/java/src/net/i2p/router/web/ConfigPeerHandler.java b/apps/routerconsole/java/src/net/i2p/router/web/ConfigPeerHandler.java index 48ec6e443..479aeb4c2 100644 --- a/apps/routerconsole/java/src/net/i2p/router/web/ConfigPeerHandler.java +++ b/apps/routerconsole/java/src/net/i2p/router/web/ConfigPeerHandler.java @@ -1,12 +1,8 @@ package net.i2p.router.web; -import net.i2p.I2PAppContext; -import net.i2p.data.DataHelper; import net.i2p.data.Hash; import net.i2p.data.Base64; -import net.i2p.router.Router; import net.i2p.router.peermanager.PeerProfile; -import net.i2p.util.Log; /** * @@ -16,6 +12,7 @@ public class ConfigPeerHandler extends FormHandler { private String _speed; private String _capacity; + @Override protected void processForm() { if ("Save Configuration".equals(_action)) { _context.router().saveConfig(); diff --git a/apps/routerconsole/java/src/net/i2p/router/web/ConfigPeerHelper.java b/apps/routerconsole/java/src/net/i2p/router/web/ConfigPeerHelper.java index 662a078b8..9db6722b4 100644 --- a/apps/routerconsole/java/src/net/i2p/router/web/ConfigPeerHelper.java +++ b/apps/routerconsole/java/src/net/i2p/router/web/ConfigPeerHelper.java @@ -4,7 +4,6 @@ import java.io.ByteArrayOutputStream; import java.io.IOException; import java.io.OutputStreamWriter; -import net.i2p.router.RouterContext; public class ConfigPeerHelper extends HelperBase { public ConfigPeerHelper() {} diff --git a/apps/routerconsole/java/src/net/i2p/router/web/ConfigRestartBean.java b/apps/routerconsole/java/src/net/i2p/router/web/ConfigRestartBean.java index 0218c1787..ab9cbf0ff 100644 --- a/apps/routerconsole/java/src/net/i2p/router/web/ConfigRestartBean.java +++ b/apps/routerconsole/java/src/net/i2p/router/web/ConfigRestartBean.java @@ -51,14 +51,14 @@ public class ConfigRestartBean { if (timeRemaining <= 0) { return "
Shutdown imminent
"; } else { - return "
Shutdown in " + DataHelper.formatDuration(timeRemaining) + "

" + return "
Shutdown in " + DataHelper.formatDuration(timeRemaining) + "

" + buttons(urlBase, systemNonce, "shutdownImmediate,Shutdown immediately,cancelShutdown,Cancel shutdown"); } } else if (restarting) { if (timeRemaining <= 0) { return "
Restart imminent
"; } else { - return "
Restart in " + DataHelper.formatDuration(timeRemaining) + "

" + return "
Restart in " + DataHelper.formatDuration(timeRemaining) + "

" + buttons(urlBase, systemNonce, "restartImmediate,Restart immediately,cancelShutdown,Cancel restart"); } } else { diff --git a/apps/routerconsole/java/src/net/i2p/router/web/ConfigServiceHandler.java b/apps/routerconsole/java/src/net/i2p/router/web/ConfigServiceHandler.java index 3601bf38b..76de0f5d4 100644 --- a/apps/routerconsole/java/src/net/i2p/router/web/ConfigServiceHandler.java +++ b/apps/routerconsole/java/src/net/i2p/router/web/ConfigServiceHandler.java @@ -1,13 +1,10 @@ package net.i2p.router.web; -import java.io.File; -import java.io.FileWriter; import java.io.IOException; import java.util.List; import net.i2p.apps.systray.SysTray; import net.i2p.apps.systray.UrlLauncher; -import net.i2p.data.DataHelper; import net.i2p.router.Router; import net.i2p.router.startup.ClientAppConfig; @@ -49,6 +46,7 @@ public class ConfigServiceHandler extends FormHandler { } } + @Override protected void processForm() { if (_action == null) return; diff --git a/apps/routerconsole/java/src/net/i2p/router/web/ConfigStatsHandler.java b/apps/routerconsole/java/src/net/i2p/router/web/ConfigStatsHandler.java index 00a384e73..1d34a5db4 100644 --- a/apps/routerconsole/java/src/net/i2p/router/web/ConfigStatsHandler.java +++ b/apps/routerconsole/java/src/net/i2p/router/web/ConfigStatsHandler.java @@ -28,6 +28,7 @@ public class ConfigStatsHandler extends FormHandler { _isFull = false; } + @Override protected void processForm() { saveChanges(); } diff --git a/apps/routerconsole/java/src/net/i2p/router/web/ConfigStatsHelper.java b/apps/routerconsole/java/src/net/i2p/router/web/ConfigStatsHelper.java index 3af4ffafb..cb157bea8 100644 --- a/apps/routerconsole/java/src/net/i2p/router/web/ConfigStatsHelper.java +++ b/apps/routerconsole/java/src/net/i2p/router/web/ConfigStatsHelper.java @@ -8,7 +8,6 @@ import java.util.Map; import java.util.Set; import java.util.StringTokenizer; -import net.i2p.router.RouterContext; import net.i2p.stat.FrequencyStat; import net.i2p.stat.Rate; import net.i2p.stat.RateStat; @@ -38,6 +37,7 @@ public class ConfigStatsHelper extends HelperBase { * @param contextId begging few characters of the routerHash, or null to pick * the first one we come across. */ + @Override public void setContextId(String contextId) { try { _context = ContextHelper.getContext(contextId); diff --git a/apps/routerconsole/java/src/net/i2p/router/web/ConfigTunnelsHandler.java b/apps/routerconsole/java/src/net/i2p/router/web/ConfigTunnelsHandler.java index 0e59380e1..e54c92616 100644 --- a/apps/routerconsole/java/src/net/i2p/router/web/ConfigTunnelsHandler.java +++ b/apps/routerconsole/java/src/net/i2p/router/web/ConfigTunnelsHandler.java @@ -14,7 +14,7 @@ import net.i2p.util.Log; * */ public class ConfigTunnelsHandler extends FormHandler { - private Log _log; + private Log configTunnel_log; private Map _settings; private boolean _shouldSave; @@ -22,6 +22,7 @@ public class ConfigTunnelsHandler extends FormHandler { _shouldSave = false; } + @Override protected void processForm() { if (_shouldSave) { saveChanges(); @@ -43,11 +44,11 @@ public class ConfigTunnelsHandler extends FormHandler { * */ private void saveChanges() { - _log = _context.logManager().getLog(ConfigTunnelsHandler.class); + configTunnel_log = _context.logManager().getLog(ConfigTunnelsHandler.class); boolean saveRequired = false; - if (_log.shouldLog(Log.DEBUG)) - _log.debug("Saving changes, with props = " + _settings + "."); + if (configTunnel_log.shouldLog(Log.DEBUG)) + configTunnel_log.debug("Saving changes, with props = " + _settings + "."); int updated = 0; int index = 0; @@ -110,16 +111,16 @@ public class ConfigTunnelsHandler extends FormHandler { } if ("exploratory".equals(poolName)) { - if (_log.shouldLog(Log.DEBUG)) { - _log.debug("Inbound exploratory settings: " + in); - _log.debug("Outbound exploratory settings: " + out); + if (configTunnel_log.shouldLog(Log.DEBUG)) { + configTunnel_log.debug("Inbound exploratory settings: " + in); + configTunnel_log.debug("Outbound exploratory settings: " + out); } _context.tunnelManager().setInboundSettings(in); _context.tunnelManager().setOutboundSettings(out); } else { - if (_log.shouldLog(Log.DEBUG)) { - _log.debug("Inbound settings for " + client.toBase64() + ": " + in); - _log.debug("Outbound settings for " + client.toBase64() + ": " + out); + if (configTunnel_log.shouldLog(Log.DEBUG)) { + configTunnel_log.debug("Inbound settings for " + client.toBase64() + ": " + in); + configTunnel_log.debug("Outbound settings for " + client.toBase64() + ": " + out); } _context.tunnelManager().setInboundSettings(client, in); _context.tunnelManager().setOutboundSettings(client, out); diff --git a/apps/routerconsole/java/src/net/i2p/router/web/ConfigTunnelsHelper.java b/apps/routerconsole/java/src/net/i2p/router/web/ConfigTunnelsHelper.java index e5e0a2922..6cd4346cc 100644 --- a/apps/routerconsole/java/src/net/i2p/router/web/ConfigTunnelsHelper.java +++ b/apps/routerconsole/java/src/net/i2p/router/web/ConfigTunnelsHelper.java @@ -5,7 +5,6 @@ import java.util.Properties; import java.util.Set; import net.i2p.data.Destination; -import net.i2p.router.RouterContext; import net.i2p.router.TunnelPoolSettings; public class ConfigTunnelsHelper extends HelperBase { @@ -177,7 +176,7 @@ buf.append("\n"); -// buf.append("
\n"); +// buf.append("
\n"); } private void renderOptions(StringBuilder buf, int min, int max, int now, String prefix, String name) { diff --git a/apps/routerconsole/java/src/net/i2p/router/web/ConfigUIHandler.java b/apps/routerconsole/java/src/net/i2p/router/web/ConfigUIHandler.java index ad7c1622e..f6c1e0134 100644 --- a/apps/routerconsole/java/src/net/i2p/router/web/ConfigUIHandler.java +++ b/apps/routerconsole/java/src/net/i2p/router/web/ConfigUIHandler.java @@ -5,6 +5,7 @@ public class ConfigUIHandler extends FormHandler { private boolean _shouldSave; private String _config; + @Override protected void processForm() { if (_shouldSave) saveChanges(); diff --git a/apps/routerconsole/java/src/net/i2p/router/web/ConfigUIHelper.java b/apps/routerconsole/java/src/net/i2p/router/web/ConfigUIHelper.java index 11830975b..7815f5cba 100644 --- a/apps/routerconsole/java/src/net/i2p/router/web/ConfigUIHelper.java +++ b/apps/routerconsole/java/src/net/i2p/router/web/ConfigUIHelper.java @@ -12,7 +12,7 @@ public class ConfigUIHelper extends HelperBase { buf.append("").append(theme).append("
\n"); + buf.append("value=\"").append(theme).append("\"/>").append(theme).append("
\n"); } return buf.toString(); } diff --git a/apps/routerconsole/java/src/net/i2p/router/web/ConfigUpdateHandler.java b/apps/routerconsole/java/src/net/i2p/router/web/ConfigUpdateHandler.java index 256babbe3..e1f6a657c 100644 --- a/apps/routerconsole/java/src/net/i2p/router/web/ConfigUpdateHandler.java +++ b/apps/routerconsole/java/src/net/i2p/router/web/ConfigUpdateHandler.java @@ -49,6 +49,7 @@ public class ConfigUpdateHandler extends FormHandler { public static final String PROP_TRUSTED_KEYS = "router.trustedUpdateKeys"; + @Override protected void processForm() { if ("Check for update now".equals(_action)) { NewsFetcher fetcher = NewsFetcher.getInstance(I2PAppContext.getGlobalContext()); diff --git a/apps/routerconsole/java/src/net/i2p/router/web/ConfigUpdateHelper.java b/apps/routerconsole/java/src/net/i2p/router/web/ConfigUpdateHelper.java index 263e98937..82d8461f1 100644 --- a/apps/routerconsole/java/src/net/i2p/router/web/ConfigUpdateHelper.java +++ b/apps/routerconsole/java/src/net/i2p/router/web/ConfigUpdateHelper.java @@ -3,7 +3,6 @@ package net.i2p.router.web; import net.i2p.I2PAppContext; import net.i2p.crypto.TrustedUpdate; import net.i2p.data.DataHelper; -import net.i2p.router.RouterContext; public class ConfigUpdateHelper extends HelperBase { public ConfigUpdateHelper() {} diff --git a/apps/routerconsole/java/src/net/i2p/router/web/GraphHelper.java b/apps/routerconsole/java/src/net/i2p/router/web/GraphHelper.java index e9749750c..a771f52ef 100644 --- a/apps/routerconsole/java/src/net/i2p/router/web/GraphHelper.java +++ b/apps/routerconsole/java/src/net/i2p/router/web/GraphHelper.java @@ -1,14 +1,12 @@ package net.i2p.router.web; import java.io.IOException; -import java.io.Writer; import java.util.Comparator; import java.util.Iterator; import java.util.List; import java.util.TreeSet; import net.i2p.data.DataHelper; -import net.i2p.router.RouterContext; import net.i2p.stat.Rate; public class GraphHelper extends HelperBase { @@ -105,17 +103,17 @@ public class GraphHelper extends HelperBase { } public String getForm() { try { - _out.write("

Configure Graph Display

"); + _out.write("

Configure Graph Display

"); _out.write("

[Select Stats to Graph]

"); _out.write("

"); - _out.write("Periods:
\n"); + _out.write("Periods:
\n"); _out.write("Plot averages: "); - _out.write("or plot events:
\n"); + _out.write("or plot events:
\n"); _out.write("Image sizes: width: pixels, height:
\n"); - _out.write("Refresh delay:
\n"); - _out.write("
"); + + "\" />
\n"); + _out.write("Refresh delay:
\n"); + _out.write("
"); } catch (IOException ioe) { ioe.printStackTrace(); } diff --git a/apps/routerconsole/java/src/net/i2p/router/web/JobQueueHelper.java b/apps/routerconsole/java/src/net/i2p/router/web/JobQueueHelper.java index cf8ed2352..633e7db9f 100644 --- a/apps/routerconsole/java/src/net/i2p/router/web/JobQueueHelper.java +++ b/apps/routerconsole/java/src/net/i2p/router/web/JobQueueHelper.java @@ -3,9 +3,7 @@ package net.i2p.router.web; import java.io.ByteArrayOutputStream; import java.io.IOException; import java.io.OutputStreamWriter; -import java.io.Writer; -import net.i2p.router.RouterContext; public class JobQueueHelper extends HelperBase { public JobQueueHelper() {} diff --git a/apps/routerconsole/java/src/net/i2p/router/web/LogsHelper.java b/apps/routerconsole/java/src/net/i2p/router/web/LogsHelper.java index ca1712f1c..f51c4e772 100644 --- a/apps/routerconsole/java/src/net/i2p/router/web/LogsHelper.java +++ b/apps/routerconsole/java/src/net/i2p/router/web/LogsHelper.java @@ -10,7 +10,7 @@ public class LogsHelper extends HelperBase { public String getLogs() { String str = formatMessages(_context.logManager().getBuffer().getMostRecentMessages()); - return "Location: " + _context.logManager().currentFile() + "

" + str; + return "Location: " + _context.logManager().currentFile() + "

" + str; } public String getCriticalLogs() { diff --git a/apps/routerconsole/java/src/net/i2p/router/web/NavHelper.java b/apps/routerconsole/java/src/net/i2p/router/web/NavHelper.java index 1ae302932..cabb68f15 100644 --- a/apps/routerconsole/java/src/net/i2p/router/web/NavHelper.java +++ b/apps/routerconsole/java/src/net/i2p/router/web/NavHelper.java @@ -4,7 +4,6 @@ import java.util.HashMap; import java.util.Iterator; import java.util.Map; -import net.i2p.router.RouterContext; public class NavHelper extends HelperBase { private static Map _apps = new HashMap(); diff --git a/apps/routerconsole/java/src/net/i2p/router/web/NetDbHelper.java b/apps/routerconsole/java/src/net/i2p/router/web/NetDbHelper.java index 886ba6abb..cffe6f1a7 100644 --- a/apps/routerconsole/java/src/net/i2p/router/web/NetDbHelper.java +++ b/apps/routerconsole/java/src/net/i2p/router/web/NetDbHelper.java @@ -3,9 +3,7 @@ package net.i2p.router.web; import java.io.ByteArrayOutputStream; import java.io.IOException; import java.io.OutputStreamWriter; -import java.io.Writer; -import net.i2p.router.RouterContext; public class NetDbHelper extends HelperBase { private String _routerPrefix; diff --git a/apps/routerconsole/java/src/net/i2p/router/web/OldConsoleHelper.java b/apps/routerconsole/java/src/net/i2p/router/web/OldConsoleHelper.java index f7aa13064..b88187681 100644 --- a/apps/routerconsole/java/src/net/i2p/router/web/OldConsoleHelper.java +++ b/apps/routerconsole/java/src/net/i2p/router/web/OldConsoleHelper.java @@ -3,9 +3,7 @@ package net.i2p.router.web; import java.io.ByteArrayOutputStream; import java.io.IOException; import java.io.OutputStreamWriter; -import java.io.Writer; -import net.i2p.router.RouterContext; public class OldConsoleHelper extends HelperBase { public OldConsoleHelper() {} diff --git a/apps/routerconsole/java/src/net/i2p/router/web/PeerHelper.java b/apps/routerconsole/java/src/net/i2p/router/web/PeerHelper.java index 2504067ac..0648f4c42 100644 --- a/apps/routerconsole/java/src/net/i2p/router/web/PeerHelper.java +++ b/apps/routerconsole/java/src/net/i2p/router/web/PeerHelper.java @@ -1,9 +1,7 @@ package net.i2p.router.web; import java.io.IOException; -import java.io.Writer; -import net.i2p.router.RouterContext; public class PeerHelper extends HelperBase { private int _sortFlags; diff --git a/apps/routerconsole/java/src/net/i2p/router/web/ProfilesHelper.java b/apps/routerconsole/java/src/net/i2p/router/web/ProfilesHelper.java index 702a63e50..ce2242aa7 100644 --- a/apps/routerconsole/java/src/net/i2p/router/web/ProfilesHelper.java +++ b/apps/routerconsole/java/src/net/i2p/router/web/ProfilesHelper.java @@ -4,7 +4,6 @@ import java.io.ByteArrayOutputStream; import java.io.IOException; import java.io.OutputStreamWriter; -import net.i2p.router.RouterContext; public class ProfilesHelper extends HelperBase { public ProfilesHelper() {} diff --git a/apps/routerconsole/java/src/net/i2p/router/web/StatHelper.java b/apps/routerconsole/java/src/net/i2p/router/web/StatHelper.java index ce6fefd5d..2b7e81fb4 100644 --- a/apps/routerconsole/java/src/net/i2p/router/web/StatHelper.java +++ b/apps/routerconsole/java/src/net/i2p/router/web/StatHelper.java @@ -1,6 +1,5 @@ package net.i2p.router.web; -import java.io.Writer; import java.util.Iterator; import java.util.Set; diff --git a/apps/routerconsole/java/src/net/i2p/router/web/StatsGenerator.java b/apps/routerconsole/java/src/net/i2p/router/web/StatsGenerator.java index 3838245f5..983a6ba8b 100644 --- a/apps/routerconsole/java/src/net/i2p/router/web/StatsGenerator.java +++ b/apps/routerconsole/java/src/net/i2p/router/web/StatsGenerator.java @@ -80,7 +80,7 @@ public class StatsGenerator { buf.append(stat); buf.append("\">"); buf.append(stat); - buf.append("
"); + buf.append("
"); if (_context.statManager().isFrequency(stat)) renderFrequency(stat, buf); else @@ -88,7 +88,7 @@ public class StatsGenerator { out.write(buf.toString()); buf.setLength(0); } - out.write("
"); + out.write("
"); } out.flush(); } @@ -97,7 +97,7 @@ public class StatsGenerator { FrequencyStat freq = _context.statManager().getFrequency(name); buf.append(""); buf.append(freq.getDescription()); - buf.append("
"); + buf.append("
"); long uptime = _context.router().getUptime(); long periods[] = freq.getPeriods(); Arrays.sort(periods); @@ -124,9 +124,9 @@ public class StatsGenerator { buf.append(" using the lifetime of "); buf.append(curFreq.getEventCount()); buf.append(" events)"); - buf.append("
"); + buf.append("
"); } - buf.append("
"); + buf.append("
"); } private void renderRate(String name, StringBuilder buf) { @@ -135,10 +135,10 @@ public class StatsGenerator { if (! "".equals(d)) { buf.append(""); buf.append(d); - buf.append("
"); + buf.append("
"); } if (rate.getLifetimeEventCount() <= 0) { - buf.append("No lifetime events
 
"); + buf.append("No lifetime events
 
"); return; } long now = _context.clock().now(); @@ -217,9 +217,9 @@ public class StatsGenerator { buf.append(num(rate.getLifetimeAverageValue())); buf.append(" over "); buf.append(rate.getLifetimeEventCount()); - buf.append(" events
"); + buf.append(" events
"); buf.append(""); - buf.append("
"); + buf.append("
"); } private static void renderPeriod(StringBuilder buf, long period, String name) { diff --git a/apps/routerconsole/java/src/net/i2p/router/web/SummaryHelper.java b/apps/routerconsole/java/src/net/i2p/router/web/SummaryHelper.java index f724c7ed4..ff711c795 100644 --- a/apps/routerconsole/java/src/net/i2p/router/web/SummaryHelper.java +++ b/apps/routerconsole/java/src/net/i2p/router/web/SummaryHelper.java @@ -1,15 +1,12 @@ package net.i2p.router.web; import java.text.Collator; -import java.text.DateFormat; import java.text.DecimalFormat; import java.util.ArrayList; import java.util.Collections; import java.util.Comparator; -import java.util.Date; import java.util.Iterator; import java.util.List; -import java.util.Locale; import net.i2p.data.DataHelper; import net.i2p.data.Destination; @@ -18,7 +15,6 @@ import net.i2p.data.LeaseSet; import net.i2p.data.RouterAddress; import net.i2p.router.CommSystemFacade; import net.i2p.router.Router; -import net.i2p.router.RouterContext; import net.i2p.router.RouterVersion; import net.i2p.router.TunnelPoolSettings; import net.i2p.router.networkdb.kademlia.FloodfillNetworkDatabaseFacade; @@ -349,18 +345,18 @@ public class SummaryHelper extends HelperBase { String name = getName(client); Hash h = client.calculateHash(); - buf.append("\"Server\""); else buf.append("client.png\" alt=\"Client\" title=\"Client\" />"); - buf.append(""); if (name.length() < 16) buf.append(name); else buf.append(name.substring(0,15)).append("…"); - buf.append("\n"); + buf.append("\n"); LeaseSet ls = _context.netDb().lookupLeaseSetLocally(h); if (ls != null) { long timeToExpire = ls.getEarliestLeaseDate() - _context.clock().now(); diff --git a/apps/routerconsole/java/src/net/i2p/router/web/SummaryListener.java b/apps/routerconsole/java/src/net/i2p/router/web/SummaryListener.java index 6ef9df9db..a7d1995dc 100644 --- a/apps/routerconsole/java/src/net/i2p/router/web/SummaryListener.java +++ b/apps/routerconsole/java/src/net/i2p/router/web/SummaryListener.java @@ -132,9 +132,11 @@ class SummaryListener implements RateSummaryListener { RrdDb getData() { return _db; } long now() { return _context.clock().now(); } + @Override public boolean equals(Object obj) { return ((obj instanceof SummaryListener) && ((SummaryListener)obj)._rate.equals(_rate)); } + @Override public int hashCode() { return _rate.hashCode(); } } diff --git a/apps/routerconsole/java/src/net/i2p/router/web/TunnelHelper.java b/apps/routerconsole/java/src/net/i2p/router/web/TunnelHelper.java index 3cd8a96e3..b605cbf36 100644 --- a/apps/routerconsole/java/src/net/i2p/router/web/TunnelHelper.java +++ b/apps/routerconsole/java/src/net/i2p/router/web/TunnelHelper.java @@ -3,9 +3,7 @@ package net.i2p.router.web; import java.io.ByteArrayOutputStream; import java.io.IOException; import java.io.OutputStreamWriter; -import java.io.Writer; -import net.i2p.router.RouterContext; public class TunnelHelper extends HelperBase { public TunnelHelper() {} diff --git a/apps/routerconsole/java/src/net/i2p/router/web/UnsignedUpdateHandler.java b/apps/routerconsole/java/src/net/i2p/router/web/UnsignedUpdateHandler.java index 0d812d0ec..a11f86846 100644 --- a/apps/routerconsole/java/src/net/i2p/router/web/UnsignedUpdateHandler.java +++ b/apps/routerconsole/java/src/net/i2p/router/web/UnsignedUpdateHandler.java @@ -2,7 +2,6 @@ package net.i2p.router.web; import java.io.File; -import net.i2p.I2PAppContext; import net.i2p.router.Router; import net.i2p.router.RouterContext; import net.i2p.util.EepGet; @@ -99,11 +98,11 @@ public class UnsignedUpdateHandler extends UpdateHandler { _context.router().saveConfig(); if ("install".equals(policy)) { _log.log(Log.CRIT, "Update was downloaded, restarting to install it"); - _status = "Update downloaded
Restarting"; + _status = "Update downloaded
Restarting"; restart(); } else { _log.log(Log.CRIT, "Update was downloaded, will be installed at next restart"); - _status = "Update downloaded
"; + _status = "Update downloaded
"; if (System.getProperty("wrapper.version") != null) _status += "Click Restart to install"; else diff --git a/apps/routerconsole/java/src/net/i2p/router/web/UpdateHandler.java b/apps/routerconsole/java/src/net/i2p/router/web/UpdateHandler.java index f8890482d..fc3b77e05 100644 --- a/apps/routerconsole/java/src/net/i2p/router/web/UpdateHandler.java +++ b/apps/routerconsole/java/src/net/i2p/router/web/UpdateHandler.java @@ -167,7 +167,7 @@ public class UpdateHandler { synchronized (_pct) { buf.append(_pct.format(pct)); } - buf.append(":
\n" + (currentWrite + alreadyTransferred)); + buf.append(":
\n" + (currentWrite + alreadyTransferred)); buf.append(" transferred"); _status = buf.toString(); } @@ -192,11 +192,11 @@ public class UpdateHandler { _context.router().saveConfig(); if ("install".equals(policy)) { _log.log(Log.CRIT, "Update was VERIFIED, restarting to install it"); - _status = "Update verified
Restarting"; + _status = "Update verified
Restarting"; restart(); } else { _log.log(Log.CRIT, "Update was VERIFIED, will be installed at next restart"); - _status = "Update downloaded
"; + _status = "Update downloaded
"; if (System.getProperty("wrapper.version") != null) _status += "Click Restart to install"; else diff --git a/apps/routerconsole/jsp/config.jsp b/apps/routerconsole/jsp/config.jsp index b91a1ce24..443e8f708 100644 --- a/apps/routerconsole/jsp/config.jsp +++ b/apps/routerconsole/jsp/config.jsp @@ -13,7 +13,7 @@

I2P Network Configuration

<%@include file="confignav.jsp" %> - + " /> @@ -25,45 +25,42 @@ System.setProperty("net.i2p.router.web.ConfigNetHandler.nonce", new java.util.Random().nextLong()+""); %> " /> -

Bandwidth limiter

-

+

Bandwidth limiter

I2P will work best if you configure your rates to match the speed of your internet connection. -

-

-

- -
" /> KBps - In ()
- -
" /> KBps - Out ()
- -
- Share ()
-

+

+ + + + + + +
" /> KBps In + ()
" /> KBps Out + ()
Share() +

<% int share = nethelper.getShareBandwidth(); if (share < 12) { out.print("NOTE: You have configured I2P to share only " + share + "KBps. "); out.print("I2P requires at least 12KBps to enable sharing. "); out.print("Please enable sharing (participating in tunnels) by configuring more bandwidth. "); - out.print("It improves your anonymity by creating cover traffic, and helps the network.
"); + out.print("It improves your anonymity by creating cover traffic, and helps the network.
"); } else { out.print("You have configured I2P to share " + share + "KBps. "); - out.print("The higher the share bandwidth the more you improve your anonymity and help the network.


"); + out.print("The higher the share bandwidth the more you improve your anonymity and help the network.
"); } %> -

+

-

IP and Transport Configuration

-

+

IP and Transport Configuration

The default settings will work for most people. There is help below. -

- UPnP Configuration:
+

UPnP Configuration:
/> Enable UPnP to open firewall ports - UPnP status -

- IP Configuration:
- Externally reachable hostname or IP address:
+

IP Configuration:
+ Externally reachable hostname or IP address:
/> - Use all auto-detect methods
+ Use all auto-detect methods
/> - Disable UPnP IP address detection
+ Disable UPnP IP address detection
/> - Ignore local interface IP address
+ Ignore local interface IP address
/> - Use SSU IP address detection only
+ Use SSU IP address detection only
/> Specify hostname or IP: " /> @@ -109,52 +103,47 @@ out.print("\n"); } %> -
+
/> - Hidden mode - do not publish IP (prevents participating traffic)
-

- UDP Configuration:
+ Hidden mode - do not publish IP (prevents participating traffic)
+

UDP Configuration:
UDP port: - " />
+ " />

- TCP Configuration:
- Externally reachable hostname or IP address:
+ TCP Configuration:
+ Externally reachable hostname or IP address:
/> Use auto-detected IP address (currently ) - if we are not firewalled
+ if we are not firewalled
/> - Always use auto-detected IP address (Not firewalled)
+ Always use auto-detected IP address (Not firewalled)
/> Specify hostname or IP: - " />
+ " />
/> - Disable inbound (Firewalled)
+ Disable inbound (Firewalled)
/> - Completely disable (select only if behind a firewall that throttles or blocks outbound TCP)
+ Completely disable (select only if behind a firewall that throttles or blocks outbound TCP)

- Externally reachable TCP port:
+ Externally reachable TCP port:
/> Use the same port configured for UDP - (currently )
+ (currently )
/> Specify Port: - " />
-

Note: Changing these settings will restart your router. -


+ " />
+

Note: Changing these settings will restart your router.

+
-
-
-

Configuration Help:

-
-

+

Configuration Help:

While I2P will work fine behind most firewalls, your speeds and network integration will generally improve if the I2P port (generally 8887) is forwarded for both UDP and TCP.

@@ -166,30 +155,30 @@

-

+

UPnP is used to communicate with Internet Gateway Devices (IGDs) to detect the external IP address and forward ports. UPnP support is beta, and may not work for any number of reasons: -

    +
    • No UPnP-compatible device present
    • UPnP disabled on the device
    • Software firewall interference with UPnP
    • Bugs in the device's UPnP implementation
    • Multiple firewall/routers in the internet connection path
    • UPnP device change, reset, or address change -

    +

Reviewing the UPnP status may help. UPnP may be enabled or disabled above, but a change requires a router restart to take effect. -

Hostnames entered above will be published in the network database. +

Hostnames entered above will be published in the network database. They are not private. Also, do not enter a private IP address like 127.0.0.1 or 192.168.1.1. If you specify the wrong IP address or hostname, or do not properly configure your NAT or firewall, your network performance will degrade - substantially. When in doubt, leave the settings at the defaults.

-

-

Reachability Help:

-

+ substantially. When in doubt, leave the settings at the defaults. +

+

Reachability Help:

While I2P will work fine behind most firewalls, your speeds and network integration will generally improve if the I2P port (generally 8887) to both UDP and TCP. If you think you have opened up your firewall and I2P still thinks you are firewalled, remember @@ -244,19 +233,17 @@

  • ERR - Client Manager I2CP Error - check logs - This is usually due to a port 7654 conflict. Check the logs to verify. Do you have another I2P instance running? Stop the conflicting program and restart I2P. - -

    -
    +


    -
  • -
    -
    - - +
    diff --git a/apps/routerconsole/jsp/configadvanced.jsp b/apps/routerconsole/jsp/configadvanced.jsp index 6fe8723dc..00e4a193a 100644 --- a/apps/routerconsole/jsp/configadvanced.jsp +++ b/apps/routerconsole/jsp/configadvanced.jsp @@ -2,8 +2,7 @@ <%@page pageEncoding="UTF-8"%> - -I2P Router Console - config advanced +I2P Router Console - config advanced <%@include file="css.jsp" %> @@ -30,15 +29,9 @@ " />

    Advanced I2P Configuration

    -

    -
    +

    +
    -
    +
    NOTE: Some changes may require a restart to take effect. -
    - -
    - - - - + diff --git a/apps/routerconsole/jsp/configclients.jsp b/apps/routerconsole/jsp/configclients.jsp index 8921987f4..aa5a8395a 100644 --- a/apps/routerconsole/jsp/configclients.jsp +++ b/apps/routerconsole/jsp/configclients.jsp @@ -2,15 +2,13 @@ <%@page pageEncoding="UTF-8"%> - -I2P Router Console - config clients +I2P Router Console - config clients <%@include file="css.jsp" %> - + <%@include file="summary.jsp" %> @@ -19,31 +17,26 @@ button span.hide{

    I2P Client Configuration

    <%@include file="confignav.jsp" %> - + " /> " /> " /> -
    -
    +
    <% String prev = System.getProperty("net.i2p.router.web.ConfigClientsHandler.nonce"); if (prev != null) System.setProperty("net.i2p.router.web.ConfigClientsHandler.noncePrev", prev); System.setProperty("net.i2p.router.web.ConfigClientsHandler.nonce", new java.util.Random().nextLong()+""); %> " /> -

    Client Configuration

    -

    +

    Client Configuration

    The Java clients listed below are started by the router and run in the same JVM. -

    - -

    - All changes require restart to take effect. To change other client options, edit the clients.config file. -


    +

    +

    +

    All changes require restart to take effect. To change other client options, edit the clients.config file. +


    -
    -

    WebApp Configuration

    -

    +

    WebApp Configuration

    The Java web applications listed below are started by the webConsole client and run in the same JVM as the router. They are usually web applications accessible through the router console. They may be complete applications (e.g. i2psnark), @@ -53,18 +46,11 @@ button span.hide{ A web app may also be disabled by removing the .war file from the webapps directory; however the .war file and web app will reappear when you update your router to a newer version, so disabling the web app here is the preferred method. -

    +

    +

    -

    -

    +

    All changes require restart to take effect. To change other webapp options, edit the webapps.config file. -

    -
    +


    -
    - -
    -
    -
    - - +
    diff --git a/apps/routerconsole/jsp/configkeyring.jsp b/apps/routerconsole/jsp/configkeyring.jsp index 7e58f4a15..88957858d 100644 --- a/apps/routerconsole/jsp/configkeyring.jsp +++ b/apps/routerconsole/jsp/configkeyring.jsp @@ -2,8 +2,7 @@ <%@page pageEncoding="UTF-8"%> - -I2P Router Console - config keyring +I2P Router Console - config keyring <%@include file="css.jsp" %> @@ -16,21 +15,16 @@ " /> - - - " /> -
    -

    -

    Keyring

    +

    Keyring

    The router keyring is used to decrypt encrypted leaseSets. The keyring may contain keys for local or remote encrypted destinations. -

    +

    -
    +
    <% String prev = System.getProperty("net.i2p.router.web.ConfigKeyringHandler.nonce"); @@ -41,23 +35,14 @@ Enter keys for encrypted remote destinations here. Keys for local destinations must be entered on the I2PTunnel page.

    -

    - - - - - - - - - -
    Dest. name, hash, or full key:
    Session Key:
    - -
    - - -
    -
    -
    - - +
    + + + + + + + + + +
    Dest. name, hash, or full key:
    Session Key:
    diff --git a/apps/routerconsole/jsp/configlogging.jsp b/apps/routerconsole/jsp/configlogging.jsp index 432acdfb8..31caf5994 100644 --- a/apps/routerconsole/jsp/configlogging.jsp +++ b/apps/routerconsole/jsp/configlogging.jsp @@ -18,7 +18,7 @@ " /> -
    +
    <% String prev = System.getProperty("net.i2p.router.web.ConfigLoggingHandler.nonce"); if (prev != null) System.setProperty("net.i2p.router.web.ConfigLoggingHandler.noncePrev", prev); @@ -28,43 +28,26 @@

    Configure I2P Logging Options

    - - - - - - - - -
    Logging filename: - " /> -
    (the symbol '@' will be replaced during log rotation) -
    Log record format: - " /> -
    (use 'd' = date, 'c' = class, 't' = thread, 'p' = priority, - 'm' = message) -
    Log date format: - " /> -
    ('MM' = month, 'dd' = day, 'HH' = hour, 'mm' = minute, 'ss' - = second, 'SSS' = millisecond) -
    Max log file size: - " /> -
    -
    Default log level: -
    (DEBUG and INFO are not recommended defaults, - as they will drastically slow down your router) -
    Log level overrides: - -

    -
    -
    - - -
    -
    - -
    -
    -
    - - + Logging filename: + " /> +
    (the symbol '@' will be replaced during log rotation) + Log record format: + " /> +
    (use 'd' = date, 'c' = class, 't' = thread, 'p' = priority, + 'm' = message) + Log date format: + " /> +
    ('MM' = month, 'dd' = day, 'HH' = hour, 'mm' = minute, 'ss' + = second, 'SSS' = millisecond) + Max log file size: + " />
    + Default log level: +
    (DEBUG and INFO are not recommended defaults, + as they will drastically slow down your router) + Log level overrides: + +
    +
    + + +
    diff --git a/apps/routerconsole/jsp/confignav.jsp b/apps/routerconsole/jsp/confignav.jsp index 37b6adbd0..bba31052e 100644 --- a/apps/routerconsole/jsp/confignav.jsp +++ b/apps/routerconsole/jsp/confignav.jsp @@ -1,6 +1,6 @@
    -<% if (request.getRequestURI().indexOf("config.jsp") != -1) { +<% if (request.getRequestURI().indexOf("config.jsp") != -1) { %>Network | <% } else { %>Network | <% } String userAgent = request.getHeader("User-Agent"); if (userAgent == null || !userAgent.contains("MSIE")) { @@ -25,5 +25,4 @@ %>Stats | <% } else { %>Stats | <% } if (request.getRequestURI().indexOf("configadvanced.jsp") != -1) { %>Advanced<% } else { %>Advanced<% } %> -
    -
    + diff --git a/apps/routerconsole/jsp/configpeer.jsp b/apps/routerconsole/jsp/configpeer.jsp index cc759d936..b78fff136 100644 --- a/apps/routerconsole/jsp/configpeer.jsp +++ b/apps/routerconsole/jsp/configpeer.jsp @@ -2,8 +2,7 @@ <%@page pageEncoding="UTF-8"%> - -I2P Router Console - config peers +I2P Router Console - config peers <%@include file="css.jsp" %> @@ -11,19 +10,19 @@

    I2P Peer Configuration

    <%@include file="confignav.jsp" %> - + " /> - + " /> <% String peer = ""; - if (request.getParameter("peer") != null) + if (request.getParameter("peer") != null) peer = request.getParameter("peer"); %>
    @@ -40,9 +39,9 @@
    Router Hash:

    Manually Ban / Unban a Peer

    - Shitlisting will prevent the participation of this peer in tunnels you create. -
    -
    + Shitlisting will prevent the participation of this peer in tunnels you create. +
    +
    <% if (! "".equals(peer)) { %> @@ -51,17 +50,17 @@

    Adjust Profile Bonuses

    - Bonuses may be positive or negative, and affect the peer's inclusion in Fast - and High Capacity tiers. Fast peers are used for client tunnels, and High - Capacity peers are used for some exploratory tunnels. Current bonuses are - displayed on the profiles page. + Bonuses may be positive or negative, and affect the peer's inclusion in Fast + and High Capacity tiers. Fast peers are used for client tunnels, and High + Capacity peers are used for some exploratory tunnels. Current bonuses are + displayed on the profiles page.

    <% long speed = 0; long capacity = 0; if (! "".equals(peer)) { // get existing bonus values? } - %> -


    + %> +
    Speed: Capacity: @@ -73,12 +72,8 @@ " /> -
    +
    -
    -
    -
    - - +
    diff --git a/apps/routerconsole/jsp/configservice.jsp b/apps/routerconsole/jsp/configservice.jsp index 942aedf0d..45b5e435f 100644 --- a/apps/routerconsole/jsp/configservice.jsp +++ b/apps/routerconsole/jsp/configservice.jsp @@ -2,8 +2,7 @@ <%@page pageEncoding="UTF-8"%> - -I2P Router Console - config service +I2P Router Console - config service <%@include file="css.jsp" %> @@ -11,7 +10,7 @@

    I2P Service Configuration

    <%@include file="confignav.jsp" %> - + " /> @@ -23,7 +22,7 @@ System.setProperty("net.i2p.router.web.ConfigServiceHandler.nonce", new java.util.Random().nextLong()+""); %> " />

    Shutdown the router

    -

    Graceful shutdown lets the router satisfy the agreements it has already made +

    Graceful shutdown lets the router satisfy the agreements it has already made before shutting down, but may take a few minutes. If you need to kill the router immediately, that option is available as well.


    @@ -32,7 +31,7 @@
    <% if (System.getProperty("wrapper.version") != null) { %> -

    If you want the router to restart itself after shutting down, you can choose one of +

    If you want the router to restart itself after shutting down, you can choose one of the following. This is useful in some situations - for example, if you changed some settings that client applications only read at startup, such as the routerconsole password or the interface it listens on. A graceful restart will take a few minutes (but your peers @@ -45,46 +44,41 @@ <% if ( (System.getProperty("os.name") != null) && (System.getProperty("os.name").startsWith("Win")) ) { %>

    Systray integration

    -

    On the windows platform, there is a small application to sit in the system +

    On the windows platform, there is a small application to sit in the system tray, allowing you to view the router's status (later on, I2P client applications will be able to integrate their own functionality into the system tray as well). If you are on windows, you can either enable or disable that icon here.


    -
    -

    Run on startup

    -

    You can control whether I2P is run on startup or not by selecting one of the +

    Run on startup

    +

    You can control whether I2P is run on startup or not by selecting one of the following options - I2P will install (or remove) a service accordingly. You can - also run the install_i2p_service_winnt.bat (or + also run the install_i2p_service_winnt.bat (or uninstall_i2p_service_winnt.bat) from the command line, if you prefer.


    -

    Note: If you are running I2P as service right now, removing it will shut +

    Note: If you are running I2P as service right now, removing it will shut down your router immediately. You may want to consider shutting down gracefully, as above, then running uninstall_i2p_service_winnt.bat.

    <% } %> <% if (System.getProperty("wrapper.version") != null) { %>

    Debugging

    -

    At times, it may be helpful to debug I2P by getting a thread dump. To do so, - please select the following option and review the thread dumped to +

    At times, it may be helpful to debug I2P by getting a thread dump. To do so, + please select the following option and review the thread dumped to wrapper.log.


    <% } %>
    - +

    Launch browser on router startup?

    I2P's main configuration interface is this web console, so for your convenience - I2P can launch a web browser pointing at + I2P can launch a web browser pointing at http://127.0.0.1:7657/index.jsp whenever the router starts up.


    -
    - - - - + diff --git a/apps/routerconsole/jsp/configstats.jsp b/apps/routerconsole/jsp/configstats.jsp index 9a2435ec4..122d035c3 100644 --- a/apps/routerconsole/jsp/configstats.jsp +++ b/apps/routerconsole/jsp/configstats.jsp @@ -2,8 +2,7 @@ <%@page pageEncoding="UTF-8"%> - -I2P Router Console - config stats +I2P Router Console - config stats <%@include file="css.jsp" %>