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 2ec1420e07..6b13e0d110 100644 --- a/apps/routerconsole/java/src/net/i2p/router/web/ConfigAdvancedHandler.java +++ b/apps/routerconsole/java/src/net/i2p/router/web/ConfigAdvancedHandler.java @@ -68,7 +68,7 @@ public class ConfigAdvancedHandler extends FormHandler { if (saved) addFormNotice(_("Configuration saved successfully")); else - addFormNotice(_("Error saving the configuration (applied but not saved) - please see the error logs")); + addFormError(_("Error saving the configuration (applied but not saved) - please see the error logs")); //if (_forceRestart) { // addFormNotice("Performing a soft restart"); 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 a6fe4ee87c..bbd38806db 100644 --- a/apps/routerconsole/java/src/net/i2p/router/web/ConfigClientsHelper.java +++ b/apps/routerconsole/java/src/net/i2p/router/web/ConfigClientsHelper.java @@ -257,18 +257,18 @@ public class ConfigClientsHelper extends HelperBase { } buf.append(">"); if (showStartButton && (!ro) && !edit) { - buf.append(""); + buf.append(""); } if (showEditButton && (!edit) && !ro) - buf.append(""); + buf.append(""); if (showStopButton && (!edit)) - buf.append(""); + buf.append(""); if (showUpdateButton && (!edit) && !ro) { - buf.append(""); - buf.append(""); + buf.append(""); + buf.append(""); } if (showDeleteButton && (!edit) && !ro) { - buf.append("\n"); + for (int i = 0; i < s.length; i+= 3) { + buf.append("\n"); + } buf.append("\n"); } 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 c43cb1eb52..fa2737c8e4 100644 --- a/apps/routerconsole/java/src/net/i2p/router/web/ConfigTunnelsHandler.java +++ b/apps/routerconsole/java/src/net/i2p/router/web/ConfigTunnelsHandler.java @@ -139,7 +139,7 @@ public class ConfigTunnelsHandler extends FormHandler { if (saved) addFormNotice(_("Exploratory tunnel configuration saved successfully.")); else - addFormNotice(_("Error saving the configuration (applied but not saved) - please see the error logs.")); + addFormError(_("Error saving the configuration (applied but not saved) - please see the error logs.")); } } private static final int getInt(Object val) { 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 8c0925e4bc..417fbaf244 100644 --- a/apps/routerconsole/java/src/net/i2p/router/web/ConfigUIHandler.java +++ b/apps/routerconsole/java/src/net/i2p/router/web/ConfigUIHandler.java @@ -33,7 +33,7 @@ public class ConfigUIHandler extends FormHandler { _("Refresh the page to view.") + ""); } else { - addFormNotice(_("Error saving the configuration (applied but not saved) - please see the error logs.")); + addFormError(_("Error saving the configuration (applied but not saved) - please see the error logs.")); } } } 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 b0014fdf80..31b9433ac5 100644 --- a/apps/routerconsole/java/src/net/i2p/router/web/GraphHelper.java +++ b/apps/routerconsole/java/src/net/i2p/router/web/GraphHelper.java @@ -195,7 +195,7 @@ public class GraphHelper extends FormHandler { if (persistent) _out.write(" checked=\"true\""); _out.write(">" + - "
"); + "
"); } catch (IOException ioe) { ioe.printStackTrace(); } diff --git a/apps/routerconsole/java/src/net/i2p/router/web/SummaryBarRenderer.java b/apps/routerconsole/java/src/net/i2p/router/web/SummaryBarRenderer.java index 5b0f926da5..0867b3781b 100644 --- a/apps/routerconsole/java/src/net/i2p/router/web/SummaryBarRenderer.java +++ b/apps/routerconsole/java/src/net/i2p/router/web/SummaryBarRenderer.java @@ -204,7 +204,7 @@ public class SummaryBarRenderer { .append(_helper.getUptime()) .append("\n" + - "

") .append(_("Network")) @@ -214,7 +214,10 @@ public class SummaryBarRenderer { // display all the time so we display the final failure message, and plugin update messages too - buf.append(UpdateHandler.getStatus()); + String status = UpdateHandler.getStatus(); + if (status.length() > 0) { + buf.append("

").append(status).append("


\n"); + } if (_helper.updateAvailable() || _helper.unsignedUpdateAvailable()) { if ("true".equals(System.getProperty(UpdateHandler.PROP_UPDATE_IN_PROGRESS))) { // nothing @@ -233,13 +236,13 @@ public class SummaryBarRenderer { buf.append("
\n"); buf.append("\n"); if (_helper.updateAvailable()) { - buf.append("
\n"); } if (_helper.unsignedUpdateAvailable()) { - buf.append("

\n"); + buf.append("

\n"); } anotherLine = true; } diff --git a/apps/routerconsole/jsp/config.jsp b/apps/routerconsole/jsp/config.jsp index df605ba1de..ba783d37d8 100644 --- a/apps/routerconsole/jsp/config.jsp +++ b/apps/routerconsole/jsp/config.jsp @@ -4,14 +4,14 @@ <%@include file="css.jsi" %> -<%=intl.title("config networking")%> +<%=intl.title("configure bandwidth")%> <%@include file="summary.jsi" %> " /> -

<%=intl._("I2P Network Configuration")%>

+

<%=intl._("I2P Bandwidth Configuration")%>

<%@include file="confignav.jsi" %> @@ -24,7 +24,9 @@
" > +

<%=intl._("Bandwidth limiter")%>

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

" > @@ -53,10 +55,10 @@
<%=intl._("Share")%> () -

+

<% int share = nethelper.getShareBandwidth(); if (share < 12) { - out.print("

"); + out.print(""); out.print(intl._("NOTE")); out.print(": "); out.print(intl._("You have configured I2P to share only {0} KBps.", share)); @@ -64,218 +66,18 @@ out.print(intl._("I2P requires at least 12KBps to enable sharing. ")); out.print(intl._("Please enable sharing (participating in tunnels) by configuring more bandwidth. ")); - out.print(intl._("It improves your anonymity by creating cover traffic, and helps the network.")+"

"); + out.print(intl._("It improves your anonymity by creating cover traffic, and helps the network.")); } else { - out.print("

"); out.print(intl._("You have configured I2P to share {0} KBps.", share)); out.print("\n"); - out.print(intl._("The higher the share bandwidth the more you improve your anonymity and help the network.")+"


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

<%=intl._("Advanced network configuration page")%>


-" > -" > +" > +" >
-<% /******** - -*********/ %> -

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

- <%=intl._("The default settings will work for most people.")%> - <%=intl._("There is help below.")%> -

<%=intl._("UPnP Configuration")%>:
- > - <%=intl._("Enable UPnP to open firewall ports")%> - <%=intl._("UPnP status")%> -

<%=intl._("IP Configuration")%>:
- <%=intl._("Externally reachable hostname or IP address")%>:
- > - <%=intl._("Use all auto-detect methods")%>
- > - <%=intl._("Disable UPnP IP address detection")%>
- > - <%=intl._("Ignore local interface IP address")%>
- > - <%=intl._("Use SSU IP address detection only")%>
- > - <%=intl._("Specify hostname or IP")%>: - " > - <% String[] ips = nethelper.getAddresses(); - if (ips.length > 0) { - out.print(intl._("or") + " \n"); - } - %> -
- > - <%=intl._("Hidden mode - do not publish IP")%> <%=intl._("(prevents participating traffic)")%>
-

- <%=intl._("Action when IP changes")%>:
- > - <%=intl._("Laptop mode - Change router identity and UDP port when IP changes for enhanced anonymity")%> - (<%=intl._("Experimental")%>) -

<%=intl._("UDP Configuration:")%>
- <%=intl._("UDP port:")%> - " >
-<% /******** - -*********/ %> -

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

- <%=intl._("Externally reachable TCP port")%>:
- > - <%=intl._("Use the same port configured for UDP")%> - (<%=intl._("currently")%> )
- > - <%=intl._("Specify Port")%>: - " >
-

<%=intl._("Notes")%>: <%=intl._("a) Do not reveal your port numbers to anyone! b) Changing these settings will restart your router.")%>

-
-" > -" > -

<%=intl._("Configuration Help")%>:

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

-<% /******** - -*********/ %> -

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

    -
  • <%=intl._("No UPnP-compatible device present")%> -
  • <%=intl._("UPnP disabled on the device")%> -
  • <%=intl._("Software firewall interference with UPnP")%> -
  • <%=intl._("Bugs in the device's UPnP implementation")%> -
  • <%=intl._("Multiple firewall/routers in the internet connection path")%> -
  • <%=intl._("UPnP device change, reset, or address change")%> -

-<%=intl._("Review the UPnP status here.")%> -<%=intl._("UPnP may be enabled or disabled above, but a change requires a router restart to take effect.")%>

-

<%=intl._("Hostnames entered above will be published in the network database.")%> - <%=intl._("They are not private.")%> - <%=intl._("Also, do not enter a private IP address like 127.0.0.1 or 192.168.1.1.")%> - <%=intl._("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._("When in doubt, leave the settings at the defaults.")%> -

-

<%=intl._("Reachability Help")%>:

- <%=intl._("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._("If you think you have opened up your firewall and I2P still thinks you are firewalled, remember that you may have multiple firewalls, for example both software packages and external hardware routers.")%> - <%=intl._("If there is an error, the logs may also help diagnose the problem.")%> -

    -
  • <%=intl._("OK")%> - - <%=intl._("Your UDP port does not appear to be firewalled.")%> -
  • <%=intl._("Firewalled")%> - - <%=intl._("Your UDP port appears to be firewalled.")%> - <%=intl._("As the firewall detection methods are not 100% reliable, this may occasionally be displayed in error.")%> - <%=intl._("However, if it appears consistently, you should check whether both your external and internal firewalls are open for your port.")%> - <%=intl._("I2P will work fine when firewalled, there is no reason for concern. When firewalled, the router uses \"introducers\" to relay inbound connections.")%> - <%=intl._("However, you will get more participating traffic and help the network more if you can open your firewall(s).")%> - <%=intl._("If you think you have already done so, remember that you may have both a hardware and a software firewall, or be behind an additional, institutional firewall you cannot control.")%> - <%=intl._("Also, some routers cannot correctly forward both TCP and UDP on a single port, or may have other limitations or bugs that prevent them from passing traffic through to I2P.")%> -
  • <%=intl._("Testing")%> - - <%=intl._("The router is currently testing whether your UDP port is firewalled.")%> -
  • <%=intl._("Hidden")%> - - <%=intl._("The router is not configured to publish its address, therefore it does not expect incoming connections.")%> -
  • <%=intl._("WARN - Firewalled and Fast")%> - - <%=intl._("You have configured I2P to share more than 128KBps of bandwidth, but you are firewalled.")%> - <%=intl._("While I2P will work fine in this configuration, if you really have over 128KBps of bandwidth to share, it will be much more helpful to the network if you open your firewall.")%> -
  • <%=intl._("WARN - Firewalled and Floodfill")%> - - <%=intl._("You have configured I2P to be a floodfill router, but you are firewalled.")%> - <%=intl._("For best participation as a floodfill router, you should open your firewall.")%> -
  • <%=intl._("WARN - Firewalled with Inbound TCP Enabled")%> - - <%=intl._("You have configured inbound TCP, however your UDP port is firewalled, and therefore it is likely that your TCP port is firewalled as well.")%> - <%=intl._("If your TCP port is firewalled with inbound TCP enabled, routers will not be able to contact you via TCP, which will hurt the network.")%> - <%=intl._("Please open your firewall or disable inbound TCP above.")%> -
  • <%=intl._("WARN - Firewalled with UDP Disabled")%> - - <%=intl._("You have configured inbound TCP, however you have disabled UDP.")%> - <%=intl._("You appear to be firewalled on TCP, therefore your router cannot accept inbound connections.")%> - <%=intl._("Please open your firewall or enable UDP.")%> -
  • <%=intl._("ERR - Clock Skew")%> - - <%=intl._("Your system's clock is skewed, which will make it difficult to participate in the network.")%> - <%=intl._("Correct your clock setting if this error persists.")%> -
  • <%=intl._("ERR - Private TCP Address")%> - - <%=intl._("You must never advertise an unroutable IP address such as 127.0.0.1 or 192.168.1.1 as your external address.")%> - <%=intl._("Correct the address or disable inbound TCP above.")%> -
  • <%=intl._("ERR - SymmetricNAT")%> - - <%=intl._("I2P detected that you are firewalled by a Symmetric NAT.")%> - <%=intl._("I2P does not work well behind this type of firewall. You will probably not be able to accept inbound connections, which will limit your participation in the network.")%> -
  • <%=intl._("ERR - UDP Port In Use - Set i2np.udp.internalPort=xxxx in advanced config and restart")%> - - <%=intl._("I2P was unable to bind to port 8887 or other configured port.")%> - <%=intl._("Check to see if another program is using the configured port. If so, stop that program or configure I2P to use a different port.")%> - <%=intl._("This may be a transient error, if the other program is no longer using the port.")%> - <%=intl._("However, a restart is always required after this error.")%> -
  • <%=intl._("ERR - UDP Disabled and Inbound TCP host/port not set")%> - - <%=intl._("You have not configured inbound TCP with a hostname and port above, however you have disabled UDP.")%> - <%=intl._("Therefore your router cannot accept inbound connections.")%> - <%=intl._("Please configure a TCP host and port above or enable UDP.")%> -
  • <%=intl._("ERR - Client Manager I2CP Error - check logs")%> - - <%=intl._("This is usually due to a port 7654 conflict. Check the logs to verify.")%> - <%=intl._("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 9acfd65ec1..85300a4835 100644 --- a/apps/routerconsole/jsp/configadvanced.jsp +++ b/apps/routerconsole/jsp/configadvanced.jsp @@ -30,7 +30,7 @@

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



- " > - " > + " > + " >
<%=intl._("NOTE")%>: <%=intl._("Some changes may require a restart to take effect.")%>
diff --git a/apps/routerconsole/jsp/configclients.jsp b/apps/routerconsole/jsp/configclients.jsp index 9d74d49901..4c70beafed 100644 --- a/apps/routerconsole/jsp/configclients.jsp +++ b/apps/routerconsole/jsp/configclients.jsp @@ -41,11 +41,11 @@ button span.hide{ <%=net.i2p.router.startup.ClientAppConfig.configFile(net.i2p.I2PAppContext.getGlobalContext()).getAbsolutePath()%>. <%=intl._("All changes require restart to take effect.")%>


- " /> + " /> <% if (request.getParameter("edit") == null) { %> - " /> + " /> <% } %> - " /> + " />

<%=intl._("Advanced Client Interface Configuration")%>

@@ -89,8 +89,8 @@ button span.hide{ <%=intl._("Many clients do not support SSL or authorization.")%> <%=intl._("All changes require restart to take effect.")%>


-" /> -" /> +" /> +" />

<%=intl._("WebApp Configuration")%>

@@ -103,7 +103,7 @@ button span.hide{

<%=intl._("All changes require restart to take effect.")%>


- " /> + " />
<% if (clientshelper.showPlugins()) { %> @@ -114,7 +114,7 @@ button span.hide{
- " /> + " />

<%=intl._("Plugin Installation")%>

@@ -125,7 +125,7 @@ button span.hide{


- " /> + " />
<% } %> diff --git a/apps/routerconsole/jsp/configkeyring.jsp b/apps/routerconsole/jsp/configkeyring.jsp index 9188f56dfa..df49cfb08f 100644 --- a/apps/routerconsole/jsp/configkeyring.jsp +++ b/apps/routerconsole/jsp/configkeyring.jsp @@ -41,7 +41,7 @@ -" > -" > -" > +" > +" > +" >

diff --git a/apps/routerconsole/jsp/configlogging.jsp b/apps/routerconsole/jsp/configlogging.jsp index 4c5904a907..4e3b52352a 100644 --- a/apps/routerconsole/jsp/configlogging.jsp +++ b/apps/routerconsole/jsp/configlogging.jsp @@ -48,6 +48,6 @@
- " > - " > + " > + " >
diff --git a/apps/routerconsole/jsp/confignet.jsp b/apps/routerconsole/jsp/confignet.jsp new file mode 100644 index 0000000000..78dd68fda6 --- /dev/null +++ b/apps/routerconsole/jsp/confignet.jsp @@ -0,0 +1,217 @@ +<%@page contentType="text/html" %> +<%@page pageEncoding="UTF-8"%> + + + +<%@include file="css.jsi" %> +<%=intl.title("config networking")%> + + +<%@include file="summary.jsi" %> + + +" /> +

<%=intl._("I2P Network Configuration")%>

+
+ <%@include file="confignav.jsi" %> + + + <% formhandler.storeMethod(request.getMethod()); %> + + " /> + +
+
+ " > + +

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

+ + <%=intl._("The default settings will work for most people.")%> + <%=intl._("There is help below.")%> +

<%=intl._("UPnP Configuration")%>:
+ > + <%=intl._("Enable UPnP to open firewall ports")%> - <%=intl._("UPnP status")%> +

<%=intl._("IP Configuration")%>:
+ <%=intl._("Externally reachable hostname or IP address")%>:
+ > + <%=intl._("Use all auto-detect methods")%>
+ > + <%=intl._("Disable UPnP IP address detection")%>
+ > + <%=intl._("Ignore local interface IP address")%>
+ > + <%=intl._("Use SSU IP address detection only")%>
+ > + <%=intl._("Specify hostname or IP")%>: + " > + <% String[] ips = nethelper.getAddresses(); + if (ips.length > 0) { + out.print(intl._("or") + " \n"); + } + %> +
+ > + <%=intl._("Hidden mode - do not publish IP")%> <%=intl._("(prevents participating traffic)")%>
+

+ <%=intl._("Action when IP changes")%>:
+ > + <%=intl._("Laptop mode - Change router identity and UDP port when IP changes for enhanced anonymity")%> + (<%=intl._("Experimental")%>) +

<%=intl._("UDP Configuration:")%>
+ <%=intl._("UDP port:")%> + " >
+<% /******** + +*********/ %> +

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

+ <%=intl._("Externally reachable TCP port")%>:
+ > + <%=intl._("Use the same port configured for UDP")%> + (<%=intl._("currently")%> )
+ > + <%=intl._("Specify Port")%>: + " >
+

<%=intl._("Notes")%>: <%=intl._("a) Do not reveal your port numbers to anyone! b) Changing these settings will restart your router.")%>

+
+" > +" > +

<%=intl._("Configuration Help")%>:

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

+<% /******** + +*********/ %> +

+ <%=intl._("UPnP is used to communicate with Internet Gateway Devices (IGDs) to detect the external IP address and forward ports.")%> + <%=intl._("UPnP support is beta, and may not work for any number of reasons")%>: +

    +
  • <%=intl._("No UPnP-compatible device present")%> +
  • <%=intl._("UPnP disabled on the device")%> +
  • <%=intl._("Software firewall interference with UPnP")%> +
  • <%=intl._("Bugs in the device's UPnP implementation")%> +
  • <%=intl._("Multiple firewall/routers in the internet connection path")%> +
  • <%=intl._("UPnP device change, reset, or address change")%> +

+<%=intl._("Review the UPnP status here.")%> +<%=intl._("UPnP may be enabled or disabled above, but a change requires a router restart to take effect.")%>

+

<%=intl._("Hostnames entered above will be published in the network database.")%> + <%=intl._("They are not private.")%> + <%=intl._("Also, do not enter a private IP address like 127.0.0.1 or 192.168.1.1.")%> + <%=intl._("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._("When in doubt, leave the settings at the defaults.")%> +

+

<%=intl._("Reachability Help")%>:

+ <%=intl._("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._("If you think you have opened up your firewall and I2P still thinks you are firewalled, remember that you may have multiple firewalls, for example both software packages and external hardware routers.")%> + <%=intl._("If there is an error, the logs may also help diagnose the problem.")%> +

    +
  • <%=intl._("OK")%> - + <%=intl._("Your UDP port does not appear to be firewalled.")%> +
  • <%=intl._("Firewalled")%> - + <%=intl._("Your UDP port appears to be firewalled.")%> + <%=intl._("As the firewall detection methods are not 100% reliable, this may occasionally be displayed in error.")%> + <%=intl._("However, if it appears consistently, you should check whether both your external and internal firewalls are open for your port.")%> + <%=intl._("I2P will work fine when firewalled, there is no reason for concern. When firewalled, the router uses \"introducers\" to relay inbound connections.")%> + <%=intl._("However, you will get more participating traffic and help the network more if you can open your firewall(s).")%> + <%=intl._("If you think you have already done so, remember that you may have both a hardware and a software firewall, or be behind an additional, institutional firewall you cannot control.")%> + <%=intl._("Also, some routers cannot correctly forward both TCP and UDP on a single port, or may have other limitations or bugs that prevent them from passing traffic through to I2P.")%> +
  • <%=intl._("Testing")%> - + <%=intl._("The router is currently testing whether your UDP port is firewalled.")%> +
  • <%=intl._("Hidden")%> - + <%=intl._("The router is not configured to publish its address, therefore it does not expect incoming connections.")%> +
  • <%=intl._("WARN - Firewalled and Fast")%> - + <%=intl._("You have configured I2P to share more than 128KBps of bandwidth, but you are firewalled.")%> + <%=intl._("While I2P will work fine in this configuration, if you really have over 128KBps of bandwidth to share, it will be much more helpful to the network if you open your firewall.")%> +
  • <%=intl._("WARN - Firewalled and Floodfill")%> - + <%=intl._("You have configured I2P to be a floodfill router, but you are firewalled.")%> + <%=intl._("For best participation as a floodfill router, you should open your firewall.")%> +
  • <%=intl._("WARN - Firewalled with Inbound TCP Enabled")%> - + <%=intl._("You have configured inbound TCP, however your UDP port is firewalled, and therefore it is likely that your TCP port is firewalled as well.")%> + <%=intl._("If your TCP port is firewalled with inbound TCP enabled, routers will not be able to contact you via TCP, which will hurt the network.")%> + <%=intl._("Please open your firewall or disable inbound TCP above.")%> +
  • <%=intl._("WARN - Firewalled with UDP Disabled")%> - + <%=intl._("You have configured inbound TCP, however you have disabled UDP.")%> + <%=intl._("You appear to be firewalled on TCP, therefore your router cannot accept inbound connections.")%> + <%=intl._("Please open your firewall or enable UDP.")%> +
  • <%=intl._("ERR - Clock Skew")%> - + <%=intl._("Your system's clock is skewed, which will make it difficult to participate in the network.")%> + <%=intl._("Correct your clock setting if this error persists.")%> +
  • <%=intl._("ERR - Private TCP Address")%> - + <%=intl._("You must never advertise an unroutable IP address such as 127.0.0.1 or 192.168.1.1 as your external address.")%> + <%=intl._("Correct the address or disable inbound TCP above.")%> +
  • <%=intl._("ERR - SymmetricNAT")%> - + <%=intl._("I2P detected that you are firewalled by a Symmetric NAT.")%> + <%=intl._("I2P does not work well behind this type of firewall. You will probably not be able to accept inbound connections, which will limit your participation in the network.")%> +
  • <%=intl._("ERR - UDP Port In Use - Set i2np.udp.internalPort=xxxx in advanced config and restart")%> - + <%=intl._("I2P was unable to bind to port 8887 or other configured port.")%> + <%=intl._("Check to see if another program is using the configured port. If so, stop that program or configure I2P to use a different port.")%> + <%=intl._("This may be a transient error, if the other program is no longer using the port.")%> + <%=intl._("However, a restart is always required after this error.")%> +
  • <%=intl._("ERR - UDP Disabled and Inbound TCP host/port not set")%> - + <%=intl._("You have not configured inbound TCP with a hostname and port above, however you have disabled UDP.")%> + <%=intl._("Therefore your router cannot accept inbound connections.")%> + <%=intl._("Please configure a TCP host and port above or enable UDP.")%> +
  • <%=intl._("ERR - Client Manager I2CP Error - check logs")%> - + <%=intl._("This is usually due to a port 7654 conflict. Check the logs to verify.")%> + <%=intl._("Do you have another I2P instance running? Stop the conflicting program and restart I2P.")%> +


+<% /******** + +*********/ %> +
diff --git a/apps/routerconsole/jsp/configpeer.jsp b/apps/routerconsole/jsp/configpeer.jsp index f3a7097e6b..04873ff547 100644 --- a/apps/routerconsole/jsp/configpeer.jsp +++ b/apps/routerconsole/jsp/configpeer.jsp @@ -39,8 +39,8 @@

<%=intl._("Manually Ban / Unban a Peer")%>

<%=intl._("Banning will prevent the participation of this peer in tunnels you create.")%>

- " /> - " /> + " /> + " /> <% if (! "".equals(peer)) { %> <% } %> @@ -57,7 +57,7 @@ <%=intl._("Capacity")%>: - " />

+ " />

<%=intl._("Banned Peers")%>

diff --git a/apps/routerconsole/jsp/configreseed.jsp b/apps/routerconsole/jsp/configreseed.jsp index 6c94b78a22..648a14ee95 100644 --- a/apps/routerconsole/jsp/configreseed.jsp +++ b/apps/routerconsole/jsp/configreseed.jsp @@ -75,7 +75,7 @@
-" /> -" /> -" /> +" /> +" /> +" />
diff --git a/apps/routerconsole/jsp/configservice.jsp b/apps/routerconsole/jsp/configservice.jsp index 21990fc0f1..3a2f7af86d 100644 --- a/apps/routerconsole/jsp/configservice.jsp +++ b/apps/routerconsole/jsp/configservice.jsp @@ -24,9 +24,9 @@

<%=intl._("Graceful shutdown lets the router satisfy the agreements it has already made before shutting down, but may take a few minutes.")%> <%=intl._("If you need to kill the router immediately, that option is available as well.")%>


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

<%=intl._("If you want the router to restart itself after shutting down, you can choose one of the following.")%> @@ -34,8 +34,8 @@ <%=intl._("A graceful restart will take a few minutes (but your peers will appreciate your patience), while a hard restart does so immediately.")%> <%=intl._("After tearing down the router, it will wait 1 minute before starting back up again.")%>


- " > - " > + " > + " > <% } %>
<% if ( (System.getProperty("os.name") != null) && (System.getProperty("os.name").startsWith("Win")) ) { %> diff --git a/apps/routerconsole/jsp/configstats.jsp b/apps/routerconsole/jsp/configstats.jsp index d522f56d87..7e548a1136 100644 --- a/apps/routerconsole/jsp/configstats.jsp +++ b/apps/routerconsole/jsp/configstats.jsp @@ -111,7 +111,7 @@ function toggleAll(category) <%=intl._("Advanced filter")%>: -" > -" > +" > +" > diff --git a/apps/routerconsole/jsp/configtunnels.jsp b/apps/routerconsole/jsp/configtunnels.jsp index 15c266d8c1..fb3fab1c3a 100644 --- a/apps/routerconsole/jsp/configtunnels.jsp +++ b/apps/routerconsole/jsp/configtunnels.jsp @@ -38,7 +38,7 @@ <%=intl._("Client tunnel changes are temporary and are not saved.")%> <%=intl._("To make permanent client tunnel changes see the")%> <%=intl._("i2ptunnel page")%>.
-" > -" > +" > +" >
diff --git a/apps/routerconsole/jsp/configui.jsp b/apps/routerconsole/jsp/configui.jsp index 896c72774d..bde01f40b4 100644 --- a/apps/routerconsole/jsp/configui.jsp +++ b/apps/routerconsole/jsp/configui.jsp @@ -49,7 +49,7 @@

<%=uihelper._("Please contribute to the router console translation project! Contact the developers in #i2p-dev on IRC to help.")%>


-" > -" > +" > +" >
diff --git a/apps/routerconsole/jsp/configupdate.jsp b/apps/routerconsole/jsp/configupdate.jsp index 481a3b7ae5..f57e995a59 100644 --- a/apps/routerconsole/jsp/configupdate.jsp +++ b/apps/routerconsole/jsp/configupdate.jsp @@ -37,7 +37,7 @@ <%=intl._("News Updates")%>: <% } // if canInstall %> - <% if ("true".equals(System.getProperty("net.i2p.router.web.UpdateHandler.updateInProgress", "false"))) { %> <%=intl._("Update In Progress")%>
<% } else { %> " /> + <% if ("true".equals(System.getProperty("net.i2p.router.web.UpdateHandler.updateInProgress", "false"))) { %> <%=intl._("Update In Progress")%>
<% } else { %> " /> <% } %>
<%=intl._("News URL")%>: @@ -68,6 +68,6 @@ <% } // if canInstall %>
- " > - " > + " > + " >
diff --git a/apps/routerconsole/jsp/help.jsp b/apps/routerconsole/jsp/help.jsp index 9f864eda72..f6f74a25d1 100644 --- a/apps/routerconsole/jsp/help.jsp +++ b/apps/routerconsole/jsp/help.jsp @@ -41,7 +41,7 @@ your computer's time. */ %>
  • Reachability: The router's view of whether it can be contacted by other routers. -Further information is on the configuration page. +Further information is on the configuration page.
  • Peers

    • Active: The first number is the number of peers you've sent or received a message from in the last few minutes. @@ -73,7 +73,7 @@ shared bandwidth, and locally-generated traffic. I2P does not require a router to know every other router.

    Bandwidth in/out

    Should be self-explanatory. All values are in bytes per second, not bits per second. -Change your bandwidth limits on the configuration page. +Change your bandwidth limits on the configuration page. Bandwidth is graphed by default.

    Local destinations

    @@ -92,7 +92,7 @@ Tunnels built by other routers through your router. This may vary widely depending on network demand, your shared bandwidth, and amount of locally-generated traffic. The recommended method for limiting participating tunnels is -to change your share percentage on the configuration page. +to change your share percentage on the configuration page. You may also limit the total number by setting router.maxParticipatingTunnels=nnn on the advanced configuration page. [Enable graphing].
  • Share ratio: diff --git a/apps/routerconsole/jsp/help_ar.jsp b/apps/routerconsole/jsp/help_ar.jsp index 0a329d5cdc..3672aef975 100644 --- a/apps/routerconsole/jsp/help_ar.jsp +++ b/apps/routerconsole/jsp/help_ar.jsp @@ -36,7 +36,7 @@ The full hash is shown on your صفحة معلومات الوقت الحالي (UTC)والانحراف الممكن. يحتاج I2P الى ساعة مضبوطة. اذا كان انحراف الساعة اكثر من بضع ثواني، قم بتصحيح الخلل.
  • إمكانية الوصول امكانية الاتصال الخارجي بالموجه -المزيد من التفاصيل في صفحة الاعدادات.
  • +المزيد من التفاصيل في صفحة الاعدادات.

    النظائر

    • مفعل هذا هو عدد النظائر التي تم إرسال أو تلقيها رسالة في الدقائق القليلة الماضية. @@ -65,7 +65,7 @@ The full hash is shown on your صفحة معلومات

    سرعة الاتصال الداخلي/خارجي

    الوجهات الداخلية

    الاتصالات الداخلية @@ -82,7 +82,7 @@ The full hash is shown on your صفحة معلومات
  • المشاركة الأنفاق المنشئة من طرف موجهات أخرى عبر موجهك. هذا ينبني على درجة استخدام الشبكة، مقدار المشاركة... -يمكنك تغيير درجة المشاركة بـ صفحة الاعدادات. +يمكنك تغيير درجة المشاركة بـ صفحة الاعدادات. You may also limit the total number by setting router.maxParticipatingTunnels=nnn on the صفحة الاعدادات المتقدمة. [تفعيل الرسم البياني].
  • نسبة المشاركة diff --git a/apps/routerconsole/jsp/help_fr.jsp b/apps/routerconsole/jsp/help_fr.jsp index 97b576cc62..3f9c8fc5b3 100644 --- a/apps/routerconsole/jsp/help_fr.jsp +++ b/apps/routerconsole/jsp/help_fr.jsp @@ -37,7 +37,7 @@ La version d'I2P qui vous affiche actuellement cette page.
  • Indique depuis combien de temps le routeur tourne.
  • Réseau: Statut de joignabilité du routeur par les autres routeurs. -Plus d'infos sur la page de configuration. +Plus d'infos sur la page de configuration.
  • Pairs

    • Actifs: le premier nombre est celui des routeurs avec qui le votre a communiqué dans les dernières minutes. Ça peut varier de @@ -65,7 +65,7 @@ taille totale du réseau; il varie en fonction de votre bande passante totale et local. I2P n'a pas besoin que chaque routeur connaisse tous les autres.

    Bande passante entrée/sortie

    Ça parle tout seul. Toutes les valeurs sont en octets par seconde (o/s), pas en bits par seconde (b/s). Modifiez vos -limites de bande passante sur la page de configuration. +limites de bande passante sur la page de configuration. Le graphique de bande passante est activé par défaut.

    Destinations locales

    @@ -80,7 +80,7 @@ pairs diffuseurs pour la création des nouveaux tunnels et le test des tunnels e
  • Participants: les tunnels créés par d'autres routeurs et qui passent par le votre. Leur nombre dépend largement de la demande du réseau, de votre part de bande passante partagée, et du trafic local. La méthode recommandée pour limiter leur nombre est de diminuer le rapport de bande passante partagée dans la -configuration. Vous pouvez également limiter ce nombre en définissant la variable +configuration. Vous pouvez également limiter ce nombre en définissant la variable router.maxParticipatingTunnels=nnn dans la configuration avancée. [Activer le graphique].
  • Rapport de partage: le nombre de tunnels participants que vous routez pour les autres, diff --git a/apps/routerconsole/jsp/help_nl.jsp b/apps/routerconsole/jsp/help_nl.jsp index d79e67a593..57b0d73fa1 100644 --- a/apps/routerconsole/jsp/help_nl.jsp +++ b/apps/routerconsole/jsp/help_nl.jsp @@ -39,7 +39,7 @@ De versie van de I2P software die je nu gebruikt.
  • Hoe lang je I2P router al draait.
  • Netwerk Bereikbaarheid: De bereikbaarheid van je router door andere routers. -Meer informatie is te vinden op de configuratie pagina.
  • +Meer informatie is te vinden op de configuratie pagina.

    Peers

      @@ -78,7 +78,7 @@ Voor I2P is het niet nodig dat een router alle andere routers kent.

      Bandbreedte in/out

      Dit zou zichzelf moeten verklaren. Alle waarden zijn in bytes per seconde, niet in bits per seconde. -Wijzig je bandbreedte limieten op de configuratie pagina. +Wijzig je bandbreedte limieten op de configuratie pagina. Bandbreedte wordt standaard geplot.

      Tunnels

      @@ -93,7 +93,7 @@ Tunnels gebouwd door andere routers die door je eigen router heen lopen. Dit kan erg variëren afhankelijk van de vraag vanuit het netwerk, je gedeelde bandbreedte en hoeveelheid lokaal gegenereerd verkeer. De aanbevolen methode om het aantal deelnemende tunnels te beperken -is door het share percentage te wijzigen op de configuratie pagina. +is door het share percentage te wijzigen op de configuratie pagina. Je kan het totale aantal ook beperken met de instelling router.maxParticipatingTunnels=nnn op de geavanceerde configuratie pagina. [Grafieken inschakelen].
    • Share rato: diff --git a/apps/routerconsole/jsp/help_ru.jsp b/apps/routerconsole/jsp/help_ru.jsp index 712f1ee5c1..1b5d9e84c8 100644 --- a/apps/routerconsole/jsp/help_ru.jsp +++ b/apps/routerconsole/jsp/help_ru.jsp @@ -45,7 +45,7 @@
    • Доступность: -Результат проверки Вашим маршрутизатором, насколько он открыт для входящих соединений от маршрутизаторов других пользователей. Подробнее смотрите на странице сетевых настроек. +Результат проверки Вашим маршрутизатором, насколько он открыт для входящих соединений от маршрутизаторов других пользователей. Подробнее смотрите на странице сетевых настроек.
    @@ -100,7 +100,7 @@
  • Транзитные: -Туннели, построенные другими маршрутизаторами, проходящие через Ваш маршрутизатор. Их количество может сильно варьироваться в зависимости от потребностей сети, настроенной доли транзитного трафика и объема локально создаваемого трафика. Рекомендуемый способ ограничения количества транзитных туннелей — настроить долю транзитного трафика на странице сетевых настроек. Также можно задать точный ограничитель количества через параметр router.maxParticipatingTunnels=nnn на странице дополнительных настроек. +Туннели, построенные другими маршрутизаторами, проходящие через Ваш маршрутизатор. Их количество может сильно варьироваться в зависимости от потребностей сети, настроенной доли транзитного трафика и объема локально создаваемого трафика. Рекомендуемый способ ограничения количества транзитных туннелей — настроить долю транзитного трафика на странице сетевых настроек. Также можно задать точный ограничитель количества через параметр router.maxParticipatingTunnels=nnn на странице дополнительных настроек. [Включить построение графика].
  • diff --git a/history.txt b/history.txt index 7623370dab..6d2c8b7674 100644 --- a/history.txt +++ b/history.txt @@ -1,3 +1,17 @@ +2011-12-01 zzz + * Console: + - Split up config network page + - CSS tweaks in summary bar + - Spiff up the buttons + * i2psnark: + - Retry link on torrent download fail + - Clear URL after clicking 'add torrent' + - Message tweaks + - CSS tweaks + * IRC Server: Fix IOOBE (ticket #559) + * Throttle: Update throttle status immediately on shutdown request; + clear starting-up message after 20 minutes + 2011-11-29 zzz * Random: Use new nextBytes(buf, off, len) for efficiency * Router: Refactor periodic tasks to their own files diff --git a/installer/resources/themes/console/images/accept.png b/installer/resources/themes/console/images/accept.png new file mode 100644 index 0000000000..89c8129a49 Binary files /dev/null and b/installer/resources/themes/console/images/accept.png differ diff --git a/installer/resources/themes/console/images/add.png b/installer/resources/themes/console/images/add.png new file mode 100644 index 0000000000..6332fefea4 Binary files /dev/null and b/installer/resources/themes/console/images/add.png differ diff --git a/installer/resources/themes/console/images/arrow_down.png b/installer/resources/themes/console/images/arrow_down.png new file mode 100644 index 0000000000..2c4e279377 Binary files /dev/null and b/installer/resources/themes/console/images/arrow_down.png differ diff --git a/installer/resources/themes/console/images/arrow_refresh.png b/installer/resources/themes/console/images/arrow_refresh.png new file mode 100644 index 0000000000..0de26566d4 Binary files /dev/null and b/installer/resources/themes/console/images/arrow_refresh.png differ diff --git a/installer/resources/themes/console/images/cancel.png b/installer/resources/themes/console/images/cancel.png new file mode 100644 index 0000000000..c149c2bc01 Binary files /dev/null and b/installer/resources/themes/console/images/cancel.png differ diff --git a/installer/resources/themes/console/images/delete.png b/installer/resources/themes/console/images/delete.png new file mode 100644 index 0000000000..08f249365a Binary files /dev/null and b/installer/resources/themes/console/images/delete.png differ diff --git a/installer/resources/themes/console/images/itoopie_xsm.png b/installer/resources/themes/console/images/itoopie_xsm.png new file mode 100644 index 0000000000..6bc1c3cfde Binary files /dev/null and b/installer/resources/themes/console/images/itoopie_xsm.png differ diff --git a/installer/resources/themes/console/images/stop.png b/installer/resources/themes/console/images/stop.png new file mode 100644 index 0000000000..0cfd585963 Binary files /dev/null and b/installer/resources/themes/console/images/stop.png differ diff --git a/installer/resources/themes/console/images/tick.png b/installer/resources/themes/console/images/tick.png new file mode 100644 index 0000000000..a9925a06ab Binary files /dev/null and b/installer/resources/themes/console/images/tick.png differ diff --git a/installer/resources/themes/console/light/console.css b/installer/resources/themes/console/light/console.css index 2e9b0500b2..d0d467708d 100644 --- a/installer/resources/themes/console/light/console.css +++ b/installer/resources/themes/console/light/console.css @@ -160,15 +160,15 @@ div.routersummary h4 { font-size: 8.5pt; letter-spacing: 0.02em; margin: -6px -6px -7px !important; - padding: 3px 3px 5px 3px; - background: #dbdbf5; - text-transform: capitalize; + padding: 6px 3px 6px 27px; + background: #e0e0f5 url('../images/itoopie_xsm.png') no-repeat left center; + min-height: 26px; text-decoration: none !important; - color: #2b2; + color: #359; line-height: 105%; - -moz-box-shadow: inset 0px 0px 1px 30px #dfd; - -khtml-box-shadow: 0px 0px 1px 1px #dfd; - box-shadow: 0px 0px 1px 1px #fdf; + -moz-box-shadow: inset 0px 0px 1px 30px #bdf; + -khtml-box-shadow: 0px 0px 1px 1px #bdf; + box-shadow: 0px 0px 1px 1px #bdf; } div.routersummary table { @@ -558,7 +558,7 @@ tr { } tr:nth-child(even) { - background: #eef url(images/magic.png); + background: #f7f7ff url(images/magic.png); } tr:nth-child(odd) { @@ -579,15 +579,6 @@ tt { padding: 1px 5px; } -div.main li { - text-align: left; - list-style: square; - margin: 2px 5px 0px 20px; - padding: 1px 10px 1px 10px; - line-height: 150%; - word-wrap: break-word; -} - div.main li { text-align: left; list-style: square; @@ -640,12 +631,6 @@ ul { padding: 0; } -code { - text-align: left; - font: 8pt "Lucida Console", "DejaVu Sans Mono", Courier, mono; -} - - code { text-align: left; font: 9pt "Lucida Console", "DejaVu Sans Mono", Courier, mono; @@ -796,22 +781,70 @@ button, button:visited { font: bold 9pt "Lucida Sans Unicode", "Bitstream Vera Sans", Verdana, Tahoma, Helvetica, sans-serif; border: 1px outset #66a; padding: 1px 3px; - background: #ffe !important; + background: #ffe; text-decoration: none; border-radius: 4px; -moz-border-radius: 4px; -khtml-border-radius: 4px; font-size: 8pt; font-weight: bold; - margin: 0 1px; + margin: 2px; text-align: center; - min-width: 80px; + min-width: 60px; -moz-box-shadow: inset 0px 0px 2px 1px #fff; -khtml-box-shadow: inset 0px 2px 8px 0px #fff; box-shadow: inset 0px 2px 8px 0px #fff; color: #316; } +button.accept { + background: #ffe url('../images/accept.png') no-repeat left center; + padding: 1px 3px 1px 18px; + min-height: 22px; +} + +button.add { + background: #ffe url('../images/add.png') no-repeat left center; + padding: 1px 3px 1px 18px; + min-height: 22px; +} + +button.cancel { + background: #ffe url('../images/cancel.png') no-repeat left center; + padding: 1px 3px 1px 18px; + min-height: 22px; +} + +button.check { + background: #ffe url('../images/tick.png') no-repeat left center; + padding: 1px 3px 1px 18px; + min-height: 22px; +} + +button.delete { + background: #ffe url('../images/delete.png') no-repeat left center; + padding: 1px 3px 1px 18px; + min-height: 22px; +} + +button.download { + background: #ffe url('../images/arrow_down.png') no-repeat left center; + padding: 1px 3px 1px 18px; + min-height: 22px; +} + +button.reload { + background: #ffe url('../images/arrow_refresh.png') no-repeat left center; + padding: 1px 3px 1px 18px; + min-height: 22px; +} + +button.stop { + background: #ffe url('../images/stop.png') no-repeat left center; + padding: 1px 3px 1px 18px; + min-height: 22px; +} + button:hover { border: 1px solid #f60; background: #f60 !important; @@ -862,7 +895,7 @@ input, input:visited { color: #316; margin: 5px; font: bold 8pt "Lucida Sans Unicode", "Bitstream Vera Sans", Verdana, Tahoma, Helvetica, sans-serif; - padding: 1px 2px; + padding: 1px 3px; text-decoration: none; border-radius: 4px; -moz-border-radius: 4px; @@ -872,6 +905,53 @@ input, input:visited { opacity: 1; } +input.accept { + background: #ffe url('../images/accept.png') no-repeat left center; + padding: 1px 3px 1px 18px; + min-height: 22px; +} + +input.add { + background: #ffe url('../images/add.png') no-repeat left center; + padding: 1px 3px 1px 18px; + min-height: 22px; +} + +input.cancel { + background: #ffe url('../images/cancel.png') no-repeat left center; + padding: 1px 3px 1px 18px; + min-height: 22px; +} + +input.check { + background: #ffe url('../images/tick.png') no-repeat left center; + padding: 1px 3px 1px 18px; + min-height: 22px; +} + +input.delete { + background: #ffe url('../images/delete.png') no-repeat left center; + padding: 1px 3px 1px 18px; + min-height: 22px; +} + +input.download { + background: #ffe url('../images/arrow_down.png') no-repeat left center; + padding: 1px 3px 1px 18px; + min-height: 22px; +} + +input.reload { + background: #ffe url('../images/arrow_refresh.png') no-repeat left center; + padding: 1px 3px 1px 18px; + min-height: 22px; +} + +input.stop { + background: #ffe url('../images/stop.png') no-repeat left center; + padding: 1px 3px 1px 18px; + min-height: 22px; +} input:hover { background: #f60; @@ -896,7 +976,7 @@ input[type=text], input[type=password] { background: #ffe; color: #001; margin: 5px 10px 5px 10px; - padding: 4px 2px; + padding: 4px; font: bold 8pt "Lucida Sans Unicode", "Bitstream Vera Sans", Verdana, Tahoma, Helvetica, sans-serif; border: 1px solid #447; text-decoration: none; @@ -923,7 +1003,7 @@ select { margin: 5px 10px 5px 10px; padding: 4px; border: 1px solid #447; - min-width: 110px; + min-width: 80px; font: 9pt "Lucida Sans Unicode", "Bitstream Vera Sans", Verdana, Tahoma, Helvetica, sans-serif; border-radius: 4px; -moz-border-radius: 4px; diff --git a/router/java/src/net/i2p/router/RouterVersion.java b/router/java/src/net/i2p/router/RouterVersion.java index e36cd3b143..7f4edb9752 100644 --- a/router/java/src/net/i2p/router/RouterVersion.java +++ b/router/java/src/net/i2p/router/RouterVersion.java @@ -18,7 +18,7 @@ public class RouterVersion { /** deprecated */ public final static String ID = "Monotone"; public final static String VERSION = CoreVersion.VERSION; - public final static long BUILD = 12; + public final static long BUILD = 13; /** for example "-test" */ public final static String EXTRA = "";