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 3f60e57a94..230e9ec0e3 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 5bffa2a218..a60a3409e1 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 285cdd3854..d2f4d8e64a 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 47b301d28e..af71883eb6 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 b43bc4d1f1..9cb3bfcebb 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 85c8ee4231..8c147fcdd5 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 a09f250a73..347cfdab7f 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 ab23fce6fb..e1e7907b03 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 1067eba549..b14bab7f82 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 bf47f3efa7..48426e4488 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 48ec6e4431..479aeb4c26 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 662a078b81..9db6722b44 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 c9ab42ddee..d9f54e0c92 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 195889fad2..5271e00663 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 00a384e73f..1d34a5db42 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 3af4ffafb5..cb157bea8c 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 0e59380e19..e54c926168 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 e5e0a29225..6cd4346cc8 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 ad7c1622e9..f6c1e01349 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 11830975ba..7815f5cba1 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 256babbe3c..e1f6a657c5 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 263e989374..82d8461f15 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 e9749750cd..a771f52ef6 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 cf8ed23520..633e7db9fd 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 ca1712f1c6..f51c4e772d 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 1ae3029326..cabb68f156 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 886ba6abb6..cffe6f1a78 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 f7aa130647..b88187681d 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 2504067ac3..0648f4c42a 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 702a63e500..ce2242aa71 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 ce6fefd5d6..2b7e81fb41 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 3838245f5e..983a6ba8bf 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 8305d64f3d..b26b5770f0 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 6ef9df9db4..a7d1995dc6 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 3cd8a96e3d..b605cbf361 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 0d812d0ec0..a11f868466 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 f8890482db..fc3b77e05e 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 b91a1ce245..443e8f708c 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 6fe8723dc5..00e4a193a1 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 8921987f41..aa5a8395af 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 7e58f4a156..88957858de 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 432acdfb87..31caf59948 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 37b6adbd0e..bba31052ec 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 cc759d9364..b78fff136c 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 942aedf0d0..45b5e435fa 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 9a2435ec4f..122d035c3b 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" %>