<% String tunnelTypeName; String tunnelType; if (curTunnel >= 0) { tunnelTypeName = editBean.getTunnelType(curTunnel); tunnelType = editBean.getInternalType(curTunnel); %>

<%=intl._t("Edit proxy settings")%> (<%=editBean.getTunnelName(curTunnel)%>)

<% } else { tunnelTypeName = editBean.getTypeName(request.getParameter("type")); tunnelType = net.i2p.data.DataHelper.stripHTML(request.getParameter("type")); %>

<%=intl._t("New proxy settings")%>

<% } %> <% // these are four keys that are generated automatically on first save, // and we want to persist in i2ptunnel.config, but don't want to // show clogging up the custom options form. String key = editBean.getKey1(curTunnel); if (key != null && key.length() > 0) { %> <% } key = editBean.getKey2(curTunnel); if (key != null && key.length() > 0) { %> <% } key = editBean.getKey3(curTunnel); if (key != null && key.length() > 0) { %> <% } key = editBean.getKey4(curTunnel); if (key != null && key.length() > 0) { %> <% } %> <% if ("streamrclient".equals(tunnelType)) { %> <% } else { %> <% } /* streamrclient */ %> <% if ("client".equals(tunnelType) || "ircclient".equals(tunnelType)) { %> <% } /* tunnel types */ if ("httpclient".equals(tunnelType) || "connectclient".equals(tunnelType) || "sockstunnel".equals(tunnelType) || "socksirctunnel".equals(tunnelType)) { %> <% if ("httpclient".equals(tunnelType)) { %> <% } // httpclient %> <% } else if ("client".equals(tunnelType) || "ircclient".equals(tunnelType) || "streamrclient".equals(tunnelType)) { %> <% } if (!"streamrclient".equals(tunnelType)) { %> <% } // !streamrclient if ("ircclient".equals(tunnelType)) { %> <% } // ircclient %>
<%=intl._t("Name")%> <%=intl._t("Type")%>
" value="<%=editBean.getTunnelName(curTunnel)%>" class="freetext tunnelName" /> <%=tunnelTypeName%>
<%=intl._t("Description")%> <%=intl._t("Auto Start Tunnel")%>
" value="<%=editBean.getTunnelDescription(curTunnel)%>" class="freetext tunnelDescription" />
<% if ("streamrclient".equals(tunnelType)) { %> <%=intl._t("Target")%> <% } else { %> <%=intl._t("Access Point")%> <% } /* streamrclient */ %>
<%=intl._t("Port")%>: <% String value = editBean.getClientPort(curTunnel); if (value == null || "".equals(value.trim())) { out.write(" ("); out.write(intl._t("required")); out.write(")"); } %> " value="<%=editBean.getClientPort(curTunnel)%>" class="freetext port" placeholder="required" /> <%=intl._t("Host")%>: <% String targetHost = editBean.getTargetHost(curTunnel); if (targetHost == null || "".equals(targetHost.trim())) { out.write(" ("); out.write(intl._t("required")); out.write(")"); } %> " value="<%=targetHost%>" class="freetext host" placeholder="required" /> <%=intl._t("Reachable by")%>:
<%=intl._t("Use SSL?")%>
<%=intl._t("Outproxies")%>
 <%=intl._t("For a random selection from a pool, separate with commas e.g. server1.i2p,server2.i2p")%>" value="<%=editBean.getClientDestination(curTunnel)%>" class="freetext proxyList" />
<%=intl._t("SSL Outproxies")%>
 <%=intl._t("For a random selection from a pool, separate with commas e.g. server1.i2p,server2.i2p")%>" value="<%=editBean.getSslProxies(curTunnel)%>" class="freetext proxyList" />
<%=intl._t("Use Outproxy Plugin")%>
<%=intl._t("Tunnel Destination")%>
<% String value2 = editBean.getClientDestination(curTunnel); if (value2 == null || "".equals(value2.trim())) { out.write(" ("); out.write(intl._t("required")); out.write(")"); } %>  <%=intl._t("For a random selection from a pool, separate with commas e.g. server1.i2p,server2.i2p")%>" value="<%=editBean.getClientDestination(curTunnel)%>" class="freetext destination" placeholder="required" /> (<%=intl._t("name, name:port, or destination")%> <% if ("streamrclient".equals(tunnelType)) { /* deferred resolution unimplemented in streamr client */ %> - <%=intl._t("b32 not recommended")%> <% } %> )
<%=intl._t("Shared Client")%>
<%=intl._t("Enable DCC")%>

<%=intl._t("Advanced networking options")%>

<% if (!"streamrclient".equals(tunnelType)) { // no shared client tunnels for streamr %> <% } // !streamrclient %>
<%=intl._t("Note: When this client proxy is configured to share tunnels, then these options are for all the shared proxy clients!")%>
<%=intl._t("Tunnel Options")%>
<%=intl._t("Length")%> <%=intl._t("Variance")%>
<%=intl._t("Count")%> <%=intl._t("Backup Count")%>
<% if ("client".equals(tunnelType)) { %> <% } // client if (!editBean.isRouterContext()) { %>
<%=intl._t("Profile")%> <%=intl._t("Delay Connect")%>
<% // TODO: Convey to users: Where is the (1s) delay introduced? What is the difference between delay connect and delay open? %>
<% } // !isRouterContext if (!"streamrclient".equals(tunnelType)) { // streamr client sends pings so it will never be idle %> <% } // !streamrclient %> <% if ("client".equals(tunnelType) || "ircclient".equals(tunnelType) || "socksirctunnel".equals(tunnelType) || "sockstunnel".equals(tunnelType)) { %> <% String destb64 = editBean.getDestinationBase64(curTunnel); if (destb64.length() > 0) { %> <% } // if destb64 } if ("httpclient".equals(tunnelType)) { %>
<%=intl._t("Router I2CP Address")%>
<%=intl._t("Host")%>: " value="<%=editBean.getI2CPHost(curTunnel)%>" class="freetext host" /> <%=intl._t("Port")%>: " value="<%=editBean.getI2CPPort(curTunnel)%>" class="freetext port" />
<%=intl._t("Delay tunnel open until required")%>
<%=intl._t("Reduce tunnel quantity when idle")%>
<%=intl._t("Reduced tunnel count")%>: " value="<%=editBean.getReduceCount(curTunnel)%>" class="freetext quantity" /> <%=intl._t("Idle period")%>: " value="<%=editBean.getReduceTime(curTunnel)%>" class="freetext period" /> minutes
<%=intl._t("Close tunnels when idle")%>
<%=intl._t("Idle period")%>: " value="<%=editBean.getCloseTime(curTunnel)%>" class="freetext period" /> minutes
<%=intl._t("New Keys on Reopen")%>:
<%=intl._t("Persistent private key")%>
<%=intl._t("File")%>: " value="<%=editBean.getPrivateKeyFile(curTunnel)%>" class="freetext" />
<%=intl._t("Local destination")%>
" tabindex="0" onblur="resetScrollLeft(this)"><%=destb64%>
<%=intl._t("Local Base32")%>:  <%=editBean.getDestHashBase32(curTunnel)%>
<%=intl._t("HTTP Filtering")%>
<% } // if httpclient int currentSigType = editBean.getSigType(curTunnel, tunnelType); String disabled = editBean.canChangeSigType(curTunnel) ? "" : " disabled=\"disabled\" "; %> <% boolean has0 = editBean.hasEncType(curTunnel, 0); boolean has4 = editBean.hasEncType(curTunnel, 4); %> <% if ("httpclient".equals(tunnelType) || "connectclient".equals(tunnelType) || "sockstunnel".equals(tunnelType) || "socksirctunnel".equals(tunnelType)) { %>
<%=intl._t("Signature type")%>
<%=intl._t("Encryption types")%>
<%=intl._t("Local Authorization")%>
<%=intl._t("Username")%>: " value="" class="freetext username" /> <%=intl._t("Password")%>: " value="" class="freetext password" />
<%=intl._t("Outproxy Authorization")%>
<%=intl._t("Username")%>: " value="<%=editBean.getOutproxyUsername(curTunnel)%>" class="freetext username" /> <%=intl._t("Password")%>: " value="<%=editBean.getOutproxyPassword(curTunnel)%>" class="freetext password" />
<% } // httpclient || connect || socks || socksirc if ("httpclient".equals(tunnelType)) { %>
<%=intl._t("Jump URL List")%>
<% } // httpclient %>
<%=intl._t("Custom options")%>
" value="<%=editBean.getCustomOptions(curTunnel)%>" class="freetext" spellcheck="false"/>