diff --git a/apps/i2ptunnel/jsp/index.jsp b/apps/i2ptunnel/jsp/index.jsp index 7b9004233..a460877a0 100644 --- a/apps/i2ptunnel/jsp/index.jsp +++ b/apps/i2ptunnel/jsp/index.jsp @@ -33,6 +33,13 @@ <% } %> +

<%=intl._t("Hidden Services Manager")%>

+<%=intl._t("These are the local services provided by your router.")%> +<%=intl._t("They may be clients started through the Tunnel Manager or external programs connecting through SAM, BOB, or directly to I2CP.")%> +<%=intl._t("By default, most of your client services (mail, http proxy, IRC) will share the same set of tunnels (for performance reasons) and be listed as \"Shared Clients\" and \"Shared Clients(DSA)\".")%> +<%=intl._t("However, if you experience a tunnel failure, all your services will go offline at the same time, so in some scenarios you may wish to configure client services to use their own set of tunnels.")%> +<%=intl._t("This can be done by unchecking the \"Share tunnels with other clients…\" option listed under \"Shared Clients\" on the configuration page of the relevant client service, after which you will need to restart the client service from this page.")%> +

<% boolean isInitialized = indexBean.isInitialized(); String nextNonce = isInitialized ? net.i2p.i2ptunnel.web.IndexBean.getNextNonce() : null; diff --git a/apps/routerconsole/java/src/net/i2p/router/web/helpers/ConfigNavHelper.java b/apps/routerconsole/java/src/net/i2p/router/web/helpers/ConfigNavHelper.java index 6c26d7af6..9cfed79f8 100644 --- a/apps/routerconsole/java/src/net/i2p/router/web/helpers/ConfigNavHelper.java +++ b/apps/routerconsole/java/src/net/i2p/router/web/helpers/ConfigNavHelper.java @@ -27,7 +27,7 @@ public class ConfigNavHelper extends HelperBase { "reseed", "advanced", "family" }; private static final String titles[] = - {_x("Bandwidth"), _x("Network"), _x("UI"), _x("Summary Bar"), _x("Home Page"), + {_x("Bandwidth"), _x("Network"), _x("UI"), _x("Sidebar"), _x("Home Page"), _x("Service"), _x("Update"), _x("Tunnels"), _x("Clients"), _x("Peers"), _x("Keyring"), _x("Logging"), _x("Stats"), _x("I2CP"), _x("Plugins"), _x("Web Apps"), diff --git a/apps/routerconsole/java/src/net/i2p/router/web/helpers/ConfigReseedHandler.java b/apps/routerconsole/java/src/net/i2p/router/web/helpers/ConfigReseedHandler.java index bf88bd37d..0c4f96aea 100644 --- a/apps/routerconsole/java/src/net/i2p/router/web/helpers/ConfigReseedHandler.java +++ b/apps/routerconsole/java/src/net/i2p/router/web/helpers/ConfigReseedHandler.java @@ -65,9 +65,9 @@ public class ConfigReseedHandler extends FormHandler { } if (!addCheckerStatus(checker)) { if (checker.inProgress()) { - addFormNotice(_t("Reseed in progress, check summary bar for status")); + addFormNotice(_t("Reseed in progress, check sidebar for status")); } else { - addFormNotice(_t("Reseed complete, check summary bar for status")); + addFormNotice(_t("Reseed complete, check sidebar for status")); } } } diff --git a/apps/routerconsole/java/src/net/i2p/router/web/helpers/ConfigSummaryHandler.java b/apps/routerconsole/java/src/net/i2p/router/web/helpers/ConfigSummaryHandler.java index 073a55fea..f15118ce6 100644 --- a/apps/routerconsole/java/src/net/i2p/router/web/helpers/ConfigSummaryHandler.java +++ b/apps/routerconsole/java/src/net/i2p/router/web/helpers/ConfigSummaryHandler.java @@ -12,7 +12,7 @@ import net.i2p.router.web.FormHandler; /** - * Simple summary bar configuration. + * Simple sidebar configuration. * * @since 0.9.1 */ @@ -39,12 +39,12 @@ public class ConfigSummaryHandler extends FormHandler { } } else if (_action.equals(_t("Restore full default"))) { _context.router().saveConfig(SummaryHelper.PROP_SUMMARYBAR + "default", isAdvanced() ? SummaryHelper.DEFAULT_FULL_ADVANCED : SummaryHelper.DEFAULT_FULL); - addFormNotice(_t("Full summary bar default restored.") + " " + - _t("Summary bar will refresh shortly.")); + addFormNotice(_t("Full sidebar default restored.") + " " + + _t("Sidebar will refresh shortly.")); } else if (_action.equals(_t("Restore minimal default"))) { _context.router().saveConfig(SummaryHelper.PROP_SUMMARYBAR + "default", isAdvanced() ? SummaryHelper.DEFAULT_MINIMAL_ADVANCED : SummaryHelper.DEFAULT_MINIMAL); - addFormNotice(_t("Minimal summary bar default restored.") + " " + - _t("Summary bar will refresh shortly.")); + addFormNotice(_t("Minimal sidebar default restored.") + " " + + _t("Sidebar will refresh shortly.")); } else if (adding || deleting || saving || moving) { Map sections = new TreeMap(); for (Object o : _settings.keySet()) { @@ -137,7 +137,7 @@ public class ConfigSummaryHandler extends FormHandler { } SummaryHelper.saveSummaryBarSections(_context, "default", sections); addFormNotice(_t("Saved order of sections.") + " " + - _t("Summary bar will refresh shortly.")); + _t("Sidebar will refresh shortly.")); } else { //addFormError(_t("Unsupported")); } diff --git a/apps/routerconsole/java/src/net/i2p/router/web/helpers/PeerHelper.java b/apps/routerconsole/java/src/net/i2p/router/web/helpers/PeerHelper.java index 832714e69..8fecda96c 100644 --- a/apps/routerconsole/java/src/net/i2p/router/web/helpers/PeerHelper.java +++ b/apps/routerconsole/java/src/net/i2p/router/web/helpers/PeerHelper.java @@ -150,6 +150,22 @@ public class PeerHelper extends HelperBase { out.write(buf.toString()); } else if ("upnp".equals(_transport)) { // UPnP Status + StringBuilder buf = new StringBuilder(512); + buf.append("

").append(_t("UPnP Overview")) + .append("

") + .append(_t("UPnP is used to communicate with Internet Gateway Devices (IGDs) to detect the external IP address and forward ports.")) + .append(' ') + .append(_t("If UPnP is not working, it may be for one of the following reasons:")) + .append("

  • ").append(_t("No UPnP-compatible device present")) + .append("
  • \n
  • ").append(_t("UPnP disabled on the device")) + .append("
  • \n
  • ").append(_t("Software firewall interference with UPnP")) + .append("
  • \n
  • ").append(_t("Bugs in the device's UPnP implementation")) + .append("
  • \n
  • ").append(_t("Multiple firewall/routers in the internet connection path")) + .append("
  • \n
  • ").append(_t("UPnP device change, reset, or address change")) + .append("
  • \n

") + .append(_t("UPnP may be enabled or disabled on the Network Configuration page, but a change requires a router restart to take effect.")) + .append("

"); + out.write(buf.toString()); _context.commSystem().renderStatusHTML(_out, _urlBase, _sortFlags); } out.flush(); diff --git a/apps/routerconsole/java/src/net/i2p/router/web/helpers/SummaryBarRenderer.java b/apps/routerconsole/java/src/net/i2p/router/web/helpers/SummaryBarRenderer.java index dda5eb5e0..859f7f07f 100644 --- a/apps/routerconsole/java/src/net/i2p/router/web/helpers/SummaryBarRenderer.java +++ b/apps/routerconsole/java/src/net/i2p/router/web/helpers/SummaryBarRenderer.java @@ -152,22 +152,10 @@ class SummaryBarRenderer { "
" + - "") - .append(nbsp(_t("Advanced Settings"))) - .append("\n" + - - "") .append(nbsp(_t("Changelog"))) - .append("\n" + - - "") - .append(nbsp(_t("Configuration"))) .append("\n" + "\n" + - "") .append(nbsp(_t("Legal"))) diff --git a/apps/routerconsole/jsp/config.jsp b/apps/routerconsole/jsp/config.jsp index 6aa231ecc..3006fa49c 100644 --- a/apps/routerconsole/jsp/config.jsp +++ b/apps/routerconsole/jsp/config.jsp @@ -28,8 +28,13 @@

<%=intl._t("Bandwidth Limiter")%> [<%=intl._t("Advanced Network Configuration")%>]

+ <%=intl._t("I2P will work best if you configure your rates to match the speed of your internet connection.")%>

+<%=intl._t("All sidebar values are in bytes per second, not bits per second.")%> +<%=intl._t("You may change your bandwidth limits here.")%> +<%=intl._t("The more bandwidth you make available, the more you help the network and improve your own anonymity, so please take the time to review the settings.")%> +<%=intl._t("If you are unsure of your network's speed, use the Bandwidth Test.")%> +<%=intl._t("Your upstream share amount (KBps Out) will determine your overall contribution to the network.")%> +

<%-- display burst, set standard, handler will fix up --%>
- <%=intl._t("I2P will work best if you configure your rates to match the speed of your internet connection.")%> -
" > <%=intl._t("KBps In")%> diff --git a/apps/routerconsole/jsp/configadvanced.jsp b/apps/routerconsole/jsp/configadvanced.jsp index 5e009544d..f282f89ed 100644 --- a/apps/routerconsole/jsp/configadvanced.jsp +++ b/apps/routerconsole/jsp/configadvanced.jsp @@ -24,6 +24,11 @@ <%@include file="formhandler.jsi" %>
+

The router configuration options listed below are not available in the user interface, usually because they are rarely used or provide access to advanced settings that most users will not need. +This is not a comprehensive list. +Some settings will require a restart of the router to take effect. +Note that all settings are case sensitive. +You will need to edit your router.config file to add options, or, once you have added routerconsole.advanced=true to the router.config file, you may edit settings within the console on the Advanced Configuration page.

<%=intl._t("Floodfill Configuration")%>

@@ -55,7 +60,7 @@
-

<%=intl._t("Advanced I2P Configuration")%> [Additional Options]

+

<%=intl._t("Advanced I2P Configuration")%>

<% String advConfig = advancedhelper.getSettings(); if (advancedhelper.isAdvanced()) { @@ -88,4 +93,34 @@ <% if (advancedhelper.isAdvanced()) { %> <% } // isAdvanced %> + +

<%=intl._t("Advanced Configuration Help")%>

+ + + + + + + + + + + + + + + + + + + + +
routerconsole.advanced={true|false}
Only set this to true if you know what you are doing!
When set to true, additional functionality will be enabled in the console and the user will be able to edit settings directly on the Advanced Configuration page. +Extra display options are provided in the Network Database section, including the Sybil Analysis tool, and there are additional configuration options on the Clients Configuration page. +This will also enable the installation of unsigned updates, manual configuration of the news URL, and the installation of plugins. +You may also wish to enable the "Advanced" sidebar section on the Sidebar Configuration page.
routerconsole.browser={/path/to/browser}
This setting allows the manual selection of the browser which I2P will launch on startup (if the console is configured to launch a browser on startup), overriding the OS default browser.
router.updateUnsignedURL={url}
This setting allows you to configure the update url for the unsigned update feature, if enabled. +The url should end with /i2pupdate.zip. +Note: do not install unsigned updates unless you trust the source of the update!
routerconsole.showSearch={true|false}
When set to true, a configurable search bar will appear on the console homepage. +Additional searches may then be added on the home configuration page.
router.hideFloodfillParticipant={true|false}
When set to true, if your router is serving as a floodfill for the network, your floodfill participation will be hidden from other routers.
router.maxParticipatingTunnels={n}
Determines the maximum number of participating tunnels the router can build. +To disable participation completely, set to 0.
diff --git a/apps/routerconsole/jsp/confignet.jsp b/apps/routerconsole/jsp/confignet.jsp index d37277ba8..003eb63c3 100644 --- a/apps/routerconsole/jsp/confignet.jsp +++ b/apps/routerconsole/jsp/confignet.jsp @@ -22,7 +22,7 @@
-

<%=intl._t("IP and Transport Configuration")%> " href="/help#configurationhelp">[<%=intl._t("Configuration Help")%>]

+

<%=intl._t("IP and Transport Configuration")%>

diff --git a/apps/routerconsole/jsp/configsidebar.jsp b/apps/routerconsole/jsp/configsidebar.jsp index 83b10a47e..ea071841b 100644 --- a/apps/routerconsole/jsp/configsidebar.jsp +++ b/apps/routerconsole/jsp/configsidebar.jsp @@ -4,7 +4,7 @@ <%@include file="css.jsi" %> -<%=intl.title("config summary bar")%> +<%=intl.title("config sidebar")%>
@@ -33,6 +33,20 @@
<%=intl._t("Do not reveal your port numbers to anyone, as they can be used to discover your IP address.")%> +

+ <%=intl._t("While I2P will work fine behind most firewalls, your speeds and network integration will generally improve if the I2P port is forwarded for both UDP and TCP.")%>  +

+

+ <%=intl._t("If you can, please poke a hole in your firewall to allow unsolicited UDP and TCP packets to reach you.")%>  + <%=intl._t("If you can't, I2P supports UPnP (Universal Plug and Play) and UDP hole punching with \"SSU introductions\" to relay traffic.")%>  + <%=intl._t("Most of the options on the Network Configuration page are for special situations, for example where UPnP does not work correctly, or a firewall not under your control is doing harm.")%>  + <%=intl._t("Certain firewalls such as symmetric NATs may not work well with I2P.")%> +

+

+ <%=intl._t("Also, do not enter a private IP address like 127.0.0.1 or 192.168.1.1.")%>  + <%=intl._t("If you specify the wrong IP address or hostname, or do not properly configure your NAT or firewall, your network performance will degrade substantially.")%>  + <%=intl._t("When in doubt, leave the settings at the defaults.")%>  +