<% // NOTE: Do the header carefully so there is no whitespace before the <%@page pageEncoding="UTF-8" %><%@page trimDirectiveWhitespaces="true" %><%@page contentType="text/html" import="net.i2p.i2ptunnel.web.IndexBean" %> <%=intl._("Hidden Services Manager")%> <% if (indexBean.allowCSS()) { %> <% } %>

<%=intl._("Status Messages")%>



<% if (indexBean.isInitialized()) { %>

<%=intl._("I2P Hidden Services")%>


<% for (int curServer = 0; curServer < indexBean.getTunnelCount(); curServer++) { if (indexBean.isClient(curServer)) continue; %>
<% if (indexBean.isServerTargetLinkValid(curServer)) { if (indexBean.isSSLEnabled(curServer)) { %> <%=indexBean.getServerTarget(curServer)%> SSL <% } else { %> <%=indexBean.getServerTarget(curServer)%> <% } } else { %><%=indexBean.getServerTarget(curServer)%> <% if (indexBean.isSSLEnabled(curServer)) { %> SSL <% } } %>
<% if (("httpserver".equals(indexBean.getInternalType(curServer)) || ("httpbidirserver".equals(indexBean.getInternalType(curServer)))) && indexBean.getTunnelStatus(curServer) == IndexBean.RUNNING) { %> <%=intl._("Preview")%> <% } else if (indexBean.getTunnelStatus(curServer) == IndexBean.RUNNING) { %><%=intl._("Base32 Address")%>:
<%=indexBean.getDestHashBase32(curServer)%>
<% } else { %><%=intl._("No Preview")%> <% } %>
<% switch (indexBean.getTunnelStatus(curServer)) { case IndexBean.STARTING: %>
<%=intl._("Starting...")%>
<%=intl._("Stop")%> <% break; case IndexBean.RUNNING: %>
<%=intl._("Running")%>
<%=intl._("Stop")%> <% break; case IndexBean.NOT_RUNNING: %>
<%=intl._("Stopped")%>
<%=intl._("Start")%> <% break; } %>
<%=indexBean.getTunnelDescription(curServer)%>

<% } %>

<%=intl._("I2P Client Tunnels")%>


<% for (int curClient = 0; curClient < indexBean.getTunnelCount(); curClient++) { if (!indexBean.isClient(curClient)) continue; %>
<% String cPort= indexBean.getClientPort2(curClient); out.write(cPort); if (indexBean.isSSLEnabled(curClient)) out.write(" SSL"); %>
<%=indexBean.getTunnelType(curClient)%>
<% /* should only happen for streamr client */ String cHost= indexBean.getClientInterface(curClient); if (cHost == null || "".equals(cHost)) { out.write(""); out.write(intl._("Host not set")); out.write(""); } else { out.write(cHost); } %>
<% switch (indexBean.getTunnelStatus(curClient)) { case IndexBean.STARTING: %>
<%=intl._("Starting...")%>
<%=intl._("Stop")%> <% break; case IndexBean.STANDBY: %>
<%=intl._("Standby")%>
<%=intl._("Stop")%> <% break; case IndexBean.RUNNING: %>
<%=intl._("Running")%>
<%=intl._("Stop")%> <% break; case IndexBean.NOT_RUNNING: %>
<%=intl._("Stopped")%>
<%=intl._("Start")%> <% break; } %>
<% if (indexBean.getIsUsingOutproxyPlugin(curClient)) { %><%=intl._("internal plugin")%><% } else { String cdest = indexBean.getClientDestination(curClient); if (cdest.length() > 70) { // Probably a B64 (a B32 is 60 chars) so truncate %><%=cdest.substring(0, 45)%>…<%=cdest.substring(cdest.length() - 15, cdest.length())%><% } else if (cdest.length() > 0) { %><%=cdest%><% } else { %><%=intl._("none")%><% } } %>
<% /* TODO SSL outproxy for httpclient if plugin not present */ %>
<%=indexBean.getTunnelDescription(curClient)%>

<% } %>

<% } // isInitialized() %>