merge of '4e512b2f1429925fa1e4151b3a78ab25a74fce03'

and 'dea62f5479c0cfbb6bde3b6de73cf71b38e22304'
This commit is contained in:
z3d
2009-07-17 17:33:35 +00:00
16 changed files with 472 additions and 414 deletions

View File

@@ -30,7 +30,7 @@ p-equiv="Content-Type" content="text/html; charset=UTF-8" />
<hr /> <hr />
</div> </div>
<textarea id="statusMessages" rows="3" cols="60" readonly="readonly"><jsp:getProperty name="indexBean" property="messages" /></textarea> <textarea id="statusMessages" rows="4" cols="60" readonly="readonly"><jsp:getProperty name="indexBean" property="messages" /></textarea>
<div class="separator"> <div class="separator">
<hr /> <hr />
@@ -43,15 +43,141 @@ p-equiv="Content-Type" content="text/html; charset=UTF-8" />
</div> </div>
</div> </div>
<div id="localClientTunnelList" class="panel"> <div id="globalOperationsPanel" class="panel">
<div class="header"> <div class="header"></div>
<h4>Local Client Tunnels</h4> <div class="footer">
<div class="toolbox">
<a class="control" href="index.jsp?nonce=<%=indexBean.getNextNonce()%>&amp;action=Stop%20all">Stop All</a> <a class="control" href="index.jsp?nonce=<%=indexBean.getNextNonce()%>&amp;action=Start%20all">Start All</a> <a class="control" href="index.jsp?nonce=<%=indexBean.getNextNonce()%>&amp;action=Restart%20all">Restart All</a> <a class="control" href="index.jsp?nonce=<%=indexBean.getNextNonce()%>&amp;action=Reload%20configuration">Reload Config</a>
</div>
</div>
</div> </div>
<div id="localServerTunnelList" class="panel">
<div class="header">
<h4>I2P Server Tunnels</h4>
</div>
<div class="separator"> </div>
<div class="nameHeaderField rowItem">
<label>Name:</label>
</div>
<div class="previewHeaderField rowItem">
<label>Points at:</label>
</div>
<div class="targetHeaderField rowItem">
<label>Preview:</label>
</div>
<div class="statusHeaderField rowItem">
<label>Status:</label>
</div>
<%
for (int curServer = 0; curServer < indexBean.getTunnelCount(); curServer++) {
if (indexBean.isClient(curServer)) continue;
%>
<div class="nameField rowItem">
<label>Name:</label>
<span class="text"><a href="edit.jsp?tunnel=<%=curServer%>" title="Edit Server Tunnel Settings for <%=indexBean.getTunnelName(curServer)%>"><%=indexBean.getTunnelName(curServer)%></a></span>
</div>
<div class="previewField rowItem">
<label>Points at:</label>
<span class="text">
<%
if ("httpserver".equals(indexBean.getInternalType(curServer))) {
%>
<a href="http://<%=indexBean.getServerTarget(curServer)%>/" title="Test HTTP server, bypassing I2P"><%=indexBean.getServerTarget(curServer)%></a>
<%
} else {
%><%=indexBean.getServerTarget(curServer)%>
<%
}
%></span>
</div>
<div class="targetField rowItem">
<%
if ("httpserver".equals(indexBean.getInternalType(curServer)) && indexBean.getTunnelStatus(curServer) == IndexBean.RUNNING) {
%><label>Preview:</label>
<a class="control" title="Test HTTP server through I2P" href="http://<%=indexBean.getDestHashBase32(curServer)%>.b32.i2p">Preview</a>
<%
} else if (indexBean.getTunnelStatus(curServer) == IndexBean.RUNNING) {
%><span class="text">Base32 Address:<br><%=indexBean.getDestHashBase32(curServer)%>.b32.i2p</span>
<%
} else {
%><span class="comment">No Preview</span>
<%
}
%></div>
<div class="statusField rowItem">
<label>Status:</label>
<%
switch (indexBean.getTunnelStatus(curServer)) {
case IndexBean.STARTING:
%><div class="separator"></div>
<div class="statusStarting text">Starting...</div>
<a class="control" title="Stop this Tunnel" href="index.jsp?nonce=<%=indexBean.getNextNonce()%>&amp;action=stop&amp;tunnel=<%=curServer%>">Stop</a>
<%
break;
case IndexBean.RUNNING:
%><div class="statusRunning text">Running</div>
<a class="control" title="Stop this Tunnel" href="index.jsp?nonce=<%=indexBean.getNextNonce()%>&amp;action=stop&amp;tunnel=<%=curServer%>">Stop</a>
<%
break;
case IndexBean.NOT_RUNNING:
%><div class="statusNotRunning text">Stopped</div>
<a class="control" title="Start this Tunnel" href="index.jsp?nonce=<%=indexBean.getNextNonce()%>&amp;action=start&amp;tunnel=<%=curServer%>">Start</a>
<%
break;
}
%></div>
<div class="descriptionField rowItem">
<label>Description:</label>
<div class="text"><%=indexBean.getTunnelDescription(curServer)%></div>
</div>
<div class="subdivider">
<hr />
</div>
<%
}
%>
<div class="separator"> <div class="separator">
<hr /> <hr />
</div> </div>
<div class="footer">
<form id="addNewServerTunnelForm" action="edit.jsp">
<div class="toolbox">
<label>New server tunnel:</label>
<select name="type">
<option value="server">Standard</option>
<option value="httpserver">HTTP</option>
<option value="ircserver">IRC</option>
<option value="streamrserver">Streamr</option>
</select>
<input class="control" type="submit" value="Create" />
</div>
</form>
</div>
</div>
<div id="localClientTunnelList" class="panel">
<div class="header">
<h4>I2P Client Tunnels</h4>
</div>
<div class="separator"> </div>
<div class="nameHeaderField rowItem"> <div class="nameHeaderField rowItem">
<label>Name:</label> <label>Name:</label>
</div> </div>
@@ -69,7 +195,6 @@ p-equiv="Content-Type" content="text/html; charset=UTF-8" />
</div> </div>
<div class="separator"> <div class="separator">
<hr />
</div> </div>
<% <%
for (int curClient = 0; curClient < indexBean.getTunnelCount(); curClient++) { for (int curClient = 0; curClient < indexBean.getTunnelCount(); curClient++) {
@@ -77,7 +202,7 @@ p-equiv="Content-Type" content="text/html; charset=UTF-8" />
%> %>
<div class="nameField rowItem"> <div class="nameField rowItem">
<label>Name:</label> <label>Name:</label>
<span class="text"><a href="edit.jsp?tunnel=<%=curClient%>" title="Edit Tunnel Settings for <%=indexBean.getTunnelName(curClient)%>"><%=indexBean.getTunnelName(curClient)%> (Edit)</a></span> <span class="text"><a href="edit.jsp?tunnel=<%=curClient%>" title="Edit Tunnel Settings for <%=indexBean.getTunnelName(curClient)%>"><%=indexBean.getTunnelName(curClient)%></a></span>
</div> </div>
<div class="portField rowItem"> <div class="portField rowItem">
<label>Port:</label> <label>Port:</label>
@@ -96,7 +221,7 @@ p-equiv="Content-Type" content="text/html; charset=UTF-8" />
<% <%
switch (indexBean.getTunnelStatus(curClient)) { switch (indexBean.getTunnelStatus(curClient)) {
case IndexBean.STARTING: case IndexBean.STARTING:
%><div class="statusStarting text">Starting...</div> %><div class="statusStarting text">Starting...</div> <div class="separator></div>
<a class="control" title="Stop this Tunnel" href="index.jsp?nonce=<%=indexBean.getNextNonce()%>&amp;action=stop&amp;tunnel=<%=curClient%>">Stop</a> <a class="control" title="Stop this Tunnel" href="index.jsp?nonce=<%=indexBean.getNextNonce()%>&amp;action=stop&amp;tunnel=<%=curClient%>">Stop</a>
<% <%
break; break;
@@ -149,7 +274,8 @@ p-equiv="Content-Type" content="text/html; charset=UTF-8" />
<div class="footer"> <div class="footer">
<form id="addNewClientTunnelForm" action="edit.jsp"> <form id="addNewClientTunnelForm" action="edit.jsp">
<div class="toolbox"> <div class="toolbox">
<label>Add new client tunnel:</label>
<label>New client tunnel:</label>
<select name="type"> <select name="type">
<option value="client">Standard</option> <option value="client">Standard</option>
<option value="httpclient">HTTP</option> <option value="httpclient">HTTP</option>
@@ -163,129 +289,8 @@ p-equiv="Content-Type" content="text/html; charset=UTF-8" />
</form> </form>
</div> </div>
</div> </div>
<div id="localServerTunnelList" class="panel">
<div class="header">
<h4>Local Server Tunnels</h4>
</div>
<div class="separator">
<hr />
</div>
<div class="nameHeaderField rowItem">
<label>Name:</label>
</div>
<div class="previewHeaderField rowItem">
<label>Points at:</label>
</div>
<div class="targetHeaderField rowItem">
<label>Preview:</label>
</div>
<div class="statusHeaderField rowItem">
<label>Status:</label>
</div>
<%
for (int curServer = 0; curServer < indexBean.getTunnelCount(); curServer++) {
if (indexBean.isClient(curServer)) continue;
%>
<div class="nameField rowItem">
<label>Name:</label>
<span class="text"><a href="edit.jsp?tunnel=<%=curServer%>" title="Edit Server Tunnel Settings for <%=indexBean.getTunnelName(curServer)%>"><%=indexBean.getTunnelName(curServer)%> (Edit)</a></span>
</div>
<div class="previewField rowItem">
<label>Points at:</label>
<span class="text">
<%
if ("httpserver".equals(indexBean.getInternalType(curServer))) {
%>
<a href="http://<%=indexBean.getServerTarget(curServer)%>/" title="Test HTTP server, bypassing I2P"><%=indexBean.getServerTarget(curServer)%></a>
<%
} else {
%><%=indexBean.getServerTarget(curServer)%>
<%
}
%></span>
</div>
<div class="targetField rowItem">
<%
if ("httpserver".equals(indexBean.getInternalType(curServer)) && indexBean.getTunnelStatus(curServer) == IndexBean.RUNNING) {
%><label>Preview:</label>
<a class="control" title="Test HTTP server through I2P" href="http://<%=indexBean.getDestHashBase32(curServer)%>.b32.i2p">Preview</a>
<%
} else if (indexBean.getTunnelStatus(curServer) == IndexBean.RUNNING) {
%><span class="text">Base32 Address:<br><%=indexBean.getDestHashBase32(curServer)%>.b32.i2p</span>
<%
} else {
%><span class="comment">No Preview</span>
<%
}
%></div>
<div class="statusField rowItem">
<label>Status:</label>
<%
switch (indexBean.getTunnelStatus(curServer)) {
case IndexBean.STARTING:
%><div class="statusStarting text">Starting...</div>
<a class="control" title="Stop this Tunnel" href="index.jsp?nonce=<%=indexBean.getNextNonce()%>&amp;action=stop&amp;tunnel=<%=curServer%>">Stop</a>
<%
break;
case IndexBean.RUNNING:
%><div class="statusRunning text">Running</div>
<a class="control" title="Stop this Tunnel" href="index.jsp?nonce=<%=indexBean.getNextNonce()%>&amp;action=stop&amp;tunnel=<%=curServer%>">Stop</a>
<%
break;
case IndexBean.NOT_RUNNING:
%><div class="statusNotRunning text">Stopped</div>
<a class="control" title="Start this Tunnel" href="index.jsp?nonce=<%=indexBean.getNextNonce()%>&amp;action=start&amp;tunnel=<%=curServer%>">Start</a>
<%
break;
}
%></div>
<div class="descriptionField rowItem">
<label>Description:</label>
<div class="text"><%=indexBean.getTunnelDescription(curServer)%></div>
</div>
<div class="subdivider">
<hr />
</div>
<%
}
%>
<div class="separator">
<hr />
</div>
<div class="footer">
<form id="addNewServerTunnelForm" action="edit.jsp">
<div class="toolbox">
<label>Add new server tunnel:</label>
<select name="type">
<option value="server">Standard</option>
<option value="httpserver">HTTP</option>
<option value="ircserver">IRC</option>
<option value="streamrserver">Streamr</option>
</select>
<input class="control" type="submit" value="Create" />
</div>
</form>
</div>
</div>
<div id="globalOperationsPanel" class="panel">
<div class="header"></div>
<div class="footer">
<div class="toolbox">
<a class="control" href="index.jsp?nonce=<%=indexBean.getNextNonce()%>&amp;action=Stop%20all">Stop All</a><a class="control" href="index.jsp?nonce=<%=indexBean.getNextNonce()%>&amp;action=Start%20all">Start All</a><a class="control" href="index.jsp?nonce=<%=indexBean.getNextNonce()%>&amp;action=Restart%20all">Restart All</a><a class="control" href="index.jsp?nonce=<%=indexBean.getNextNonce()%>&amp;action=Reload%20configuration">Reload Config</a>
</div>
</div>
</div>
<div id="pageFooter"> <div id="pageFooter">
</div> </div>
</div>
</body> </body>
</html> </html>

View File

@@ -18,7 +18,7 @@
<jsp:setProperty name="formhandler" property="*" /> <jsp:setProperty name="formhandler" property="*" />
<jsp:setProperty name="formhandler" property="contextId" value="<%=(String)session.getAttribute("i2p.contextId")%>" /> <jsp:setProperty name="formhandler" property="contextId" value="<%=(String)session.getAttribute("i2p.contextId")%>" />
<jsp:getProperty name="formhandler" property="allMessages" /> <jsp:getProperty name="formhandler" property="allMessages" />
<div class="configure">
<form action="config.jsp" method="POST"> <form action="config.jsp" method="POST">
<% String prev = System.getProperty("net.i2p.router.web.ConfigNetHandler.nonce"); <% String prev = System.getProperty("net.i2p.router.web.ConfigNetHandler.nonce");
if (prev != null) System.setProperty("net.i2p.router.web.ConfigNetHandler.noncePrev", prev); if (prev != null) System.setProperty("net.i2p.router.web.ConfigNetHandler.noncePrev", prev);
@@ -29,7 +29,6 @@
<p> <p>
<b>I2P will work best if you configure your rates to match the speed of your internet connection.</b> <b>I2P will work best if you configure your rates to match the speed of your internet connection.</b>
</p> </p>
<div class="configure" id="configure">
<p> <p>
<table> <table>
<tr><td><input style="text-align: right; width: 5em;" name="inboundrate" type="text" size="5" maxlength="5" value="<jsp:getProperty name="nethelper" property="inboundRate" />" /> KBps <tr><td><input style="text-align: right; width: 5em;" name="inboundrate" type="text" size="5" maxlength="5" value="<jsp:getProperty name="nethelper" property="inboundRate" />" /> KBps
@@ -66,7 +65,6 @@
</p><p> </p><p>
<input type="submit" name="save" value="Save changes" /> <input type="reset" value="Cancel" /><br /> <input type="submit" name="save" value="Save changes" /> <input type="reset" value="Cancel" /><br />
</p> </p>
</div>
<!-- <!--
<b>Enable load testing: </b> <b>Enable load testing: </b>
<input type="checkbox" name="enableloadtesting" value="true" <jsp:getProperty name="nethelper" property="enableLoadTesting" /> /> <input type="checkbox" name="enableloadtesting" value="true" <jsp:getProperty name="nethelper" property="enableLoadTesting" /> />
@@ -81,7 +79,6 @@
<p> <p>
<b>The default settings will work for most people. There is <a href="#chelp">help below</a>.</b> <b>The default settings will work for most people. There is <a href="#chelp">help below</a>.</b>
</p><p> </p><p>
<div class="configure">
<b>UPnP Configuration:</b><br /> <b>UPnP Configuration:</b><br />
<input type="checkbox" name="upnp" value="true" <jsp:getProperty name="nethelper" property="upnpChecked" /> /> <input type="checkbox" name="upnp" value="true" <jsp:getProperty name="nethelper" property="upnpChecked" /> />
Enable UPnP to open firewall ports - <a href="peers.jsp#upnp">UPnP status</a> Enable UPnP to open firewall ports - <a href="peers.jsp#upnp">UPnP status</a>
@@ -165,7 +162,7 @@
with "SSU introductions" to relay traffic. Most of the options above are for special situations, with "SSU introductions" to relay traffic. 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 for example where UPnP does not work correctly, or a firewall not under your control is doing
harm. Certain firewalls such as symmetric NATs may not work well with I2P. harm. Certain firewalls such as symmetric NATs may not work well with I2P.
</p></div> </p>
<!-- let's keep this simple... <!-- let's keep this simple...
<input type="submit" name="recheckReachability" value="Check network reachability..." /> <input type="submit" name="recheckReachability" value="Check network reachability..." />
--> -->
@@ -248,7 +245,6 @@
Stop the conflicting program and restart I2P. Stop the conflicting program and restart I2P.
</ul> </ul>
</p> </p>
</div>
<hr /> <hr />
<!-- <!--
<b>Dynamic Router Keys: </b> <b>Dynamic Router Keys: </b>
@@ -271,6 +267,6 @@
--> -->
</form> </form>
</div> </div>
</div>
</body> </body>
</html> </html>

View File

@@ -21,20 +21,23 @@
<jsp:setProperty name="formhandler" property="*" /> <jsp:setProperty name="formhandler" property="*" />
<jsp:setProperty name="formhandler" property="contextId" value="<%=(String)session.getAttribute("i2p.contextId")%>" /> <jsp:setProperty name="formhandler" property="contextId" value="<%=(String)session.getAttribute("i2p.contextId")%>" />
<jsp:getProperty name="formhandler" property="allMessages" /> <jsp:getProperty name="formhandler" property="allMessages" />
<div class="configure">
<form action="configadvanced.jsp" method="POST"> <form action="configadvanced.jsp" method="POST">
<% String prev = System.getProperty("net.i2p.router.web.ConfigAdvancedHandler.nonce"); <% String prev = System.getProperty("net.i2p.router.web.ConfigAdvancedHandler.nonce");
if (prev != null) System.setProperty("net.i2p.router.web.ConfigAdvancedHandler.noncePrev", prev); if (prev != null) System.setProperty("net.i2p.router.web.ConfigAdvancedHandler.noncePrev", prev);
System.setProperty("net.i2p.router.web.ConfigAdvancedHandler.nonce", new java.util.Random().nextLong()+""); %> System.setProperty("net.i2p.router.web.ConfigAdvancedHandler.nonce", new java.util.Random().nextLong()+""); %>
<input type="hidden" name="nonce" value="<%=System.getProperty("net.i2p.router.web.ConfigAdvancedHandler.nonce")%>" /> <input type="hidden" name="nonce" value="<%=System.getProperty("net.i2p.router.web.ConfigAdvancedHandler.nonce")%>" />
<input type="hidden" name="action" value="blah" /> <input type="hidden" name="action" value="blah" />
<textarea rows="32" cols="100" name="config" wrap="off"><jsp:getProperty name="advancedhelper" property="settings" /></textarea><br /> <textarea rows="32" cols="60" name="config" wrap="off"><jsp:getProperty name="advancedhelper" property="settings" /></textarea><br /><hr>
<p align="right">
<input type="submit" name="shouldsave" value="Apply" />
<input type="reset" value="Cancel" />
</p>
<p> <p>
<input type="submit" name="shouldsave" value="Apply" /> <input type="reset" value="Cancel" />
</p><p>
NOTE: Some changes may require a restart to take effect. NOTE: Some changes may require a restart to take effect.
</p> </p>
</form> </form>
</div> </div>
</div>
</body> </body>
</html> </html>

View File

@@ -26,7 +26,7 @@ button span.hide{
<jsp:setProperty name="formhandler" property="nonce" value="<%=request.getParameter("nonce")%>" /> <jsp:setProperty name="formhandler" property="nonce" value="<%=request.getParameter("nonce")%>" />
<jsp:setProperty name="formhandler" property="settings" value="<%=request.getParameterMap()%>" /> <jsp:setProperty name="formhandler" property="settings" value="<%=request.getParameterMap()%>" />
<jsp:getProperty name="formhandler" property="allMessages" /> <jsp:getProperty name="formhandler" property="allMessages" />
<div class="configure">
<form action="configclients.jsp" method="POST"> <form action="configclients.jsp" method="POST">
<% String prev = System.getProperty("net.i2p.router.web.ConfigClientsHandler.nonce"); <% String prev = System.getProperty("net.i2p.router.web.ConfigClientsHandler.nonce");
if (prev != null) System.setProperty("net.i2p.router.web.ConfigClientsHandler.noncePrev", prev); if (prev != null) System.setProperty("net.i2p.router.web.ConfigClientsHandler.noncePrev", prev);
@@ -56,13 +56,13 @@ button span.hide{
so disabling the web app here is the preferred method. so disabling the web app here is the preferred method.
</p><p> </p><p>
<jsp:getProperty name="clientshelper" property="form2" /> <jsp:getProperty name="clientshelper" property="form2" />
</p><p> </p><p><hr>
<input type="submit" name="action" value="Save WebApp Configuration" /> <input type="submit" name="action" value="Save WebApp Configuration" />
</p><p> </p><hr><p>
<i>All changes require restart to take effect. To change other webapp options, edit the webapps.config file.</i> <i>All changes require restart to take effect. To change other webapp options, edit the webapps.config file.</i>
</p> </p>
</form> </form>
</div> </div>
</div>
</body> </body>
</html> </html>

View File

@@ -21,7 +21,7 @@
<jsp:useBean class="net.i2p.router.web.ConfigKeyringHelper" id="keyringhelper" scope="request" /> <jsp:useBean class="net.i2p.router.web.ConfigKeyringHelper" id="keyringhelper" scope="request" />
<jsp:setProperty name="keyringhelper" property="contextId" value="<%=(String)session.getAttribute("i2p.contextId")%>" /> <jsp:setProperty name="keyringhelper" property="contextId" value="<%=(String)session.getAttribute("i2p.contextId")%>" />
<div class="configure">
<p> <p>
<h2>Keyring</h2> <h2>Keyring</h2>
The router keyring is used to decrypt encrypted leaseSets. The router keyring is used to decrypt encrypted leaseSets.
@@ -41,16 +41,22 @@
Keys for local destinations must be entered on the <a href="i2ptunnel/index.jsp">I2PTunnel page</a>. Keys for local destinations must be entered on the <a href="i2ptunnel/index.jsp">I2PTunnel page</a>.
<p> <p>
<table> <table>
<tr><td>Dest. name, hash, or full key: <tr>
<td>Dest. name, hash, or full key:
<td><textarea name="peer" cols="44" rows="1" style="height: 3em;" wrap="off"></textarea> <td><textarea name="peer" cols="44" rows="1" style="height: 3em;" wrap="off"></textarea>
<tr><td align="right">Session Key: <tr>
<td align="right">Session Key:
<td><input type="text" size="55" name="key" /> <td><input type="text" size="55" name="key" />
<tr><td><td><input type="submit" name="action" value="Add key" /> <tr>
<td>
<td><div align="right">
<input type="submit" name="action" value="Add key" />
</div>
</table> </table>
</form> </form>
</div> </div>
</div>
</body> </body>
</html> </html>

View File

@@ -18,7 +18,7 @@
<jsp:setProperty name="formhandler" property="*" /> <jsp:setProperty name="formhandler" property="*" />
<jsp:setProperty name="formhandler" property="contextId" value="<%=(String)session.getAttribute("i2p.contextId")%>" /> <jsp:setProperty name="formhandler" property="contextId" value="<%=(String)session.getAttribute("i2p.contextId")%>" />
<jsp:getProperty name="formhandler" property="allMessages" /> <jsp:getProperty name="formhandler" property="allMessages" />
<div class="configure">
<form action="configlogging.jsp" method="POST"> <form action="configlogging.jsp" method="POST">
<% String prev = System.getProperty("net.i2p.router.web.ConfigLoggingHandler.nonce"); <% String prev = System.getProperty("net.i2p.router.web.ConfigLoggingHandler.nonce");
if (prev != null) System.setProperty("net.i2p.router.web.ConfigLoggingHandler.noncePrev", prev); if (prev != null) System.setProperty("net.i2p.router.web.ConfigLoggingHandler.noncePrev", prev);
@@ -26,28 +26,42 @@
<input type="hidden" name="nonce" value="<%=System.getProperty("net.i2p.router.web.ConfigLoggingHandler.nonce")%>" /> <input type="hidden" name="nonce" value="<%=System.getProperty("net.i2p.router.web.ConfigLoggingHandler.nonce")%>" />
<input type="hidden" name="action" value="blah" /> <input type="hidden" name="action" value="blah" />
<table border="0" cellspacing="5"> <table border="0" cellspacing="5">
<tr><td valign="top"><b>Logging filename:</b> <tr>
<td><input type="text" name="logfilename" size="40" value="<jsp:getProperty name="logginghelper" property="logFilePattern" />" /><br /> <td valign="top"><b>Logging filename:</b>
<i>(the symbol '@' will be replaced during log rotation)</i> <td><input type="text" name="logfilename" size="40" value="<jsp:getProperty name="logginghelper" property="logFilePattern" />" />
<tr><td valign="top"><b>Log record format:</b> <br /> <i>(the symbol '@' will be replaced during log rotation)</i>
<td><input type="text" name="logformat" size="20" value="<jsp:getProperty name="logginghelper" property="recordPattern" />" /><br /> <tr>
<i>(use 'd' = date, 'c' = class, 't' = thread, 'p' = priority, 'm' = message)</i> <td valign="top"><b>Log record format:</b>
<tr><td valign="top"><b>Log date format:</b> <td><input type="text" name="logformat" size="20" value="<jsp:getProperty name="logginghelper" property="recordPattern" />" />
<td><input type="text" name="logdateformat" size="20" value="<jsp:getProperty name="logginghelper" property="datePattern" />" /><br /> <br /> <i>(use 'd' = date, 'c' = class, 't' = thread, 'p' = priority,
<i>('MM' = month, 'dd' = day, 'HH' = hour, 'mm' = minute, 'ss' = second, 'SSS' = millisecond)</i> 'm' = message)</i>
<tr><td valign="top"><b>Max log file size:</b> <tr>
<td><input type="text" name="logfilesize" size="4" value="<jsp:getProperty name="logginghelper" property="maxFileSize" />" /><br /> <td valign="top"><b>Log date format:</b>
<tr><td valign="top"><b>Default log level:</b> <td><input type="text" name="logdateformat" size="20" value="<jsp:getProperty name="logginghelper" property="datePattern" />" />
<td><jsp:getProperty name="logginghelper" property="defaultLogLevelBox" /> <br /> <i>('MM' = month, 'dd' = day, 'HH' = hour, 'mm' = minute, 'ss'
<br /><i>(DEBUG and INFO are not recommended defaults, as they will drastically slow down your router)</i> = second, 'SSS' = millisecond)</i>
<tr><td valign="top"><b>Log level overrides:</b> <tr>
<td valign="top"><b>Max log file size:</b>
<td><input type="text" name="logfilesize" size="4" value="<jsp:getProperty name="logginghelper" property="maxFileSize" />" />
<br />
<tr>
<td valign="top"><b>Default log level:</b>
<td><jsp:getProperty name="logginghelper" property="defaultLogLevelBox" /> <br /> <i>(DEBUG and INFO are not recommended defaults,
as they will drastically slow down your router)</i>
<tr>
<td valign="top"><b>Log level overrides:</b>
<td><jsp:getProperty name="logginghelper" property="logLevelTable" /> <td><jsp:getProperty name="logginghelper" property="logLevelTable" />
<tr><td><td> <tr>
<td colspan="2" valign="top"><hr>
<tr>
<td>
<td> <div align="right">
<input type="submit" name="shouldsave" value="Save changes" /> <input type="submit" name="shouldsave" value="Save changes" />
<input type="reset" value="Cancel" /> <input type="reset" value="Cancel" />
</div>
</table> </table>
</form> </form>
</div> </div>
</div>
</body> </body>
</html> </html>

View File

@@ -26,13 +26,12 @@
if (request.getParameter("peer") != null) if (request.getParameter("peer") != null)
peer = request.getParameter("peer"); peer = request.getParameter("peer");
%> %>
<div class="configure">
<form action="configpeer.jsp" method="POST"> <form action="configpeer.jsp" method="POST">
<% String prev = System.getProperty("net.i2p.router.web.ConfigPeerHandler.nonce"); <% String prev = System.getProperty("net.i2p.router.web.ConfigPeerHandler.nonce");
if (prev != null) System.setProperty("net.i2p.router.web.ConfigPeerHandler.noncePrev", prev); if (prev != null) System.setProperty("net.i2p.router.web.ConfigPeerHandler.noncePrev", prev);
System.setProperty("net.i2p.router.web.ConfigPeerHandler.nonce", new java.util.Random().nextLong()+""); %> System.setProperty("net.i2p.router.web.ConfigPeerHandler.nonce", new java.util.Random().nextLong()+""); %>
<input type="hidden" name="nonce" value="<%=System.getProperty("net.i2p.router.web.ConfigPeerHandler.nonce")%>" /> <input type="hidden" name="nonce" value="<%=System.getProperty("net.i2p.router.web.ConfigPeerHandler.nonce")%>" />
<hr />
<p> <p>
<a name="sh"> </a> <a name="sh"> </a>
<a name="unsh"> </a> <a name="unsh"> </a>
@@ -49,11 +48,12 @@
<font color="blue">&lt;---- click to verify action</font> <font color="blue">&lt;---- click to verify action</font>
<% } %> <% } %>
</p> </p>
<hr />
<h3>Adjust Profile Bonuses</h3> <h3>Adjust Profile Bonuses</h3>
Bonuses may be positive or negative, and affect the peer's inclusion in Fast and High Capacity tiers. Bonuses may be positive or negative, and affect the peer's inclusion in Fast
Fast peers are used for client tunnels, and High Capacity peers are used for some exploratory tunnels. and High Capacity tiers. Fast peers are used for client tunnels, and High
Current bonuses are displayed on the <a href="profiles.jsp">profiles page</a>. Capacity peers are used for some exploratory tunnels. Current bonuses are
displayed on the <a href="profiles.jsp">profiles page</a>.
<p> <p>
<% long speed = 0; long capacity = 0; <% long speed = 0; long capacity = 0;
if (! "".equals(peer)) { if (! "".equals(peer)) {
@@ -78,6 +78,6 @@
</div> </div>
</div>
</body> </body>
</html> </html>

View File

@@ -16,13 +16,13 @@
<jsp:setProperty name="formhandler" property="*" /> <jsp:setProperty name="formhandler" property="*" />
<jsp:setProperty name="formhandler" property="contextId" value="<%=(String)session.getAttribute("i2p.contextId")%>" /> <jsp:setProperty name="formhandler" property="contextId" value="<%=(String)session.getAttribute("i2p.contextId")%>" />
<jsp:getProperty name="formhandler" property="allMessages" /> <jsp:getProperty name="formhandler" property="allMessages" />
<div class="configure">
<form action="configservice.jsp" method="POST"> <form action="configservice.jsp" method="POST">
<% String prev = System.getProperty("net.i2p.router.web.ConfigServiceHandler.nonce"); <% String prev = System.getProperty("net.i2p.router.web.ConfigServiceHandler.nonce");
if (prev != null) System.setProperty("net.i2p.router.web.ConfigServiceHandler.noncePrev", prev); if (prev != null) System.setProperty("net.i2p.router.web.ConfigServiceHandler.noncePrev", prev);
System.setProperty("net.i2p.router.web.ConfigServiceHandler.nonce", new java.util.Random().nextLong()+""); %> System.setProperty("net.i2p.router.web.ConfigServiceHandler.nonce", new java.util.Random().nextLong()+""); %>
<input type="hidden" name="nonce" value="<%=System.getProperty("net.i2p.router.web.ConfigServiceHandler.nonce")%>" /> <input type="hidden" name="nonce" value="<%=System.getProperty("net.i2p.router.web.ConfigServiceHandler.nonce")%>" />
<h4>Shutdown the router</h4> <h3>Shutdown the router</h3>
<p>Graceful shutdown lets the router satisfy the agreements it has already made <p>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 before shutting down, but may take a few minutes. If you need to kill the
router immediately, that option is available as well.</p> router immediately, that option is available as well.</p>
@@ -44,7 +44,7 @@
<% } %> <% } %>
<hr> <hr>
<% if ( (System.getProperty("os.name") != null) && (System.getProperty("os.name").startsWith("Win")) ) { %> <% if ( (System.getProperty("os.name") != null) && (System.getProperty("os.name").startsWith("Win")) ) { %>
<h4>Systray integration</h4> <h3>Systray integration</h3>
<p>On the windows platform, there is a small application to sit in the system <p>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 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). will be able to integrate their own functionality into the system tray as well).
@@ -52,7 +52,7 @@
<input type="submit" name="action" value="Show systray icon" /> <input type="submit" name="action" value="Show systray icon" />
<input type="submit" name="action" value="Hide systray icon" /> <input type="submit" name="action" value="Hide systray icon" />
<hr> <hr>
<h4>Run on startup</h4> <h3>Run on startup</h3>
<p>You can control whether I2P is run on startup or not by selecting one of the <p>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 following options - I2P will install (or remove) a service accordingly. You can
also run the <code>install_i2p_service_winnt.bat</code> (or also run the <code>install_i2p_service_winnt.bat</code> (or
@@ -65,14 +65,14 @@
<% } %> <% } %>
<% if (System.getProperty("wrapper.version") != null) { %> <% if (System.getProperty("wrapper.version") != null) { %>
<h4>Debugging</h4> <h3>Debugging</h3>
<p>At times, it may be helpful to debug I2P by getting a thread dump. To do so, <p>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 please select the following option and review the thread dumped to
<a href="logs.jsp#servicelogs">wrapper.log</a>.</p> <a href="logs.jsp#servicelogs">wrapper.log</a>.</p>
<input type="submit" name="action" value="Dump threads" /> <input type="submit" name="action" value="Dump threads" />
<% } %><hr> <% } %><hr>
<h4>Launch browser on router startup?</h4> <h3>Launch browser on router startup?</h3>
<p>I2P's main configuration interface is this web console, so for your convenience <p>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
<a href="http://127.0.0.1:7657/index.jsp">http://127.0.0.1:7657/index.jsp</a> whenever <a href="http://127.0.0.1:7657/index.jsp">http://127.0.0.1:7657/index.jsp</a> whenever
@@ -81,6 +81,6 @@
<input type="submit" name="action" value="Do not view console on startup" /> <input type="submit" name="action" value="Do not view console on startup" />
</form><hr> </form><hr>
</div> </div>
</div>
</body> </body>
</html> </html>

View File

@@ -64,7 +64,7 @@ function toggleAll(category)
<jsp:useBean class="net.i2p.router.web.ConfigStatsHelper" id="statshelper" scope="request" /> <jsp:useBean class="net.i2p.router.web.ConfigStatsHelper" id="statshelper" scope="request" />
<jsp:setProperty name="statshelper" property="contextId" value="<%=(String)session.getAttribute("i2p.contextId")%>" /> <jsp:setProperty name="statshelper" property="contextId" value="<%=(String)session.getAttribute("i2p.contextId")%>" />
<div class="configure">
<form id="statsForm" name="statsForm" action="configstats.jsp" method="POST"> <form id="statsForm" name="statsForm" action="configstats.jsp" method="POST">
<% String prev = System.getProperty("net.i2p.router.web.ConfigStatsHandler.nonce"); <% String prev = System.getProperty("net.i2p.router.web.ConfigStatsHandler.nonce");
if (prev != null) System.setProperty("net.i2p.router.web.ConfigStatsHandler.noncePrev", prev); if (prev != null) System.setProperty("net.i2p.router.web.ConfigStatsHandler.noncePrev", prev);
@@ -76,7 +76,7 @@ function toggleAll(category)
if (statshelper.getIsFull()) { %>checked="true" <% } %>/> if (statshelper.getIsFull()) { %>checked="true" <% } %>/>
(change requires restart to take effect)<br /> (change requires restart to take effect)<br />
Stat file: <input type="text" name="filename" value="<%=statshelper.getFilename()%>" /><br /> Stat file: <input type="text" name="filename" value="<%=statshelper.getFilename()%>" /><br />
Filter: (<a href="javascript: void(null);" onclick="toggleAll('*')">toggle all</a>)<br /> Filter: (<a href="javascript: void(null);" onclick="toggleAll('*')">toggle all</a>)<hr />
<table> <table>
<% while (statshelper.hasMoreStats()) { <% while (statshelper.hasMoreStats()) {
while (statshelper.groupRequired()) { %> while (statshelper.groupRequired()) { %>
@@ -102,10 +102,9 @@ function toggleAll(category)
<input type="text" name="explicitFilterValue" value="<%=statshelper.getExplicitFilter()%>" size="40" /></td></tr> <input type="text" name="explicitFilterValue" value="<%=statshelper.getExplicitFilter()%>" size="40" /></td></tr>
<tr><td colspan="3"><hr /></td></tr> <tr><td colspan="3"><hr /></td></tr>
<tr><td><input type="submit" name="shouldsave" value="Save changes" /> </td> <tr><td><input type="submit" name="shouldsave" value="Save changes" /> </td>
<td><input type="reset" value="Cancel" /></td></tr> <td><input type="reset" value="Cancel" /></td><td></td></tr></form>
</form>
</table> </table>
</div> </div>
</div>
</body> </body>
</html> </html>

View File

@@ -22,7 +22,7 @@
<jsp:setProperty name="formhandler" property="nonce" value="<%=request.getParameter("nonce")%>" /> <jsp:setProperty name="formhandler" property="nonce" value="<%=request.getParameter("nonce")%>" />
<jsp:setProperty name="formhandler" property="settings" value="<%=request.getParameterMap()%>" /> <jsp:setProperty name="formhandler" property="settings" value="<%=request.getParameterMap()%>" />
<jsp:getProperty name="formhandler" property="allMessages" /> <jsp:getProperty name="formhandler" property="allMessages" />
<div class="configure">
<p><i> <p><i>
NOTE: The default settings work for most people. NOTE: The default settings work for most people.
There is a fundamental tradeoff between anonymity and performance. There is a fundamental tradeoff between anonymity and performance.
@@ -45,6 +45,6 @@
<hr /> <input type="submit" name="shouldsave" value="Save changes" /> <input type="reset" value="Cancel" /> <hr /> <input type="submit" name="shouldsave" value="Save changes" /> <input type="reset" value="Cancel" />
</form> </form>
</div> </div>
</div>
</body> </body>
</html> </html>

View File

@@ -21,9 +21,8 @@
<jsp:setProperty name="formhandler" property="*" /> <jsp:setProperty name="formhandler" property="*" />
<jsp:setProperty name="formhandler" property="contextId" value="<%=(String)session.getAttribute("i2p.contextId")%>" /> <jsp:setProperty name="formhandler" property="contextId" value="<%=(String)session.getAttribute("i2p.contextId")%>" />
<jsp:getProperty name="formhandler" property="allMessages" /> <jsp:getProperty name="formhandler" property="allMessages" />
<h3>Router Console Theme</h3>
<div class="configure"> <div class="configure">
<h3>Router Console Theme</h3>
<form action="configui.jsp" method="POST"> <form action="configui.jsp" method="POST">
<% String prev = System.getProperty("net.i2p.router.web.ConfigUIHandler.nonce"); <% String prev = System.getProperty("net.i2p.router.web.ConfigUIHandler.nonce");
if (prev != null) System.setProperty("net.i2p.router.web.ConfigUIHandler.noncePrev", prev); if (prev != null) System.setProperty("net.i2p.router.web.ConfigUIHandler.noncePrev", prev);

View File

@@ -19,40 +19,63 @@
<jsp:useBean class="net.i2p.router.web.ConfigUpdateHelper" id="updatehelper" scope="request" /> <jsp:useBean class="net.i2p.router.web.ConfigUpdateHelper" id="updatehelper" scope="request" />
<jsp:setProperty name="updatehelper" property="contextId" value="<%=(String)session.getAttribute("i2p.contextId")%>" /> <jsp:setProperty name="updatehelper" property="contextId" value="<%=(String)session.getAttribute("i2p.contextId")%>" />
<div class="messages">
<br /><i><jsp:getProperty name="updatehelper" property="newsStatus" /></i><br />&nbsp;<br /> <i><jsp:getProperty name="updatehelper" property="newsStatus" /></i></div>
<div class="configure">
<form action="configupdate.jsp" method="POST"> <form action="configupdate.jsp" method="POST">
<% String prev = System.getProperty("net.i2p.router.web.ConfigUpdateHandler.nonce"); <% String prev = System.getProperty("net.i2p.router.web.ConfigUpdateHandler.nonce");
if (prev != null) System.setProperty("net.i2p.router.web.ConfigUpdateHandler.noncePrev", prev); if (prev != null) System.setProperty("net.i2p.router.web.ConfigUpdateHandler.noncePrev", prev);
System.setProperty("net.i2p.router.web.ConfigUpdateHandler.nonce", new java.util.Random().nextLong()+""); %> System.setProperty("net.i2p.router.web.ConfigUpdateHandler.nonce", new java.util.Random().nextLong()+""); %>
<input type="hidden" name="nonce" value="<%=System.getProperty("net.i2p.router.web.ConfigUpdateHandler.nonce")%>" /> <input type="hidden" name="nonce" value="<%=System.getProperty("net.i2p.router.web.ConfigUpdateHandler.nonce")%>" />
<table border="0" cellspacing="5"><tr><td colspan="2"></tr><tr><td><b>News:</b></td><td> <h3>Check for I2P and news updates</h3>
<% if ("true".equals(System.getProperty("net.i2p.router.web.UpdateHandler.updateInProgress", "false"))) { %> <table border="0" cellspacing="5">
<i>Update In Progress</i><br /> <tr>
<% } else { %> <td colspan="2"></tr>
<input type="submit" name="action" value="Check for update now" /> <tr>
<td><b>News:</b></td>
<td> <% if ("true".equals(System.getProperty("net.i2p.router.web.UpdateHandler.updateInProgress", "false"))) { %> <i>Update In Progress</i><br /> <% } else { %> <input type="submit" name="action" value="Check for update now" />
<% } %></tr> <% } %></tr>
<tr><td colspan="2"><hr /></td></tr> <tr>
<tr><td><b>News URL:</b></td> <td colspan="2"><hr /></td>
<td><input type="text" size="60" name="newsURL" value="<jsp:getProperty name="updatehelper" property="newsURL" />"></td></tr> </tr>
<tr><td><b>Refresh frequency:</b> <tr>
<td><b>News URL:</b></td>
<td><input type="text" size="60" name="newsURL" value="<jsp:getProperty name="updatehelper" property="newsURL" />"></td>
</tr>
<tr>
<td><b>Refresh frequency:</b>
<td><jsp:getProperty name="updatehelper" property="refreshFrequencySelectBox" /> <td><jsp:getProperty name="updatehelper" property="refreshFrequencySelectBox" />
<tr><td><b>Update policy:</b> <tr>
<td><b>Update policy:</b>
<td><jsp:getProperty name="updatehelper" property="updatePolicySelectBox" /> <td><jsp:getProperty name="updatehelper" property="updatePolicySelectBox" />
<tr><td><b>Update through the eepProxy?</b> <tr>
<td><b>Update through the eepProxy?</b>
<td><jsp:getProperty name="updatehelper" property="updateThroughProxy" /> <td><jsp:getProperty name="updatehelper" property="updateThroughProxy" />
<tr><td><b>eepProxy host:</b> <tr>
<td><b>eepProxy host:</b>
<td><input type="text" size="10" name="proxyHost" value="<jsp:getProperty name="updatehelper" property="proxyHost" />" /> <td><input type="text" size="10" name="proxyHost" value="<jsp:getProperty name="updatehelper" property="proxyHost" />" />
<tr><td><b>eepProxy port:</b> <tr>
<td><b>eepProxy port:</b>
<td><input type="text" size="4" name="proxyPort" value="<jsp:getProperty name="updatehelper" property="proxyPort" />" /> <td><input type="text" size="4" name="proxyPort" value="<jsp:getProperty name="updatehelper" property="proxyPort" />" />
<tr><td><b>Update URLs:</b> <tr>
<td><b>Update URLs:</b>
<td><textarea name="updateURL" wrap="off"><jsp:getProperty name="updatehelper" property="updateURL" /></textarea> <td><textarea name="updateURL" wrap="off"><jsp:getProperty name="updatehelper" property="updateURL" /></textarea>
<tr><td><b>Trusted keys:</b> <tr>
<td><b>Trusted keys:</b>
<td><textarea name="trustedKeys" wrap="off"><jsp:getProperty name="updatehelper" property="trustedKeys" /></textarea> <td><textarea name="trustedKeys" wrap="off"><jsp:getProperty name="updatehelper" property="trustedKeys" /></textarea>
<tr><tr><td colspan="2"><hr /><tr> <tr>
<tr><td><td><input type="submit" name="action" value="Save" /> <input type="reset" value="Cancel" /> <tr>
<td colspan="2"><hr />
<tr>
<tr>
<td>
<td><div align="right">
<input type="submit" name="action" value="Save" />
<input type="reset" value="Cancel" />
</div>
</table> </table>
</form> </form>
</div> </div>
</div>
</body> </body>
</html> </html>

View File

@@ -166,6 +166,7 @@ div.configure {
-khtml-border-radius: 4px; -khtml-border-radius: 4px;
border-radius: 4px; border-radius: 4px;
border: 1px solid #99f; border: 1px solid #99f;
background: url(images/darkbluebg.png);
} }
div.messages { div.messages {
@@ -340,10 +341,15 @@ h2 a:hover {
} }
h3 { h3 {
border-bottom: 1px; border: 1px solid #99f;
border-bottom-style: solid; border-left: 5px solid #99f;
border-bottom-color: #99f; padding: 3px 5px 3px 5px;
padding: 5px 0; margin: 20px 0 15px 0;
border-radius: 0 4px 4px 0;
-moz-border-radius: 0 4px 4px 0;
-khtml-border-radius: 0 4px 4px 0;
background: #004;
background: url(images/darkbluebg.png);
} }
h4 { h4 {

View File

@@ -166,7 +166,7 @@ div.confignav {
div.configure { div.configure {
padding: 15px 10px !important; padding: 15px 10px !important;
margin: 10px 0px 25px 0; margin: 10px 0px 25px 0;
background: #ddf; background: #ddf url('images/lightbluetile.png');
-moz-border-radius: 4px; -moz-border-radius: 4px;
-khtml-border-radius: 4px; -khtml-border-radius: 4px;
border-radius: 4px; border-radius: 4px;

View File

@@ -29,7 +29,7 @@ label {
height: 28px; height: 28px;
font-weight: normal; font-weight: normal;
text-align: right; text-align: right;
font-size: 7pt; font-size: 8pt;
font-style: italic; font-style: italic;
-moz-box-sizing: border-box; -moz-box-sizing: border-box;
box-sizing: border-box; box-sizing: border-box;
@@ -122,8 +122,11 @@ hr {
.separator, .subdivider { .separator, .subdivider {
clear: both; clear: both;
height: 1px; height: 1px;
margin: 3px 0px 3px 0px; margin: 1px 0px 1px 0px;
border-bottom: 1px solid #225; border-bottom: 1px solid #225;
/*
display: none;
*/
} }
.subdivider { .subdivider {
@@ -150,7 +153,7 @@ hr {
} }
.control { .control {
margin: 4px 0 0 0 !important; margin: 4px 0 0 4px !important;
padding: 2px; padding: 2px;
overflow: hidden; overflow: hidden;
/* /*
@@ -171,7 +174,7 @@ hr {
} }
.control:active { .control:active {
border: 2px inset; border: 1px inset;
background-color: #003; background-color: #003;
color: #ff6600; color: #ff6600;
} }

View File

@@ -83,10 +83,14 @@
height: 100px; height: 100px;
padding: 0 0 0 4px; padding: 0 0 0 4px;
margin: 1px 0 4px 0; margin: 1px 0 4px 0;
background-color: #000088; background-color: #005;
color: #fff; color: #fff;
font-family: "Lucida Console", "Andale Mono", "Courier New", Courier, mono; font-family: "Lucida Console", "DejaVu Sans Mono", "Andale Mono", "Courier New", Courier, mono;
border: 1px inset #002; border: 2px inset #002;
font-size: 10pt !important;
font-weight: bold;
text-align: justify !important;
background: url(images/darkbluetile.png);
} }
#tunnelListPage .footer .control { #tunnelListPage .footer .control {