source: apps/i2ptunnel/jsp/editServer.jsp @ b64b262

Last change on this file since b64b262 was b64b262, checked in by zzz <zzz@…>, 8 years ago
  • i2ptunnel: Fix default form action (ticket #882)
  • Property mode set to 100644
File size: 31.4 KB
Line 
1<%@page contentType="text/html" import="net.i2p.i2ptunnel.web.EditBean"
2%><%@page trimDirectiveWhitespaces="true"
3%><?xml version="1.0" encoding="UTF-8"?>
4<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
5<jsp:useBean class="net.i2p.i2ptunnel.web.EditBean" id="editBean" scope="request" />
6<jsp:useBean class="net.i2p.i2ptunnel.web.Messages" id="intl" scope="request" />
7<% String tun = request.getParameter("tunnel");
8   int curTunnel = -1;
9   if (tun != null) {
10     try {
11       curTunnel = Integer.parseInt(tun);
12     } catch (NumberFormatException nfe) {
13       curTunnel = -1;
14     }
15   }
16%>
17<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
18<head>
19    <title><%=intl._("I2P Tunnel Manager - Edit Server Tunnel")%></title>
20    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
21    <meta http-equiv="Content-Type" content="application/xhtml+xml; charset=UTF-8" />
22    <link href="/themes/console/images/favicon.ico" type="image/x-icon" rel="shortcut icon" />
23
24    <% if (editBean.allowCSS()) {
25  %><link rel="icon" href="<%=editBean.getTheme()%>images/favicon.ico" />
26    <link href="<%=editBean.getTheme()%>default.css" rel="stylesheet" type="text/css" /> 
27    <link href="<%=editBean.getTheme()%>i2ptunnel.css" rel="stylesheet" type="text/css" />
28    <% }
29  %>
30<style type='text/css'>
31input.default { width: 1px; height: 1px; visibility: hidden; }
32</style>
33</head>
34<body id="tunnelEditPage">
35    <div id="pageHeader">
36    </div>
37<%
38
39  if (editBean.isInitialized()) {
40
41%>
42    <form method="post" action="list">
43
44        <div id="tunnelEditPanel" class="panel">
45            <div class="header">
46                <%
47                String tunnelTypeName = "";
48                String tunnelType = "";
49                if (curTunnel >= 0) {
50                    tunnelTypeName = editBean.getTunnelType(curTunnel);
51                    tunnelType = editBean.getInternalType(curTunnel);
52                  %><h4><%=intl._("Edit server settings")%></h4><% 
53                } else {
54                    tunnelTypeName = editBean.getTypeName(request.getParameter("type"));
55                    tunnelType = request.getParameter("type");
56                  %><h4><%=intl._("New server settings")%></h4><% 
57                } %>
58                <input type="hidden" name="tunnel" value="<%=request.getParameter("tunnel")%>" />
59                <input type="hidden" name="nonce" value="<%=editBean.getNextNonce()%>" />
60                <input type="hidden" name="type" value="<%=tunnelType%>" />
61                <input type="submit" class="default" name="action" value="Save changes" />
62            </div>
63     
64            <div class="separator">
65                <hr />
66            </div>
67
68            <div id="nameField" class="rowItem">
69                <label for="name" accesskey="N">
70                    <%=intl._("Name")%>(<span class="accessKey">N</span>):
71                </label>
72                <input type="text" size="30" maxlength="50" name="name" id="name" title="Tunnel Name" value="<%=editBean.getTunnelName(curTunnel)%>" class="freetext" />               
73            </div>
74            <div id="typeField" class="rowItem">
75                <label><%=intl._("Type")%>:</label>
76                <span class="text"><%=tunnelTypeName%></span>
77            </div>
78            <div id="descriptionField" class="rowItem">
79                <label for="description" accesskey="e">
80                    <%=intl._("Description")%>(<span class="accessKey">e</span>):
81                </label>
82                <input type="text" size="60" maxlength="80" name="description"  id="description" title="Tunnel Description" value="<%=editBean.getTunnelDescription(curTunnel)%>" class="freetext" />               
83            </div>
84            <div id="startupField" class="rowItem">
85                <label for="startOnLoad" accesskey="a">
86                    <%=intl._("Auto Start")%>(<span class="accessKey">A</span>):
87                </label>
88                <input value="1" type="checkbox" id="startOnLoad" name="startOnLoad" title="Start Tunnel Automatically"<%=(editBean.startAutomatically(curTunnel) ? " checked=\"checked\"" : "")%> class="tickbox" />               
89                <span class="comment"><%=intl._("(Check the Box for 'YES')")%></span>
90            </div>
91                 
92            <div class="subdivider">
93                <hr />
94            </div>
95                 
96            <div id="targetField" class="rowItem">
97         <% if ("streamrserver".equals(tunnelType)) { %>
98                <label><%=intl._("Access Point")%>:</label>
99         <% } else { %>
100                <label><%=intl._("Target")%>:</label>
101         <% } %>
102            </div>
103         <% if (!"streamrserver".equals(tunnelType)) { %>
104            <div id="hostField" class="rowItem">
105                <label for="targetHost" accesskey="H">
106                    <%=intl._("Host")%>(<span class="accessKey">H</span>):
107                </label>
108                <input type="text" size="20" id="targetHost" name="targetHost" title="Target Hostname or IP" value="<%=editBean.getTargetHost(curTunnel)%>" class="freetext" />               
109            </div>
110         <% } /* !streamrserver */ %>
111            <div id="portField" class="rowItem">
112                <label for="targetPort" accesskey="P">
113                    <%=intl._("Port")%>(<span class="accessKey">P</span>):
114                    <% String value = editBean.getTargetPort(curTunnel);
115                       if (value == null || "".equals(value.trim())) {
116                           out.write(" <font color=\"red\">(");
117                           out.write(intl._("required"));
118                           out.write(")</font>");
119                       }   
120                     %>
121                </label>
122                <input type="text" size="6" maxlength="5" id="targetPort" name="targetPort" title="Target Port Number" value="<%=editBean.getTargetPort(curTunnel)%>" class="freetext" />               
123            </div>
124           
125         <% if ("httpbidirserver".equals(tunnelType)) { %>
126            <div class="subdivider">
127                <hr />
128            </div>
129            <div id="accessField" class="rowItem">
130                <label><%=intl._("Access Point")%>:</label>
131            </div> 
132            <div id="portField" class="rowItem">
133                <label for="port" accesskey="P">
134                     <span class="accessKey">P</span>ort:
135                     <% String value4 = editBean.getClientPort(curTunnel);
136                        if (value4 == null || "".equals(value4.trim())) {
137                            out.write(" <font color=\"red\">(");
138                            out.write(intl._("required"));
139                            out.write(")</font>");
140                        }
141                      %>
142                 </label>
143                 <input type="text" size="6" maxlength="5" id="port" name="port" title="Access Port Number" value="<%=editBean.getClientPort(curTunnel)%>" class="freetext" />
144            </div>
145         <% } /* httpbidirserver */ %>
146         <% if ("httpbidirserver".equals(tunnelType) || "streamrserver".equals(tunnelType)) { %>
147            <div id="reachField" class="rowItem">
148                <label for="reachableBy" accesskey="r">
149                    <%=intl._("Reachable by")%>(<span class="accessKey">R</span>):
150                </label>
151                <select id="reachableBy" name="reachableBy" title="IP for Client Access" class="selectbox">
152              <%
153                    String clientInterface = editBean.getClientInterface(curTunnel);
154                    for (String ifc : editBean.interfaceSet()) {
155                        out.write("<option value=\"");
156                        out.write(ifc);
157                        out.write('\"');
158                        if (ifc.equals(clientInterface))
159                            out.write(" selected=\"selected\"");
160                        out.write('>');
161                        out.write(ifc);
162                        out.write("</option>\n");
163                    }
164              %>
165                </select>               
166            </div>
167         <% } /* httpbidirserver || streamrserver */ %>
168
169            <div class="subdivider">
170                <hr />
171            </div>
172           
173            <% if (("httpserver".equals(tunnelType)) || ("httpbidirserver".equals(tunnelType))) {
174          %><div id="websiteField" class="rowItem">
175                <label for="spoofedHost" accesskey="W">
176                    <%=intl._("Website name")%>(<span class="accessKey">W</span>):
177                </label>
178                <input type="text" size="20" id="targetHost" name="spoofedHost" title="Website Host Name" value="<%=editBean.getSpoofedHost(curTunnel)%>" class="freetext" />               
179                <span class="comment"><%=intl._("(leave blank for outproxies)")%></span>
180            </div>
181            <% }
182          %><div id="privKeyField" class="rowItem">
183                <label for="privKeyFile" accesskey="k">
184                    <%=intl._("Private key file")%>(<span class="accessKey">k</span>):
185                    <% String value3 = editBean.getPrivateKeyFile(curTunnel);
186                       if (value3 == null || "".equals(value3.trim())) {
187                           out.write(" <font color=\"red\">(");
188                           out.write(intl._("required"));
189                           out.write(")</font>");
190                       }
191                     %>
192                </label>
193                <input type="text" size="30" id="privKeyFile" name="privKeyFile" title="Path to Private Key File" value="<%=editBean.getPrivateKeyFile(curTunnel)%>" class="freetext" />               
194            </div>
195
196            <div id="destinationField" class="rowItem">
197                <label for="localDestination" accesskey="L">
198                    <%=intl._("Local destination")%>(<span class="accessKey">L</span>):
199                </label>
200                <textarea rows="1" style="height: 3em;" cols="60" readonly="readonly" id="localDestination" title="Read Only: Local Destination (if known)" wrap="off" spellcheck="false"><%=editBean.getDestinationBase64(curTunnel)%></textarea>               
201         <% if (!"".equals(editBean.getDestinationBase64(curTunnel))) { %>   
202            <a href="/susidns/addressbook.jsp?book=private&amp;hostname=<%=editBean.getTunnelName(curTunnel)%>&amp;destination=<%=editBean.getDestinationBase64(curTunnel)%>#add"><%=intl._("Add to local addressbook")%></a>   
203         <% } %>
204            </div>
205
206            <% if (("httpserver".equals(tunnelType)) || ("httpbidirserver".equals(tunnelType))) {
207          %><div id="sigField" class="rowItem">
208                <label for="signature">
209                    <%=intl._("Hostname Signature")%>
210                </label>
211                <input type="text" size="30" readonly="readonly" title="Use to prove that the website name is for this destination" value="<%=editBean.getNameSignature(curTunnel)%>" wrap="off" class="freetext" />               
212            </div>
213            <% } %>
214
215            <div class="footer">
216            </div>
217        </div>
218
219        <div id="tunnelAdvancedNetworking" class="panel">
220            <div class="header">
221                <h4><%=intl._("Advanced networking options")%></h4>
222            </div>
223
224            <div class="separator">
225                <hr />
226            </div>
227           
228            <div id="tunnelOptionsField" class="rowItem">
229                <label><%=intl._("Tunnel Options")%>:</label>
230            </div>
231            <div id="depthField" class="rowItem">
232                <label for="tunnelDepth" accesskey="t">
233                    <%=intl._("Length")%>(<span class="accessKey">t</span>):
234                </label>
235                <select id="tunnelDepth" name="tunnelDepth" title="Length of each Tunnel" class="selectbox">
236                    <% int tunnelDepth = editBean.getTunnelDepth(curTunnel, 2);
237                  %><option value="0"<%=(tunnelDepth == 0 ? " selected=\"selected\"" : "") %>><%=intl._("0 hop tunnel (low anonymity, low latency)")%></option>
238                    <option value="1"<%=(tunnelDepth == 1 ? " selected=\"selected\"" : "") %>><%=intl._("1 hop tunnel (medium anonymity, medium latency)")%></option>
239                    <option value="2"<%=(tunnelDepth == 2 ? " selected=\"selected\"" : "") %>><%=intl._("2 hop tunnel (high anonymity, high latency)")%></option>
240                    <option value="3"<%=(tunnelDepth == 3 ? " selected=\"selected\"" : "") %>><%=intl._("3 hop tunnel (very high anonymity, poor performance)")%></option>
241                <% if (tunnelDepth > 3) { 
242                %>    <option value="<%=tunnelDepth%>" selected="selected"><%=tunnelDepth%> <%=intl._("hop tunnel (very poor performance)")%></option>
243                <% }
244              %></select>
245            </div>
246            <div id="varianceField" class="rowItem">
247                <label for="tunnelVariance" accesskey="v">
248                    <%=intl._("Variance")%>(<span class="accessKey">V</span>):
249                </label>
250                <select id="tunnelVariance" name="tunnelVariance" title="Level of Randomization for Tunnel Depth" class="selectbox">
251                    <% int tunnelVariance = editBean.getTunnelVariance(curTunnel, 0);
252                  %><option value="0"<%=(tunnelVariance  ==  0 ? " selected=\"selected\"" : "") %>><%=intl._("0 hop variance (no randomisation, consistant performance)")%></option>
253                    <option value="1"<%=(tunnelVariance  ==  1 ? " selected=\"selected\"" : "") %>><%=intl._("+ 0-1 hop variance (medium additive randomisation, subtractive performance)")%></option>
254                    <option value="2"<%=(tunnelVariance  ==  2 ? " selected=\"selected\"" : "") %>><%=intl._("+ 0-2 hop variance (high additive randomisation, subtractive performance)")%></option>
255                    <option value="-1"<%=(tunnelVariance == -1 ? " selected=\"selected\"" : "") %>><%=intl._("+/- 0-1 hop variance (standard randomisation, standard performance)")%></option>
256                    <option value="-2"<%=(tunnelVariance == -2 ? " selected=\"selected\"" : "") %>><%=intl._("+/- 0-2 hop variance (not recommended)")%></option>
257                <% if (tunnelVariance > 2 || tunnelVariance < -2) {
258                %>    <option value="<%=tunnelVariance%>" selected="selected"><%= (tunnelVariance > 2 ? "+ " : "+/- ") %>0-<%=tunnelVariance%> <%=intl._("hop variance")%></option>
259                <% }
260              %></select>               
261            </div>
262            <div id="countField" class="rowItem">
263                <label for="tunnelQuantity" accesskey="C">
264                    <%=intl._("Count")%>(<span class="accessKey">C</span>):
265                </label>
266                <select id="tunnelQuantity" name="tunnelQuantity" title="Number of Tunnels in Group" class="selectbox">
267                    <% int tunnelQuantity = editBean.getTunnelQuantity(curTunnel, 2);
268                  %><option value="1"<%=(tunnelQuantity == 1 ? " selected=\"selected\"" : "") %>><%=intl._("1 inbound, 1 outbound tunnel  (low bandwidth usage, less reliability)")%></option>
269                    <option value="2"<%=(tunnelQuantity == 2 ? " selected=\"selected\"" : "") %>><%=intl._("2 inbound, 2 outbound tunnels (standard bandwidth usage, standard reliability)")%></option>
270                    <option value="3"<%=(tunnelQuantity == 3 ? " selected=\"selected\"" : "") %>><%=intl._("3 inbound, 3 outbound tunnels (higher bandwidth usage, higher reliability)")%></option>
271                    <option value="4"<%=(tunnelQuantity == 4 ? " selected=\"selected\"" : "") %>><%=intl._("4 in, 4 out (high traffic server)")%></option>
272                    <option value="5"<%=(tunnelQuantity == 5 ? " selected=\"selected\"" : "") %>><%=intl._("5 in, 5 out (high traffic server)")%></option>
273                    <option value="6"<%=(tunnelQuantity == 6 ? " selected=\"selected\"" : "") %>><%=intl._("6 in, 6 out (high traffic server)")%></option>
274                <% if (tunnelQuantity > 6) {
275                %>    <option value="<%=tunnelQuantity%>" selected="selected"><%=tunnelQuantity%>&nbsp;<%=intl._("tunnels")%></option>
276                <% }
277              %></select>               
278            </div>
279            <div id="backupField" class="rowItem">
280                <label for="tunnelBackupQuantity" accesskey="b">
281                    <%=intl._("Backup Count")%>(<span class="accessKey">B</span>):
282                </label>
283                <select id="tunnelBackupQuantity" name="tunnelBackupQuantity" title="Number of Reserve Tunnels" class="selectbox">
284                    <% int tunnelBackupQuantity = editBean.getTunnelBackupQuantity(curTunnel, 0);
285                  %><option value="0"<%=(tunnelBackupQuantity == 0 ? " selected=\"selected\"" : "") %>><%=intl._("0 backup tunnels (0 redundancy, no added resource usage)")%></option>
286                    <option value="1"<%=(tunnelBackupQuantity == 1 ? " selected=\"selected\"" : "") %>><%=intl._("1 backup tunnel each direction (low redundancy, low resource usage)")%></option>
287                    <option value="2"<%=(tunnelBackupQuantity == 2 ? " selected=\"selected\"" : "") %>><%=intl._("2 backup tunnels each direction (medium redundancy, medium resource usage)")%></option>
288                    <option value="3"<%=(tunnelBackupQuantity == 3 ? " selected=\"selected\"" : "") %>><%=intl._("3 backup tunnels each direction (high redundancy, high resource usage)")%></option>
289                <% if (tunnelBackupQuantity > 3) {
290                %>    <option value="<%=tunnelBackupQuantity%>" selected="selected"><%=tunnelBackupQuantity%> <%=intl._("backup tunnels")%></option>
291                <% }
292              %></select>               
293            </div>
294                           
295            <div class="subdivider">
296                <hr />
297            </div>
298           
299         <% if (!"streamrserver".equals(tunnelType)) { %>
300            <div id="profileField" class="rowItem">
301                <label for="profile" accesskey="f">
302                    <%=intl._("Profile")%>(<span class="accessKey">f</span>):
303                </label>
304                <select id="profile" name="profile" title="Connection Profile" class="selectbox">
305                    <% boolean interactiveProfile = editBean.isInteractive(curTunnel);
306                  %><option <%=(interactiveProfile == true  ? "selected=\"selected\" " : "")%>value="interactive"><%=intl._("interactive connection")%> </option>
307                    <option <%=(interactiveProfile == false ? "selected=\"selected\" " : "")%>value="bulk"><%=intl._("bulk connection (downloads/websites/BT)")%> </option>
308                </select>               
309            </div> 
310
311            <div class="subdivider">
312                <hr />
313            </div>
314         <% } /* !streamrserver */ %>
315
316            <div id="optionsField" class="rowItem">
317                <label><%=intl._("Router I2CP Address")%>:</label>
318            </div>
319            <div id="optionsHostField" class="rowItem">
320                <label for="clientHost" accesskey="o">
321                    <%=intl._("Host")%>(<span class="accessKey">o</span>):
322                </label>
323                <input type="text" id="clientHost" name="clientHost" size="20" title="I2CP Hostname or IP" value="<%=editBean.getI2CPHost(curTunnel)%>" class="freetext" <% if (editBean.isRouterContext()) { %> readonly="readonly" <% } %> />               
324            </div>
325            <div id="optionsPortField" class="rowItem">
326                <label for="clientPort" accesskey="r">
327                    <%=intl._("Port")%>(<span class="accessKey">r</span>):
328                </label>
329                <input type="text" id="clientPort" name="clientport" size="20" title="I2CP Port Number" value="<%=editBean.getI2CPPort(curTunnel)%>" class="freetext" <% if (editBean.isRouterContext()) { %> readonly="readonly" <% } %> />               
330            </div>
331           
332            <div class="subdivider">
333                <hr />
334            </div>
335           
336            <div id="optionsField" class="rowItem">
337                <label for="encrypt" accesskey="e">
338                    <%=intl._("Encrypt Leaseset")%>(<span class="accessKey">E</span>):
339                </label>
340            </div>
341            <div id="portField" class="rowItem">
342                <label for="encrypt" accesskey="e">
343                    <%=intl._("Enable")%>:
344                </label>
345                <input value="1" type="checkbox" id="startOnLoad" name="encrypt" title="ONLY clients with the encryption key will be able to connect"<%=(editBean.getEncrypt(curTunnel) ? " checked=\"checked\"" : "")%> class="tickbox" />               
346            </div>
347            <div id="portField" class="rowItem">
348                <label for="encrypt" accesskey="e">
349                    <%=intl._("Encryption Key")%>:
350                </label>
351                <textarea rows="1" style="height: 3em;" cols="44" id="portField" name="encryptKey" title="Encrypt Key" wrap="off" spellcheck="false"><%=editBean.getEncryptKey(curTunnel)%></textarea>               
352            </div>
353            <div id="portField" class="rowItem">
354                <label for="force" accesskey="c">
355                    <%=intl._("Generate New Key")%>:
356                </label>
357                <button accesskey="S" class="control" type="submit" name="action" value="Generate" title="Generate New Key Now"><%=intl._("Generate")%></button>
358                <span class="comment"><%=intl._("(Tunnel must be stopped first)")%></span>
359            </div>
360                 
361            <div class="subdivider">
362                <hr />
363            </div>
364           
365            <div id="optionsField" class="rowItem">
366                <label for="access" accesskey="s">
367                    <%=intl._("Restricted Access List")%>(<span class="accessKey">s</span>):
368                </label>
369            </div>
370            <div id="portField" class="rowItem">
371                <label><%=intl._("Disable")%></label>
372                <input value="0" type="radio" id="startOnLoad" name="accessMode" title="Allow all clients"<%=(editBean.getAccessMode(curTunnel).equals("0") ? " checked=\"checked\"" : "")%> class="tickbox" />               
373                <label><%=intl._("Whitelist")%></label>
374                <input value="1" type="radio" id="startOnLoad" name="accessMode" title="Allow listed clients only"<%=(editBean.getAccessMode(curTunnel).equals("1") ? " checked=\"checked\"" : "")%> class="tickbox" />               
375                <label><%=intl._("Blacklist")%></label>
376                <input value="2" type="radio" id="startOnLoad" name="accessMode" title="Reject listed clients"<%=(editBean.getAccessMode(curTunnel).equals("2") ? " checked=\"checked\"" : "")%> class="tickbox" />               
377            </div>
378            <div id="hostField" class="rowItem">
379                <label for="accessList" accesskey="s">
380                    <%=intl._("Access List")%>:
381                </label>
382                <textarea rows="2" style="height: 8em;" cols="60" id="hostField" name="accessList" title="Access List" wrap="off" spellcheck="false"><%=editBean.getAccessList(curTunnel)%></textarea>               
383            </div>
384                 
385            <div class="subdivider">
386                <hr />
387            </div>
388
389            <div class="rowItem">
390              <div id="optionsField" class="rowItem">
391                  <label><%=intl._("Inbound connection limits (0=unlimited)")%><br /><%=intl._("Per client")%>:</label>
392              </div>
393              <div id="portField" class="rowItem">
394                  <label><%=intl._("Per minute")%>:</label>
395                  <input type="text" id="port" name="limitMinute" value="<%=editBean.getLimitMinute(curTunnel)%>" class="freetext" />               
396              </div>
397              <div id="portField" class="rowItem">
398                  <label><%=intl._("Per hour")%>:</label>
399                  <input type="text" id="port" name="limitHour" value="<%=editBean.getLimitHour(curTunnel)%>" class="freetext" />               
400              </div>
401              <div id="portField" class="rowItem">
402                  <label><%=intl._("Per day")%>:</label>
403                  <input type="text" id="port" name="limitDay" value="<%=editBean.getLimitDay(curTunnel)%>" class="freetext" />               
404              </div>
405            </div>
406            <div class="rowItem">
407              <div id="optionsField" class="rowItem">
408                  <label><%=intl._("Total")%>:</label>
409              </div>
410              <div id="portField" class="rowItem">
411                  <input type="text" id="port" name="totalMinute" value="<%=editBean.getTotalMinute(curTunnel)%>" class="freetext" />               
412              </div>
413              <div id="portField" class="rowItem">
414                  <input type="text" id="port" name="totalHour" value="<%=editBean.getTotalHour(curTunnel)%>" class="freetext" />               
415              </div>
416              <div id="portField" class="rowItem">
417                  <input type="text" id="port" name="totalDay" value="<%=editBean.getTotalDay(curTunnel)%>" class="freetext" />               
418              </div>
419            </div>
420            <div class="rowItem">
421              <div id="optionsField" class="rowItem">
422                  <label><%=intl._("Max concurrent connections (0=unlimited)")%>:</label>
423              </div>
424              <div id="portField" class="rowItem">
425                  <input type="text" id="port" name="maxStreams" value="<%=editBean.getMaxStreams(curTunnel)%>" class="freetext" />               
426              </div>
427            </div>
428
429            <div class="subdivider">
430                <hr />
431            </div>
432           
433            <div id="optionsField" class="rowItem">
434                <label for="reduce" accesskey="d">
435                    <%=intl._("Reduce tunnel quantity when idle")%>(<span class="accessKey">d</span>):
436                </label>
437            </div>
438            <div id="portField" class="rowItem">
439                <label for="access" accesskey="d">
440                    <%=intl._("Enable")%>:
441                </label>
442                <input value="1" type="checkbox" id="startOnLoad" name="reduce" title="Reduce Tunnels"<%=(editBean.getReduce(curTunnel) ? " checked=\"checked\"" : "")%> class="tickbox" />               
443            </div>
444            <div id="portField" class="rowItem">
445                <label for="reduceCount" accesskey="d">
446                    <%=intl._("Reduced tunnel count")%>:
447                </label>
448                <input type="text" id="port" name="reduceCount" size="1" maxlength="1" title="Reduced Tunnel Count" value="<%=editBean.getReduceCount(curTunnel)%>" class="freetext" />               
449            </div>
450            <div id="portField" class="rowItem">
451                <label for="reduceTime" accesskey="d">
452                    <%=intl._("Idle minutes")%>:
453                </label>
454                <input type="text" id="port" name="reduceTime" size="4" maxlength="4" title="Reduced Tunnel Idle Time" value="<%=editBean.getReduceTime(curTunnel)%>" class="freetext" />               
455            </div>
456
457            <div class="subdivider">
458                <hr />
459            </div>
460           
461            <div id="tunnelOptionsField" class="rowItem">
462                <label for="cert" accesskey="c">
463                    <%=intl._("New Certificate type")%>(<span class="accessKey">C</span>):
464                </label>
465            </div>
466            <div id="hostField" class="rowItem">
467              <div id="portField" class="rowItem">
468                <label><%=intl._("None")%></label>
469                <input value="0" type="radio" id="startOnLoad" name="cert" title="No Certificate"<%=(editBean.getCert(curTunnel)==0 ? " checked=\"checked\"" : "")%> class="tickbox" />               
470              </div>
471              <div id="portField" class="rowItem">
472                <label><%=intl._("Hashcash (effort)")%></label>
473                <input value="1" type="radio" id="startOnLoad" name="cert" title="Hashcash Certificate"<%=(editBean.getCert(curTunnel)==1 ? " checked=\"checked\"" : "")%> class="tickbox" />               
474                <input type="text" id="port" name="effort" size="2" maxlength="2" title="Hashcash Effort" value="<%=editBean.getEffort(curTunnel)%>" class="freetext" />               
475              </div>
476            </div>
477            <div id="portField" class="rowItem">
478                <label for="force" accesskey="c">
479                    <%=intl._("Hashcash Calc Time")%>:
480                </label>
481                <button accesskey="S" class="control" type="submit" name="action" value="Estimate" title="Estimate Calculation Time"><%=intl._("Estimate")%></button>
482            </div>
483            <div id="hostField" class="rowItem">
484              <div id="portField" class="rowItem">
485                <label><%=intl._("Hidden")%></label>
486                <input value="2" type="radio" id="startOnLoad" name="cert" title="Hidden Certificate"<%=(editBean.getCert(curTunnel)==2 ? " checked=\"checked\"" : "")%> class="tickbox" />               
487              </div>
488              <div id="portField" class="rowItem">
489                <label for="signer" accesskey="c">
490                    <%=intl._("Signed (signed by)")%>:
491                </label>
492                <input value="3" type="radio" id="startOnLoad" name="cert" title="Signed Certificate"<%=(editBean.getCert(curTunnel)==3 ? " checked=\"checked\"" : "")%> class="tickbox" />               
493                <input type="text" id="port" name="signer" size="50" title="Cert Signer" value="<%=editBean.getSigner(curTunnel)%>" class="freetext" />               
494              </div>
495            </div>
496            <div id="portField" class="rowItem">
497                <label for="force" accesskey="c">
498                    <%=intl._("Modify Certificate")%>:
499                </label>
500                <button accesskey="S" class="control" type="submit" name="action" value="Modify" title="Force New Cert Now"><%=intl._("Modify")%></button>
501                <span class="comment"><%=intl._("(Tunnel must be stopped first)")%></span>
502            </div>
503                 
504            <div class="subdivider">
505                <hr />
506            </div>
507                 
508            <div id="customOptionsField" class="rowItem">
509                <label for="customOptions" accesskey="u">
510                    <%=intl._("Custom options")%>(<span class="accessKey">u</span>):
511                </label>
512                <input type="text" id="customOptions" name="customOptions" size="60" title="Custom Options" value="<%=editBean.getCustomOptions(curTunnel)%>" class="freetext" />               
513            </div>
514           
515            <div class="footer">
516            </div>
517        </div>
518        <div id="globalOperationsPanel" class="panel">
519            <div class="header"></div>
520            <div class="footer">
521                <div class="toolbox">
522                    <input type="hidden" value="true" name="removeConfirm" />
523                    <button id="controlCancel" class="control" type="submit" name="action" value="" title="Cancel"><%=intl._("Cancel")%></button>
524                    <button id="controlDelete" <%=(editBean.allowJS() ? "onclick=\"if (!confirm('Are you sure you want to delete?')) { return false; }\" " : "")%>accesskey="D" class="control" type="submit" name="action" value="Delete this proxy" title="Delete this Proxy"><%=intl._("Delete")%>(<span class="accessKey">D</span>)</button>
525                    <button id="controlSave" accesskey="S" class="control" type="submit" name="action" value="Save changes" title="Save Changes"><%=intl._("Save")%>(<span class="accessKey">S</span>)</button>
526                </div>
527            </div> 
528        </div>
529    </form>
530    <div id="pageFooter">
531    </div>
532<%
533
534  } else {
535     %>Tunnels are not initialized yet, please reload in two minutes.<%
536  }  // isInitialized()
537
538%>
539</body>
540</html>
Note: See TracBrowser for help on using the repository browser.