<% // 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._t("Hidden Services Manager")%> <% if (indexBean.allowCSS()) { %> <% } %>

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



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

<%=intl._t("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._t("Preview")%> <% } else if (indexBean.getTunnelStatus(curServer) == IndexBean.RUNNING) { %><%=intl._t("Base32 Address")%>:
<%=indexBean.getDestHashBase32(curServer)%>
<% } else { %><%=intl._t("No Preview")%> <% } %>
<% switch (indexBean.getTunnelStatus(curServer)) { case IndexBean.STARTING: %>
<%=intl._t("Starting...")%>
<%=intl._t("Stop")%> <% break; case IndexBean.RUNNING: %>
<%=intl._t("Running")%>
<%=intl._t("Stop")%> <% break; case IndexBean.NOT_RUNNING: %>
<%=intl._t("Stopped")%>
<%=intl._t("Start")%> <% break; } %>
<%=indexBean.getTunnelDescription(curServer)%>

<% } %>

<%=intl._t("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._t("Host not set")); out.write(""); } else { out.write(cHost); } %>
<% switch (indexBean.getTunnelStatus(curClient)) { case IndexBean.STARTING: %>
<%=intl._t("Starting...")%>
<%=intl._t("Stop")%> <% break; case IndexBean.STANDBY: %>
<%=intl._t("Standby")%>
<%=intl._t("Stop")%> <% break; case IndexBean.RUNNING: %>
<%=intl._t("Running")%>
<%=intl._t("Stop")%> <% break; case IndexBean.NOT_RUNNING: %>
<%=intl._t("Stopped")%>
<%=intl._t("Start")%> <% break; } %>
<% if (indexBean.getIsUsingOutproxyPlugin(curClient)) { %><%=intl._t("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._t("none")%><% } } %>
<% /* TODO SSL outproxy for httpclient if plugin not present */ %>
<%=indexBean.getTunnelDescription(curClient)%>

<% } %>

<% } // isInitialized() %>