diff --git a/apps/i2ptunnel/jsp/editClient.jsi b/apps/i2ptunnel/jsp/editClient.jsi index 1122b062c..74e89e028 100644 --- a/apps/i2ptunnel/jsp/editClient.jsi +++ b/apps/i2ptunnel/jsp/editClient.jsi @@ -1,4 +1,4 @@ - <% +<% String tunnelTypeName; String tunnelType; if (curTunnel >= 0) { @@ -13,111 +13,97 @@ - <% +<% // 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) { %> - <% } %> +<% } +%> -
| <%=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)) { %> +<% if ("streamrclient".equals(tunnelType)) { %> <%=intl._t("Target")%> - <% } else { %> +<% } else { %> <%=intl._t("Access Point")%> - <% } /* streamrclient */ %> +<% } /* streamrclient */ %> | -||
| <%=intl._t("Port")%>: - <% String value = editBean.getClientPort(curTunnel); +<% + 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" /> | - - <% - if ("streamrclient".equals(tunnelType)) { %> +<% + if ("streamrclient".equals(tunnelType)) { +%><%=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" /> | - <% } else { %> - +<% + } else { +%><%=intl._t("Reachable by")%>: - | <% } /* streamrclient */ %>
| <%=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())) { @@ -205,96 +187,98 @@ 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 */ %> +<% + 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("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")%> | -
| - | - -+ | |
| <%=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? %> |
| <%=intl._t("Router I2CP Address")%> | -||
| <%=intl._t("Host")%>: " value="<%=editBean.getI2CPHost(curTunnel)%>" class="freetext host" <% if (editBean.isRouterContext()) { %> readonly="readonly" <% } %> /> - | - - -+ | <%=intl._t("Port")%>: " value="<%=editBean.getI2CPPort(curTunnel)%>" class="freetext port" <% if (editBean.isRouterContext()) { %> readonly="readonly" <% } %> /> |
| <%=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")%>: @@ -464,152 +418,135 @@ | ||
| <%=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 Base 32")%>: <%=editBean.getDestHashBase32(curTunnel)%> | ||
| <%=intl._t("HTTP Filtering")%> | -||
| - | -+ | - |
| - | - -+ | |
| <%=intl._t("Signature type")%> <%-- (<%=intl._t("Experts only!")%>) --%> | -||
| - - <% if (editBean.isSigTypeAvailable(1)) { %> - +<% + if (editBean.isSigTypeAvailable(1)) { +%> - - <% } - - if (editBean.isSigTypeAvailable(2)) { %> - +<% + } + if (editBean.isSigTypeAvailable(2)) { +%> - - <% } - if (editBean.isSigTypeAvailable(3)) { %> - +<% + } + if (editBean.isSigTypeAvailable(3)) { +%> - - <% } - if (editBean.isSigTypeAvailable(7)) { %> - +<% + } + if (editBean.isSigTypeAvailable(7)) { +%> | ||
| <%=intl._t("Local Authorization")%> | -||
| - | ||
| <%=intl._t("Username")%>: " value="" class="freetext username" /> @@ -618,21 +555,16 @@ <%=intl._t("Password")%>: " value="" class="freetext password" /> | -||
| <%=intl._t("Outproxy Authorization")%> | -||
| - | ||
| <%=intl._t("Username")%>: " value="<%=editBean.getOutproxyUsername(curTunnel)%>" class="freetext username" /> @@ -643,37 +575,32 @@ " value="<%=editBean.getOutproxyPassword(curTunnel)%>" class="freetext password" /> | ||
| <%=intl._t("Jump URL List")%> | -||
| <%=intl._t("Custom options")%> | -||
| " value="<%=editBean.getCustomOptions(curTunnel)%>" class="freetext" spellcheck="false"/> | -||
| @@ -681,4 +608,4 @@ | ||
| <%=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 tunnelDescriptionText" /> - | - -+ | - | |
| <% if ("streamrserver".equals(tunnelType)) { %> <%=intl._t("Access Point")%> @@ -83,16 +68,13 @@ <%=intl._t("Target")%> <% } %> | -|||
| <%=intl._t("Host")%>: " value="<%=editBean.getTargetHost(curTunnel)%>" class="freetext host" /> | - <% } /* !streamrserver */ %> - +<% } /* !streamrserver */ %><%=intl._t("Port")%>: <% String value = editBean.getTargetPort(curTunnel); @@ -101,44 +83,39 @@ out.write(intl._t("required")); out.write(")"); } - %> +%> " value="<%=editBean.getTargetPort(curTunnel)%>" class="freetext port" placeholder="required" /> - <% if (!"streamrserver".equals(tunnelType)) { %> +<% if (!"streamrserver".equals(tunnelType)) { %> - <% } /* !streamrserver */ %> +<% } /* !streamrserver */ %> | - <% if ("httpbidirserver".equals(tunnelType)) { %> -||
| <%=intl._t("Access Point")%> | -|||
| <%=intl._t("Port")%>: - <% String value4 = editBean.getClientPort(curTunnel); +<% String value4 = editBean.getClientPort(curTunnel); if (value4 == null || "".equals(value4.trim())) { out.write(" ("); out.write(intl._t("required")); out.write(")"); } - %> - +%> " value="<%=editBean.getClientPort(curTunnel)%>" class="freetext port" placeholder="required" /> | - <% } /* httpbidirserver */ %> - <% if ("httpbidirserver".equals(tunnelType) || "streamrserver".equals(tunnelType)) { %> - +<% } /* httpbidirserver */ + if ("httpbidirserver".equals(tunnelType) || "streamrserver".equals(tunnelType)) { +%><%=intl._t("Reachable by")%>: | <% } /* httpbidirserver || streamrserver */ %>||
| <%=intl._t("Website Hostname")%> | - | ||
| " value="<%=editBean.getSpoofedHost(curTunnel)%>" class="freetext" /> <%=intl._t("(leave blank for outproxies)")%> @@ -175,21 +147,16 @@ | |||
| <%=intl._t("Local destination")%> - | -+ | <%=intl._t("Private key file")%> | -|
|
" tabindex="0" onblur="resetScrollLeft(this)"><%=editBean.getDestinationBase64(curTunnel)%>
- |
- + | <% String value3 = editBean.getPrivateKeyFile(curTunnel); if (value3 == null || "".equals(value3.trim())) { out.write(" ("); @@ -200,11 +167,9 @@ " value="<%=editBean.getPrivateKeyFile(curTunnel)%>" class="freetext" placeholder="required" /> | |
| - <% +<% if (hasImagegen) { - %> +%> " href="/imagegen/qr?s=320&t=<%=name%>&c=http%3a%2f%2f<%=name%>%2f%3fi2paddresshelper%3d<%=b64%>" target="_top"><%=intl._t("Generate QR Code")%> - <% +<% } if (hasSusiDNS) { - %> +%> " href="/susidns/addressbook.jsp?book=private&hostname=<%=name%>&destination=<%=b64%>#add"><%=intl._t("Add to local addressbook")%> - <% +<% } - %> +%> " href="register?tunnel=<%=curTunnel%>"><%=intl._t("Registration Authentication")%> - <% +<% if (("httpserver".equals(tunnelType)) || ("httpbidirserver".equals(tunnelType))) { - %> +%> " href="ssl?tunnel=<%=curTunnel%>"><%=intl._t("SSL Wizard")%> - <% +<% } - %> +%> | - <% +<% } else { - %> +%><%=intl._t("Note: In order to enable QR code generation or registration authentication, configure the Website Hostname field (for websites) or the Name field (everything else) above with an .i2p suffixed hostname e.g. mynewserver.i2p")%> | - <% +<% } // name - %> +%>||
| <%=intl._t("Inbound connection limits (0=unlimited)")%> | -||||||||
|---|---|---|---|---|---|---|---|---|
| <%=intl._t("Per Minute")%> | <%=intl._t("Per Hour")%> | <%=intl._t("Per Day")%> | - | |||||
| <%=intl._t("Per Client")%> | " value="<%=editBean.getLimitMinute(curTunnel)%>" class="freetext" /> - | -+ | " value="<%=editBean.getLimitHour(curTunnel)%>" class="freetext" /> - | -+ | " value="<%=editBean.getLimitDay(curTunnel)%>" class="freetext" /> - | -- | ||
| + | ||||||||
| <%=intl._t("Total")%> | " value="<%=editBean.getTotalMinute(curTunnel)%>" class="freetext" /> - | -+ | " value="<%=editBean.getTotalHour(curTunnel)%>" class="freetext" /> - | -+ | " value="<%=editBean.getTotalDay(curTunnel)%>" class="freetext" /> - | -- | ||
| + | ||||||||
| <%=intl._t("Max concurrent connections (0=unlimited)")%> | -||||||||
| - | + | |||||||
| " value="<%=editBean.getMaxStreams(curTunnel)%>" class="freetext" /> - | -- | - | + | |||||
| <%=intl._t("POST limits (0=unlimited)")%> | -||||||||
| - | + | |||||||
| <%=intl._t("Per Period")%> - | -+ | <%=intl._t("Ban Duration")%> - | -- | - | ||||
| + | ||||||||
| <%=intl._t("Per Client")%> - | -+ | " value="<%=editBean.getPostMax(curTunnel)%>" class="freetext quantity"/> - | -+ | " value="<%=editBean.getPostBanTime(curTunnel)%>" class="freetext period"/> <%=intl._t("minutes")%> - | -- | |||
| + | ||||||||
| <%=intl._t("Total")%> - | -+ | " value="<%=editBean.getPostTotalMax(curTunnel)%>" class="freetext quantity"/> - | -+ | " value="<%=editBean.getPostTotalBanTime(curTunnel)%>" class="freetext period"/> <%=intl._t("minutes")%> - | -- | |||
| + | ||||||||
| <%=intl._t("POST limit period")%> - | -+ | " value="<%=editBean.getPostCheckTime(curTunnel)%>" class="freetext period"/> <%=intl._t("minutes")%> - | -- | + | ||||
| <%=intl._t("Name")%> | @@ -101,85 +95,74 @@<%=intl._t("Status")%> | <%=intl._t("Control")%> | ||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| <%=indexBean.getTunnelName(curServer)%>"><%=indexBean.getTunnelName(curServer)%> - | -<%=indexBean.getTunnelType(curServer)%> | -- <% + | <%=indexBean.getTunnelType(curServer)%> + | +<% if (indexBean.isServerTargetLinkValid(curServer)) { if (indexBean.isSSLEnabled(curServer)) { %> " target="_top"><%=indexBean.getServerTarget(curServer)%> SSL - <% } else { %> +<% } else { %> " target="_top"><%=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) { - %> +%> " href="http://<%=indexBean.getDestHashBase32(curServer)%>" target="_top"><%=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...")%>
- |
- + |
" href="list?nonce=<%=nextNonce%>&action=stop&tunnel=<%=curServer%>"><%=intl._t("Stop")%>
- <%
+<%
break;
case IndexBean.RUNNING:
%> "><%=intl._t("Running")%>
- |
- + |
" href="list?nonce=<%=nextNonce%>&action=stop&tunnel=<%=curServer%>"><%=intl._t("Stop")%>
- <%
+<%
break;
case IndexBean.NOT_RUNNING:
%> "><%=intl._t("Stopped")%>
- |
- + | " href="list?nonce=<%=nextNonce%>&action=start&tunnel=<%=curServer%>"><%=intl._t("Start")%> - <% +<% break; } - %> +%> | -
| - <% +<% String name = indexBean.getSpoofedHost(curServer); if (name == null || name.equals("")) { name = indexBean.getTunnelName(curServer); @@ -193,35 +176,31 @@ out.write(": "); out.write(name); } - %> +%> | ||||||||||||||
| <%=intl._t("Encrypted")%>: <%=encName%> | ||||||||||||||
| <%=intl._t("Description")%>: <%=indexBean.getTunnelDescription(curServer)%> | ||||||||||||||
| <%=intl._t("Name")%> | @@ -252,21 +229,16 @@<%=intl._t("Status")%> | <%=intl._t("Control")%> | ||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| <%=indexBean.getTunnelName(curClient)%>"><%=indexBean.getTunnelName(curClient)%> - | - -<%=indexBean.getTunnelType(curClient)%> | -- <% + | <%=indexBean.getTunnelType(curClient)%> + | +<% /* should only happen for streamr client */ String cHost= indexBean.getClientInterface(curClient); if (cHost == null || "".equals(cHost)) { @@ -276,62 +248,55 @@ } else { out.write(cHost); } - %> - | -- <% +%> + | +<% String cPort= indexBean.getClientPort2(curClient); out.write(cPort); if (indexBean.isSSLEnabled(curClient)) out.write(" SSL"); - %> - | -- <% +%> + |
+<%
switch (indexBean.getTunnelStatus(curClient)) {
case IndexBean.STARTING:
%> "><%=intl._t("Starting...")%>
- |
- + |
" href="list?nonce=<%=nextNonce%>&action=stop&tunnel=<%=curClient%>"><%=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")%>
- |
- + | " href="list?nonce=<%=nextNonce%>&action=start&tunnel=<%=curClient%>"><%=intl._t("Start")%> - <% +<% break; } - %> +%> | -
| - <% if ("httpclient".equals(indexBean.getInternalType(curClient)) || "connectclient".equals(indexBean.getInternalType(curClient)) || +<% if ("httpclient".equals(indexBean.getInternalType(curClient)) || "connectclient".equals(indexBean.getInternalType(curClient)) || "sockstunnel".equals(indexBean.getInternalType(curClient)) || "socksirctunnel".equals(indexBean.getInternalType(curClient))) { %> <%=intl._t("Outproxy")%>: - <% } else { %> +<% } else { %> <%=intl._t("Destination")%>: - <% } %> + <% } %> - <% +<% if (indexBean.getIsUsingOutproxyPlugin(curClient)) { %><%=intl._t("internal plugin")%><% } else { @@ -346,16 +311,16 @@ } %> | ||||||||||||||||
| <%=intl._t("Description")%>: <%=indexBean.getTunnelDescription(curClient)%> | ||||||||||||||||