I2P Tunnels shakeup.

This commit is contained in:
z3d
2009-07-17 12:26:29 +00:00
parent ccf9cd3f71
commit 46970f5a4a

View File

@ -1,291 +1,295 @@
<%@page contentType="text/html" import="net.i2p.i2ptunnel.web.IndexBean"%><?xml version="1.0" encoding="UTF-8"?> <%@page contentType="text/html" import="net.i2p.i2ptunnel.web.IndexBean"%><?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<jsp:useBean class="net.i2p.i2ptunnel.web.IndexBean" id="indexBean" scope="request" /> <jsp:useBean class="net.i2p.i2ptunnel.web.IndexBean" id="indexBean" scope="request" />
<jsp:setProperty name="indexBean" property="*" /> <jsp:setProperty name="indexBean" property="*" />
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head> <head>
<title>I2PTunnel Webmanager - List</title> <title>I2PTunnel Webmanager - List</title>
<meta htt <meta htt
p-equiv="Content-Type" content="text/html; charset=UTF-8" /> p-equiv="Content-Type" content="text/html; charset=UTF-8" />
<meta http-equiv="Content-Type" content="application/xhtml+xml; charset=UTF-8" /> <meta http-equiv="Content-Type" content="application/xhtml+xml; charset=UTF-8" />
<% if (indexBean.allowCSS()) { <% if (indexBean.allowCSS()) {
%><link href="/themes/console/images/favicon.ico" type="image/x-icon" rel="shortcut icon" /> %><link href="/themes/console/images/favicon.ico" type="image/x-icon" rel="shortcut icon" />
<link href="<%=indexBean.getTheme()%>default.css" rel="stylesheet" type="text/css" /> <link href="<%=indexBean.getTheme()%>default.css" rel="stylesheet" type="text/css" />
<link href="<%=indexBean.getTheme()%>i2ptunnel.css" rel="stylesheet" type="text/css" /> <link href="<%=indexBean.getTheme()%>i2ptunnel.css" rel="stylesheet" type="text/css" />
<% } <% }
%> %>
</head> </head>
<body id="tunnelListPage"> <body id="tunnelListPage">
<div id="pageHeader"> <div id="pageHeader">
</div> </div>
<div id="statusMessagePanel" class="panel"> <div id="statusMessagePanel" class="panel">
<div class="header"> <div class="header">
<h4>Status Messages</h4> <h4>Status Messages</h4>
</div> </div>
<div class="separator"> <div class="separator">
<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 />
</div> </div>
<div class="footer"> <div class="footer">
<div class="toolbox"> <div class="toolbox">
<a class="control" href="index.jsp">Refresh</a> <a class="control" href="index.jsp">Refresh</a>
</div> </div>
</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> <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 class="separator"> </div>
<hr /> </div>
</div> </div>
<div class="nameHeaderField rowItem">
<label>Name:</label>
</div> <div id="localServerTunnelList" class="panel">
<div class="portHeaderField rowItem"> <div class="header">
<label>Port:</label>
</div> <h4>I2P Server Tunnels</h4>
<div class="typeHeaderField rowItem"> </div>
<label>Type:</label>
</div>
<div class="interfaceHeaderField rowItem"> <div class="separator"> </div>
<label>Interface:</label>
</div> <div class="nameHeaderField rowItem">
<div class="statusHeaderField rowItem"> <label>Name:</label>
<label>Status:</label> </div>
</div> <div class="previewHeaderField rowItem">
<label>Points at:</label>
<div class="separator"> </div>
<hr /> <div class="targetHeaderField rowItem">
</div> <label>Preview:</label>
<% </div>
for (int curClient = 0; curClient < indexBean.getTunnelCount(); curClient++) { <div class="statusHeaderField rowItem">
if (!indexBean.isClient(curClient)) continue; <label>Status:</label>
%> <hr /> </div>
<div class="nameField rowItem">
<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> for (int curServer = 0; curServer < indexBean.getTunnelCount(); curServer++) {
</div> if (indexBean.isClient(curServer)) continue;
<div class="portField rowItem">
<label>Port:</label> %>
<span class="text"><%=indexBean.getClientPort(curClient)%></span> <div class="nameField rowItem">
</div> <label>Name:</label>
<div class="typeField rowItem"> <span class="text"><a href="edit.jsp?tunnel=<%=curServer%>" title="Edit Server Tunnel Settings for <%=indexBean.getTunnelName(curServer)%>"><%=indexBean.getTunnelName(curServer)%></a></span>
<label>Type:</label> </div>
<span class="text"><%=indexBean.getTunnelType(curClient)%></span> <div class="previewField rowItem">
</div> <label>Points at:</label>
<div class="interfaceField rowItem"> <span class="text">
<label>Interface:</label> <%
<span class="text"><%=indexBean.getClientInterface(curClient)%></span> if ("httpserver".equals(indexBean.getInternalType(curServer))) {
</div> %>
<div class="statusField rowItem"> <a href="http://<%=indexBean.getServerTarget(curServer)%>/" title="Test HTTP server, bypassing I2P"><%=indexBean.getServerTarget(curServer)%></a>
<label>Status:</label> <%
<% } else {
switch (indexBean.getTunnelStatus(curClient)) { %><%=indexBean.getServerTarget(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=<%=curClient%>">Stop</a> %></span>
<% </div>
break; <div class="targetField rowItem">
case IndexBean.STANDBY: <%
%><div class="statusStarting text">Standby</div> if ("httpserver".equals(indexBean.getInternalType(curServer)) && indexBean.getTunnelStatus(curServer) == IndexBean.RUNNING) {
<a class="control" title="Stop this Tunnel" href="index.jsp?nonce=<%=indexBean.getNextNonce()%>&amp;action=stop&amp;tunnel=<%=curClient%>">Stop</a> %><label>Preview:</label>
<% <a class="control" title="Test HTTP server through I2P" href="http://<%=indexBean.getDestHashBase32(curServer)%>.b32.i2p">Preview</a>
break; <%
case IndexBean.RUNNING: } else if (indexBean.getTunnelStatus(curServer) == IndexBean.RUNNING) {
%><div class="statusRunning text">Running</div> %><span class="text">Base32 Address:<br><%=indexBean.getDestHashBase32(curServer)%>.b32.i2p</span>
<a class="control" title="Stop this Tunnel" href="index.jsp?nonce=<%=indexBean.getNextNonce()%>&amp;action=stop&amp;tunnel=<%=curClient%>">Stop</a> <%
<% } else {
break; %><span class="comment">No Preview</span>
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=<%=curClient%>">Start</a> %></div>
<% <div class="statusField rowItem">
break; <label>Status:</label>
} <%
%></div> switch (indexBean.getTunnelStatus(curServer)) {
case IndexBean.STARTING:
<% if (!"sockstunnel".equals(indexBean.getInternalType(curClient))) { %> %><div class="statusStarting text">Starting...</div>
<div class="destinationField rowItem"> <a class="control" title="Stop this Tunnel" href="index.jsp?nonce=<%=indexBean.getNextNonce()%>&amp;action=stop&amp;tunnel=<%=curServer%>">Stop</a>
<label> <%
<% if ("httpclient".equals(indexBean.getInternalType(curClient)) || "connectclient".equals(indexBean.getInternalType(curClient))) { %> break;
Outproxy: case IndexBean.RUNNING:
<% } else { %> %><div class="statusRunning text">Running</div>
Destination: <a class="control" title="Stop this Tunnel" href="index.jsp?nonce=<%=indexBean.getNextNonce()%>&amp;action=stop&amp;tunnel=<%=curServer%>">Stop</a>
<% } %> <%
</label> break;
<input class="freetext" size="40" readonly="readonly" value="<%=indexBean.getClientDestination(curClient)%>" /> case IndexBean.NOT_RUNNING:
</div> %><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>
<%
<div class="descriptionField rowItem"> break;
<label>Description:</label> }
<div class="text"><%=indexBean.getTunnelDescription(curClient)%></div> %></div>
</div>
<div class="descriptionField rowItem">
<div class="subdivider"> <label>Description:</label>
<hr /> <div class="text"><%=indexBean.getTunnelDescription(curServer)%></div>
</div> </div>
<%
} <div class="subdivider">
%> <hr />
<div class="separator"> </div>
<hr /> <%
</div> }
%>
<div class="footer"> <div class="separator">
<form id="addNewClientTunnelForm" action="edit.jsp"> <hr />
<div class="toolbox"> </div>
<label>Add new client tunnel:</label>
<select name="type"> <div class="footer">
<option value="client">Standard</option> <form id="addNewServerTunnelForm" action="edit.jsp">
<option value="httpclient">HTTP</option> <div class="toolbox">
<option value="ircclient">IRC</option>
<option value="sockstunnel">SOCKS 4/4a/5</option> <label>New server tunnel:</label>
<option value="connectclient">CONNECT</option> <select name="type">
<option value="streamrclient">Streamr</option> <option value="server">Standard</option>
</select> <option value="httpserver">HTTP</option>
<input class="control" type="submit" value="Create" /> <option value="ircserver">IRC</option>
</div> <option value="streamrserver">Streamr</option>
</form> </select>
</div> <input class="control" type="submit" value="Create" />
</div> </div>
</form>
<div id="localServerTunnelList" class="panel"> </div>
<div class="header"> </div>
<h4>Local Server Tunnels</h4>
</div>
<div id="localClientTunnelList" class="panel">
<div class="separator"> <div class="header">
<hr />
</div> <h4>I2P Client Tunnels</h4>
</div>
<div class="nameHeaderField rowItem">
<label>Name:</label>
</div> <div class="separator"> </div>
<div class="previewHeaderField rowItem">
<label>Points at:</label> <div class="nameHeaderField rowItem">
</div> <label>Name:</label>
<div class="targetHeaderField rowItem"> </div>
<label>Preview:</label> <div class="portHeaderField rowItem">
</div> <label>Port:</label>
<div class="statusHeaderField rowItem"> </div>
<label>Status:</label> <div class="typeHeaderField rowItem">
</div> <label>Type:</label>
</div>
<% <div class="interfaceHeaderField rowItem">
for (int curServer = 0; curServer < indexBean.getTunnelCount(); curServer++) { <label>Interface:</label>
if (indexBean.isClient(curServer)) continue; </div>
<div class="statusHeaderField rowItem">
%> <label>Status:</label>
<div class="nameField rowItem"> </div>
<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 class="separator">
</div> <hr />
<div class="previewField rowItem"> </div>
<label>Points at:</label> <%
<span class="text"> for (int curClient = 0; curClient < indexBean.getTunnelCount(); curClient++) {
<% if (!indexBean.isClient(curClient)) continue;
if ("httpserver".equals(indexBean.getInternalType(curServer))) { %>
%> <div class="nameField rowItem">
<a href="http://<%=indexBean.getServerTarget(curServer)%>/" title="Test HTTP server, bypassing I2P"><%=indexBean.getServerTarget(curServer)%></a> <label>Name:</label>
<% <span class="text"><a href="edit.jsp?tunnel=<%=curClient%>" title="Edit Tunnel Settings for <%=indexBean.getTunnelName(curClient)%>"><%=indexBean.getTunnelName(curClient)%></a></span>
} else { </div>
%><%=indexBean.getServerTarget(curServer)%> <div class="portField rowItem">
<% <label>Port:</label>
} <span class="text"><%=indexBean.getClientPort(curClient)%></span>
%></span> </div>
</div> <div class="typeField rowItem">
<div class="targetField rowItem"> <label>Type:</label>
<% <span class="text"><%=indexBean.getTunnelType(curClient)%></span>
if ("httpserver".equals(indexBean.getInternalType(curServer)) && indexBean.getTunnelStatus(curServer) == IndexBean.RUNNING) { </div>
%><label>Preview:</label> <div class="interfaceField rowItem">
<a class="control" title="Test HTTP server through I2P" href="http://<%=indexBean.getDestHashBase32(curServer)%>.b32.i2p">Preview</a> <label>Interface:</label>
<% <span class="text"><%=indexBean.getClientInterface(curClient)%></span>
} else if (indexBean.getTunnelStatus(curServer) == IndexBean.RUNNING) { </div>
%><span class="text">Base32 Address:<br><%=indexBean.getDestHashBase32(curServer)%>.b32.i2p</span> <div class="statusField rowItem">
<% <label>Status:</label>
} else { <%
%><span class="comment">No Preview</span> switch (indexBean.getTunnelStatus(curClient)) {
<% case IndexBean.STARTING:
} %><div class="statusStarting text">Starting...</div>
%></div> <a class="control" title="Stop this Tunnel" href="index.jsp?nonce=<%=indexBean.getNextNonce()%>&amp;action=stop&amp;tunnel=<%=curClient%>">Stop</a>
<div class="statusField rowItem"> <%
<label>Status:</label> break;
<% case IndexBean.STANDBY:
switch (indexBean.getTunnelStatus(curServer)) { %><div class="statusStarting text">Standby</div>
case IndexBean.STARTING: <a class="control" title="Stop this Tunnel" href="index.jsp?nonce=<%=indexBean.getNextNonce()%>&amp;action=stop&amp;tunnel=<%=curClient%>">Stop</a>
%><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:
break; %><div class="statusRunning text">Running</div>
case IndexBean.RUNNING: <a class="control" title="Stop this Tunnel" href="index.jsp?nonce=<%=indexBean.getNextNonce()%>&amp;action=stop&amp;tunnel=<%=curClient%>">Stop</a>
%><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:
break; %><div class="statusNotRunning text">Stopped</div>
case IndexBean.NOT_RUNNING: <a class="control" title="Start this Tunnel" href="index.jsp?nonce=<%=indexBean.getNextNonce()%>&amp;action=start&amp;tunnel=<%=curClient%>">Start</a>
%><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;
<% }
break; %></div>
}
%></div> <% if (!"sockstunnel".equals(indexBean.getInternalType(curClient))) { %>
<div class="destinationField rowItem">
<div class="descriptionField rowItem"> <label>
<label>Description:</label> <% if ("httpclient".equals(indexBean.getInternalType(curClient)) || "connectclient".equals(indexBean.getInternalType(curClient))) { %>
<div class="text"><%=indexBean.getTunnelDescription(curServer)%></div> Outproxy:
</div> <% } else { %>
Destination:
<div class="subdivider"> <% } %>
<hr /> </label>
</div> <input class="freetext" size="40" readonly="readonly" value="<%=indexBean.getClientDestination(curClient)%>" />
<% </div>
} <% } %>
%>
<div class="separator"> <div class="descriptionField rowItem">
<hr /> <label>Description:</label>
</div> <div class="text"><%=indexBean.getTunnelDescription(curClient)%></div>
</div>
<div class="footer">
<form id="addNewServerTunnelForm" action="edit.jsp"> <div class="subdivider">
<div class="toolbox"> <hr />
<label>Add new server tunnel:</label> </div>
<select name="type"> <%
<option value="server">Standard</option> }
<option value="httpserver">HTTP</option> %>
<option value="ircserver">IRC</option> <div class="separator">
<option value="streamrserver">Streamr</option> <hr />
</select> </div>
<input class="control" type="submit" value="Create" />
</div> <div class="footer">
</form> <form id="addNewClientTunnelForm" action="edit.jsp">
</div> <div class="toolbox">
</div>
<label>New client tunnel:</label>
<div id="globalOperationsPanel" class="panel"> <select name="type">
<div class="header"></div> <option value="client">Standard</option>
<div class="footer"> <option value="httpclient">HTTP</option>
<div class="toolbox"> <option value="ircclient">IRC</option>
<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> <option value="sockstunnel">SOCKS 4/4a/5</option>
</div> <option value="connectclient">CONNECT</option>
</div> <option value="streamrclient">Streamr</option>
</div> </select>
<input class="control" type="submit" value="Create" />
<div id="pageFooter"> </div>
</div> </form>
</body> </div>
</html> </div>
<div id="pageFooter">
</div>
</body>
</html>