Changeset dd5f8b45


Ignore:
Timestamp:
Apr 11, 2019 2:00:42 PM (15 months ago)
Author:
zzz <zzz@…>
Branches:
master
Children:
73790e23
Parents:
2960156
Message:

i2ptunnel: jsp whitespace removal

Location:
apps/i2ptunnel/jsp
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • apps/i2ptunnel/jsp/editClient.jsi

    r2960156 rdd5f8b45  
    1                 <%
     1<%
    22                String tunnelTypeName;
    33                String tunnelType;
     
    1414                <input type="hidden" name="nonce" value="<%=net.i2p.i2ptunnel.web.IndexBean.getNextNonce()%>" />
    1515                <input type="hidden" name="type" value="<%=tunnelType%>" />
    16                 <%
     16<%
    1717                // these are four keys that are generated automatically on first save,
    1818                // and we want to persist in i2ptunnel.config, but don't want to
     
    2121                if (key != null && key.length() > 0) { %>
    2222                    <input type="hidden" name="key1" value="<%=key%>" />
    23                 <% }
     23<%              }
    2424                key = editBean.getKey2(curTunnel);
    2525                if (key != null && key.length() > 0) { %>
    2626                    <input type="hidden" name="key2" value="<%=key%>" />
    27                 <% }
     27<%              }
    2828                key = editBean.getKey3(curTunnel);
    2929                if (key != null && key.length() > 0) { %>
    3030                    <input type="hidden" name="key3" value="<%=key%>" />
    31                 <% }
     31<%              }
    3232                key = editBean.getKey4(curTunnel);
    3333                if (key != null && key.length() > 0) { %>
    3434                    <input type="hidden" name="key4" value="<%=key%>" />
    35                 <% } %>
     35<%              }
     36%>
    3637                <input type="submit" class="default" name="action" value="Save changes" />
    37 
    3838    <table id="clientTunnelEdit" class="tunnelConfig">
    3939        <tr>
    4040            <th>
    4141                <%=intl._t("Name")%>
    42             </th>
    43             <th>
     42            </th><th>
    4443                <%=intl._t("Type")%>
    4544            </th>
    46         </tr>
    47         <tr>
     45        </tr><tr>
    4846            <td>
    4947                <input type="text" size="30" maxlength="50" name="name" title="<%=intl._t("Name of tunnel to be displayed on Tunnel Manager home page and the router console sidebar")%>" value="<%=editBean.getTunnelName(curTunnel)%>" class="freetext tunnelName" />
    50             </td>
    51             <td>
     48            </td><td>
    5249                <%=tunnelTypeName%>
    5350            </td>
    54         </tr>
    55 
    56         <tr>
     51        </tr><tr>
    5752            <th>
    5853                <%=intl._t("Description")%>
    59             </th>
    60 
    61             <th>
     54            </th><th>
    6255                <%=intl._t("Auto Start Tunnel")%>
    6356            </th>
    64         </tr>
    65 
    66         <tr>
     57        </tr><tr>
    6758            <td>
    6859                <input type="text" size="60" maxlength="80" name="nofilter_description" title="<%=intl._t("Description of tunnel to be displayed on Tunnel Manager home page")%>" value="<%=editBean.getTunnelDescription(curTunnel)%>" class="freetext tunnelDescription" />
    69             </td>
    70 
    71             <td>
     60            </td><td>
    7261                <label title="<%=intl._t("Enable this option to ensure this service is available when the router starts")%>"><input value="1" type="checkbox" name="startOnLoad"<%=(editBean.startAutomatically(curTunnel) ? " checked=\"checked\"" : "")%> class="tickbox" />
    7362                <%=intl._t("Automatically start tunnel when router starts")%></label>
    7463            </td>
    75         </tr>
    76 
    77         <tr>
    78             <th colspan="2">
    79          <% if ("streamrclient".equals(tunnelType)) { %>
     64        </tr><tr>
     65            <th colspan="2">
     66<%          if ("streamrclient".equals(tunnelType)) { %>
    8067                <%=intl._t("Target")%>
    81          <% } else { %>
     68<%          } else { %>
    8269                <%=intl._t("Access Point")%>
    83          <% } /* streamrclient */ %>
    84             </th>
    85         </tr>
    86         <tr>
     70<%          } /* streamrclient */ %>
     71            </th>
     72        </tr><tr>
    8773            <td>
    8874                <b><%=intl._t("Port")%>:</b>
    89                     <% String value = editBean.getClientPort(curTunnel);
     75<%
     76                       String value = editBean.getClientPort(curTunnel);
    9077                       if (value == null || "".equals(value.trim())) {
    9178                           out.write(" <span class=\"required\"><font color=\"red\">(");
     
    9380                           out.write(")</font></span>");
    9481                       }
    95                      %>
     82%>
    9683                <input type="text" size="6" maxlength="5" name="port" title="<%=intl._t("Specify the local port this service should be accessible from")%>" value="<%=editBean.getClientPort(curTunnel)%>" class="freetext port" placeholder="required" />
    9784            </td>
    98 
    99          <%
    100             if ("streamrclient".equals(tunnelType)) { %>
     85<%
     86            if ("streamrclient".equals(tunnelType)) {
     87%>
    10188            <td>
    10289                <b><%=intl._t("Host")%>:</b>
    103                     <%
     90<%
    10491                       String targetHost = editBean.getTargetHost(curTunnel);
    10592                       if (targetHost == null || "".equals(targetHost.trim())) {
     
    10895                           out.write(")</font></span>");
    10996                       }
    110           %>
    111 
     97%>
    11298                <input type="text" size="20" id="targetHost" name="targetHost" title="<%=intl._t("Hostname or IP address of the target server")%>" value="<%=targetHost%>" class="freetext host" placeholder="required" />
    11399            </td>
    114          <% } else { %>
    115 
     100<%
     101            } else {
     102%>
    116103            <td>
    117104                <b><%=intl._t("Reachable by")%>:</b>
    118 
    119105                <select id="reachableBy" name="reachableBy" title="<%=intl._t("Local interface (ip address) the client tunnel will be reachable from")%>" class="selectbox">
    120               <%
     106<%
    121107                    String clientInterface = editBean.getClientInterface(curTunnel);
    122108                    for (String ifc : editBean.interfaceSet()) {
     
    130116                        out.write("</option>\n");
    131117                    }
    132               %>
     118%>
    133119                </select>
    134120            </td>
    135121         <% } /* streamrclient */ %>
    136122        </tr>
    137 
    138          <% if ("client".equals(tunnelType) || "ircclient".equals(tunnelType)) {
    139           %>
     123<%
     124           if ("client".equals(tunnelType) || "ircclient".equals(tunnelType)) {
     125%>
    140126        <tr>
    141127            <th colspan="2">
    142128                    <%=intl._t("Use SSL?")%>
    143129            </th>
    144         </tr>
    145         <tr>
     130        </tr><tr>
    146131            <td colspan="2">
    147132                <label title="<%=intl._t("If you are accessing a service on a remote I2P router, you may wish to connect with SSL to avoid traffic interception. The client application should be also be configured to use SSL.")%>"><input value="1" type="checkbox" name="useSSL" <%=(editBean.isSSLEnabled(curTunnel) ? " checked=\"checked\"" : "")%> class="tickbox" />
     
    149134            </td>
    150135        </tr>
    151          <% } /* tunnel types */ %>
    152 
    153             <% if ("httpclient".equals(tunnelType) || "connectclient".equals(tunnelType) || "sockstunnel".equals(tunnelType) || "socksirctunnel".equals(tunnelType)) {
    154           %>
     136<%
     137            } /* tunnel types */
     138
     139            if ("httpclient".equals(tunnelType) || "connectclient".equals(tunnelType) || "sockstunnel".equals(tunnelType) || "socksirctunnel".equals(tunnelType)) {
     140%>
    155141        <tr>
    156142            <th colspan="2">
    157143                    <%=intl._t("Outproxies")%>
    158144            </th>
    159         </tr>
    160         <tr>
     145        </tr><tr>
    161146            <td colspan="2">
    162147                <input type="text" size="30" name="proxyList" title="<%=intl._t("Specify the .i2p address or destination (b32 or b64) of the outproxy here.")%>&nbsp;<%=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" />
    163148            </td>
    164149        </tr>
    165 
    166               <% if ("httpclient".equals(tunnelType)) {
    167                  %>
     150<%
     151                if ("httpclient".equals(tunnelType)) {
     152%>
    168153        <tr>
    169154            <th colspan="2">
    170155                       <%=intl._t("SSL Outproxies")%>
    171156            </th>
    172         </tr>
    173         <tr>
     157        </tr><tr>
    174158            <td colspan="2">
    175159                   <input type="text" size="30" name="sslProxies" title="<%=intl._t("Specify the .i2p address or destination (b32 or b64) of the outproxy here.")%>&nbsp;<%=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" />
    176160            </td>
    177161        </tr>
    178 
    179               <% }  // httpclient %>
     162<%
     163                 }  // httpclient
     164%>
    180165        <tr>
    181166            <th colspan="2">
    182167                    <%=intl._t("Use Outproxy Plugin")%>
    183 
    184             </th>
    185         </tr>
    186         <tr>
    187             <td colspan="2">
    188 
     168            </th>
     169        </tr><tr>
     170            <td colspan="2">
    189171                <label title="<%=intl._t("If an outproxy plugin is installed (e.g. Orchid), use this instead of any configured outproxies to access websites outside of I2P")%>"><input value="1" type="checkbox" name="useOutproxyPlugin" <%=(editBean.getUseOutproxyPlugin(curTunnel) ? " checked=\"checked\"" : "")%> class="tickbox" />
    190172<%=intl._t("Use plugin instead of above-listed proxies if available")%></label>
    191173            </td>
    192174        </tr>
    193             <% } else if ("client".equals(tunnelType) || "ircclient".equals(tunnelType) || "streamrclient".equals(tunnelType)) {
    194           %>
     175<%
     176               } else if ("client".equals(tunnelType) || "ircclient".equals(tunnelType) || "streamrclient".equals(tunnelType)) {
     177%>
    195178        <tr>
    196179            <th colspan="2">
    197180                    <%=intl._t("Tunnel Destination")%>
    198181            </th>
    199         </tr>
    200         <tr>
     182        </tr><tr>
    201183            <td colspan="2">
    202184                    <% String value2 = editBean.getClientDestination(curTunnel);
     
    206188                           out.write(")</font></span>");
    207189                       }
    208                      %>
    209 
     190%>
    210191                <input type="text" size="30" id="targetDestination" name="targetDestination" title="<%=intl._t("Specify the .i2p address or destination (b32 or b64) of the tunnel here.")%>&nbsp;<%=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" />
    211192                (<%=intl._t("name, name:port, or destination")%>
    212                      <% if ("streamrclient".equals(tunnelType)) { /* deferred resolution unimplemented in streamr client */ %>
     193<%
     194                        if ("streamrclient".equals(tunnelType)) {
     195                            /* deferred resolution unimplemented in streamr client */
     196%>
    213197                         - <%=intl._t("b32 not recommended")%>
    214                      <% } %> )
    215             </td>
    216         </tr>
    217 
    218          <% } %>
    219 
    220          <% if (!"streamrclient".equals(tunnelType)) { %>
     198<%
     199                        }
     200%> )
     201            </td>
     202        </tr>
     203<%
     204            }
     205
     206            if (!"streamrclient".equals(tunnelType)) {
     207%>
    221208        <tr>
    222209            <th colspan="2">
    223210                <%=intl._t("Shared Client")%>
    224211            </th>
    225         </tr>
    226         <tr>
     212        </tr><tr>
    227213            <td colspan="2">
    228214                <label title="<%=intl._t("Traffic from all clients with this feature enabled will be routed over the same set of tunnels. This will make profiling the tunnels by an adversary more difficult, but will link the clients together.")%>"><input value="true" type="checkbox" name="shared"<%=(editBean.isSharedClient(curTunnel) ? " checked=\"checked\"" : "")%> class="tickbox" />
     
    230216            </td>
    231217        </tr>
    232 
    233          <% } // !streamrclient %>
    234 
    235          <% if ("ircclient".equals(tunnelType)) { %>
     218<%
     219            } // !streamrclient
     220
     221            if ("ircclient".equals(tunnelType)) {
     222%>
    236223        <tr>
    237224            <th colspan="2">
    238225                    <%=intl._t("Enable DCC")%>
    239226            </th>
    240         </tr>
    241         <tr>
     227        </tr><tr>
    242228            <td colspan="2">
    243229                <label title="<%=intl._t("Enables direct chat and file transfers, bypassing I2P")%>"><input value="1" type="checkbox" name="DCC"<%=(editBean.getDCC(curTunnel) ? " checked=\"checked\"" : "")%> class="tickbox" />
     
    245231            </td>
    246232        </tr>
    247 
    248          <% } // ircclient %>
     233<%
     234            } // ircclient
     235%>
    249236    </table>
    250 
    251237    <h3><%=intl._t("Advanced networking options")%></h3>
    252 
    253238    <table class="tunnelConfig">
    254 
    255 
    256 <% if (!"streamrclient".equals(tunnelType)) { %> <% // no shared client tunnels for streamr %>
     239<%
     240            if (!"streamrclient".equals(tunnelType)) {
     241               // no shared client tunnels for streamr
     242%>
    257243        <tr>
    258244            <td class="infohelp" colspan="2">
     
    260246            </td>
    261247        </tr>
    262          <% } // !streamrclient %>
     248<%
     249            } // !streamrclient
     250%>
    263251        <tr>
    264252            <th colspan="2">
    265253                <%=intl._t("Tunnel Options")%>
    266254            </th>
    267         </tr>
    268         <tr>
     255        </tr><tr>
    269256            <td>
    270257                <b><%=intl._t("Length")%></b>
    271             </td>
    272 
    273             <td>
     258            </td><td>
    274259                <b><%=intl._t("Variance")%></b>
    275260            </td>
    276         </tr>
    277 
    278         <tr>
     261        </tr><tr>
    279262            <td>
    280263                <select id="tunnelDepth" name="tunnelDepth" title="<%=intl._t("Length of each Tunnel")%>" class="selectbox">
    281                     <% int tunnelDepth = editBean.getTunnelDepth(curTunnel, 3);
     264<%
     265                       int tunnelDepth = editBean.getTunnelDepth(curTunnel, 3);
    282266                  %><option value="0"<%=(tunnelDepth == 0 ? " selected=\"selected\"" : "") %>><%=intl._t("0 hop tunnel (no anonymity)")%></option>
    283267                    <option value="1"<%=(tunnelDepth == 1 ? " selected=\"selected\"" : "") %>><%=intl._t("1 hop tunnel (low anonymity)")%></option>
    284268                    <option value="2"<%=(tunnelDepth == 2 ? " selected=\"selected\"" : "") %>><%=intl._t("2 hop tunnel (medium anonymity)")%></option>
    285269                    <option value="3"<%=(tunnelDepth == 3 ? " selected=\"selected\"" : "") %>><%=intl._t("3 hop tunnel (high anonymity)")%></option>
    286                 <% if (editBean.isAdvanced()) {
     270<%                if (editBean.isAdvanced()) {
    287271                  %><option value="4"<%=(tunnelDepth == 4 ? " selected=\"selected\"" : "") %>>4 hop tunnel</option>
    288272                    <option value="5"<%=(tunnelDepth == 5 ? " selected=\"selected\"" : "") %>>5 hop tunnel</option>
    289273                    <option value="6"<%=(tunnelDepth == 6 ? " selected=\"selected\"" : "") %>>6 hop tunnel</option>
    290274                    <option value="7"<%=(tunnelDepth == 7 ? " selected=\"selected\"" : "") %>>7 hop tunnel</option>
    291                 <% } else if (tunnelDepth > 3) {
     275<%
     276                   } else if (tunnelDepth > 3) {
    292277                %>    <option value="<%=tunnelDepth%>" selected="selected"><%=tunnelDepth%> <%=intl._t("hop tunnel (very poor performance)")%></option>
    293                 <% }
     278<%
     279                   }
    294280              %></select>
    295             </td>
    296 
    297             <td>
     281            </td><td>
    298282                <select id="tunnelVariance" name="tunnelVariance" title="<%=intl._t("Level of Randomization for Tunnel Length")%>" class="selectbox">
    299283                    <% int tunnelVariance = editBean.getTunnelVariance(curTunnel, 0);
     
    308292              %></select>
    309293            </td>
    310         </tr>
    311         <tr>
     294        </tr><tr>
    312295            <td>
    313296                <b><%=intl._t("Count")%></b>
    314             </td>
    315 
    316             <td>
     297            </td><td>
    317298                <b><%=intl._t("Backup Count")%></b>
    318299            </td>
    319         </tr>
    320 
    321         <tr>
     300        </tr><tr>
    322301            <td>
    323302                <select id="tunnelQuantity" name="tunnelQuantity" title="<%=intl._t("Number of Tunnels in Group")%>" class="selectbox">
    324303                    <%=editBean.getQuantityOptions(curTunnel, 0)%>
    325304                </select>
    326             </td>
    327 
    328             <td>
     305            </td><td>
    329306                <select id="tunnelBackupQuantity" name="tunnelBackupQuantity" title="<%=intl._t("Number of Reserve Tunnels")%>" class="selectbox">
    330                     <% int tunnelBackupQuantity = editBean.getTunnelBackupQuantity(curTunnel, 0);
     307<%
     308                       int tunnelBackupQuantity = editBean.getTunnelBackupQuantity(curTunnel, 0);
    331309                  %><option value="0"<%=(tunnelBackupQuantity == 0 ? " selected=\"selected\"" : "") %>><%=intl._t("0 backup tunnels (0 redundancy, no added resource usage)")%></option>
    332310                    <option value="1"<%=(tunnelBackupQuantity == 1 ? " selected=\"selected\"" : "") %>><%=intl._t("1 backup tunnel each direction (low redundancy, low resource usage)")%></option>
    333311                    <option value="2"<%=(tunnelBackupQuantity == 2 ? " selected=\"selected\"" : "") %>><%=intl._t("2 backup tunnels each direction (medium redundancy, medium resource usage)")%></option>
    334312                    <option value="3"<%=(tunnelBackupQuantity == 3 ? " selected=\"selected\"" : "") %>><%=intl._t("3 backup tunnels each direction (high redundancy, high resource usage)")%></option>
    335                 <% if (tunnelBackupQuantity > 3) {
     313<%
     314                   if (tunnelBackupQuantity > 3) {
    336315                %>    <option value="<%=tunnelBackupQuantity%>" selected="selected"><%=tunnelBackupQuantity%> <%=intl._t("backup tunnels")%></option>
    337                 <% }
     316<%
     317                   }
    338318              %></select>
    339319            </td>
    340320        </tr>
    341 
    342 
    343          <% if (!"streamrclient".equals(tunnelType)) { %>
     321<%
     322            if (!"streamrclient".equals(tunnelType)) {
     323%>
    344324        <tr>
    345325            <th>
    346326                <%=intl._t("Profile")%>
    347             </th>
    348 
    349             <th>
     327            </th><th>
    350328                <%=intl._t("Delay Connect")%>
    351329            </th>
    352 
    353         </tr>
    354 
    355         <tr>
     330        </tr><tr>
    356331            <td>
    357332                <select id="connectionProfile" name="profile" title="<%=intl._t("Connection Profile")%>" class="selectbox">
     
    360335                    <option <%=(interactiveProfile == false ? "selected=\"selected\" " : "")%>value="bulk"><%=intl._t("bulk connection (downloads/websites/BT)")%> </option>
    361336                </select>
    362             </td>
    363 
    364             <td>
     337            </td><td>
    365338                <label title="<%=intl._t("Delay Connection")%>"><input value="1000" type="checkbox" name="connectDelay"<%=(editBean.shouldDelay(curTunnel) ? " checked=\"checked\"" : "")%> class="tickbox" />
    366339                (<%=intl._t("for request/response connections")%>)</label> <% // TODO: Convey to users: Where is the (1s) delay introduced? What is the difference between delay connect and delay open? %>
    367340            </td>
    368341        </tr>
    369          <% } // !streamrclient %>
    370 
     342<%
     343            } // !streamrclient
     344%>
    371345        <tr>
    372346            <th colspan="2">
    373347                <%=intl._t("Router I2CP Address")%>
    374348            </th>
    375         </tr>
    376 
    377         <tr>
     349        </tr><tr>
    378350            <td>
    379351                <b><%=intl._t("Host")%>:</b>
    380352                <input type="text" name="clientHost" size="20" title="<%=intl._t("I2CP Hostname or IP")%>" value="<%=editBean.getI2CPHost(curTunnel)%>" class="freetext host" <% if (editBean.isRouterContext()) { %> readonly="readonly" <% } %> />
    381             </td>
    382 
    383 
    384             <td>
     353            </td><td>
    385354                <b><%=intl._t("Port")%>:</b>
    386355                <input type="text" name="clientport" size="20" title="<%=intl._t("I2CP Port Number")%>" value="<%=editBean.getI2CPPort(curTunnel)%>" class="freetext port" <% if (editBean.isRouterContext()) { %> readonly="readonly" <% } %> />
    387356            </td>
    388357        </tr>
    389 
    390          <% if (!"streamrclient".equals(tunnelType)) { // streamr client sends pings so it will never be idle %>
    391 
     358<%
     359            if (!"streamrclient".equals(tunnelType)) {
     360                // streamr client sends pings so it will never be idle
     361%>
    392362        <tr>
    393363            <th colspan="2">
    394364                <%=intl._t("Delay tunnel open until required")%>
    395365            </th>
    396         </tr>
    397 
    398         <tr>
     366        </tr><tr>
    399367            <td colspan="2">
    400368                <label title="<%=intl._t("Conserve resources by only creating tunnels when required")%>"><input value="1" type="checkbox" name="delayOpen"<%=(editBean.getDelayOpen(curTunnel) ? " checked=\"checked\"" : "")%> class="tickbox" />
     
    402370            </td>
    403371        </tr>
    404 
    405          <% } // !streamrclient %>
    406 
     372<%
     373            } // !streamrclient
     374%>
    407375        <tr>
    408376            <th colspan="2">
    409377                <%=intl._t("Reduce tunnel quantity when idle")%>
    410378            </th>
    411         </tr>
    412 
    413         <tr>
     379        </tr><tr>
    414380            <td colspan="2">
    415381                <label title="<%=intl._t("Reduce tunnel count when idle but keep tunnel open (to ensure immediate availability)")%>"><input value="1" type="checkbox" name="reduce"<%=(editBean.getReduce(curTunnel) ? " checked=\"checked\"" : "")%> class="tickbox" />
    416382                <%=intl._t("Reduce tunnel quantity when idle to conserve resources")%></label>
    417383            </td>
    418         </tr>
    419 
    420         <tr>
     384        </tr><tr>
    421385            <td>
    422386                <b><%=intl._t("Reduced tunnel count")%>:</b>
    423387                <input type="text" id="reducedTunnelCount" name="reduceCount" size="1" maxlength="1" title="<%=intl._t("Reduced tunnel count")%>" value="<%=editBean.getReduceCount(curTunnel)%>" class="freetext quantity" />
    424             </td>
    425 
    426             <td>
     388            </td><td>
    427389                <b><%=intl._t("Idle period")%>:</b>
    428390                <input type="text" name="reduceTime" size="4" maxlength="4" title="<%=intl._t("Reduced Tunnel Idle Time")%>" value="<%=editBean.getReduceTime(curTunnel)%>" class="freetext period" />
    429391                minutes
    430392            </td>
    431         </tr>
    432 
    433         <tr>
     393        </tr><tr>
    434394            <th colspan="2">
    435395                <%=intl._t("Close tunnels when idle")%>
    436396            </th>
    437         </tr>
    438 
    439         <tr>
     397        </tr><tr>
    440398            <td>
    441399                <label title="<%=intl._t("To conserve resources, close tunnels when not in use")%>"><input value="1" type="checkbox" name="close"<%=(editBean.getClose(curTunnel) ? " checked=\"checked\"" : "")%> class="tickbox" />
    442400                <%=intl._t("Close client tunnels after specified idle period")%></label>
    443             </td>
    444 
    445             <td>
     401            </td><td>
    446402                <b><%=intl._t("Idle period")%>:</b>
    447403                <input type="text" name="closeTime" size="4" maxlength="4" title="<%=intl._t("Close Tunnel Idle Time")%>" value="<%=editBean.getCloseTime(curTunnel)%>" class="freetext period" />
    448404                minutes
    449405            </td>
    450         </tr>
    451 
    452         <tr>
     406        </tr><tr>
    453407            <td colspan="2">
    454408                <b><%=intl._t("New Keys on Reopen")%>:</b>
     
    465419            </td>
    466420        </tr>
    467 
    468          <% if ("client".equals(tunnelType) || "ircclient".equals(tunnelType) || "socksirctunnel".equals(tunnelType) || "sockstunnel".equals(tunnelType)) { %>
    469 
     421<%
     422            if ("client".equals(tunnelType) || "ircclient".equals(tunnelType) || "socksirctunnel".equals(tunnelType) || "sockstunnel".equals(tunnelType)) {
     423%>
    470424        <tr>
    471425            <th colspan="2">
    472426                <%=intl._t("Persistent private key")%>
    473427            </th>
    474         </tr>
    475         <tr>
     428        </tr><tr>
    476429            <td>
    477430                <label title="<%=intl._t("Enabling this feature will ensure your tunnel identity (destination) remains static, for services offering features based on destination e.g. IRC user authentication")%>"><input value="2" type="radio" name="newDest"
    478431                     <%=(editBean.getPersistentClientKey(curTunnel) ? " checked=\"checked\"" : "")%> class="tickbox" />
    479432                <%=intl._t("Generate key to enable persistent client tunnel identity")%></label>
    480             </td>
    481             <td>
     433            </td><td>
    482434                <b><%=intl._t("File")%>:</b>
    483435                <input type="text" size="30" id="privKeyFile" name="privKeyFile" title="<%=intl._t("Path to Private Key File")%>" value="<%=editBean.getPrivateKeyFile(curTunnel)%>" class="freetext" />
    484436            </td>
    485437        </tr>
    486          <%
     438<%
    487439            String destb64 = editBean.getDestinationBase64(curTunnel);
    488440            if (destb64.length() > 0) {
    489            %>
    490 
     441%>
    491442        <tr>
    492443            <td colspan="2">
    493444                <b><%=intl._t("Local destination")%></b>
    494445            </td>
    495         </tr>
    496 
    497         <tr>
     446        </tr><tr>
    498447            <td colspan="2">
    499448                <div class="displayText" title="<%=intl._t("Read Only: Local Destination (if known)")%>" tabindex="0" onblur="resetScrollLeft(this)"><%=destb64%></div>
    500449            </td>
    501         </tr>
    502 
    503         <tr>
     450        </tr><tr>
    504451            <td colspan="2">
    505452                <b><%=intl._t("Local Base 32")%>:</b>&nbsp;
     
    507454            </td>
    508455        </tr>
    509 
    510          <% } // if destb64  %>
    511          <% } %>
    512 
    513          <% if ("httpclient".equals(tunnelType)) { %>
    514 
     456<%
     457              } // if destb64
     458            }
     459
     460            if ("httpclient".equals(tunnelType)) {
     461%>
    515462        <tr>
    516463            <th colspan="2">
    517464                <%=intl._t("HTTP Filtering")%>
    518465            </th>
    519         </tr>
    520 
    521         <tr>
     466        </tr><tr>
    522467            <td>
    523468                <label title="<%=intl._t("When enabled, the user agent of your web browser or http client will not be spoofed, potentially reducing your anonymity")%>"><input value="1" type="checkbox" name="allowUserAgent"<%=(editBean.getAllowUserAgent(curTunnel) ? " checked=\"checked\"" : "")%> class="tickbox" />
    524469                <%=intl._t("Do not spoof User-Agent header")%></label>
    525             </td>
    526             <td>
     470            </td><td>
    527471                <label title="<%=intl._t("When enabled, the referer (originating page) of your web requests will not be filtered, potentially reducing your anonymity")%>"><input value="1" type="checkbox" name="allowReferer"<%=(editBean.getAllowReferer(curTunnel) ? " checked=\"checked\"" : "")%> class="tickbox" />
    528472                <%=intl._t("Do not block Referer header")%></label>
    529473            </td>
    530         </tr>
    531 
    532         <tr>
     474        </tr><tr>
    533475            <td>
    534476                <label title="<%=intl._t("When enabled, the accept headers (mime types support) broadcast by your web browser will not be filtered, potentially reducing your anonymity")%>"><input value="1" type="checkbox" name="allowAccept"<%=(editBean.getAllowAccept(curTunnel) ? " checked=\"checked\"" : "")%> class="tickbox" />
    535477<%=intl._t("Do not block Accept headers")%></label>
    536             </td>
    537 
    538             <td>
     478            </td><td>
    539479                <label title="<%=intl._t("Allow SSL to I2P addresses when enabled")%>"><input value="1" type="checkbox" name="allowInternalSSL"<%=(editBean.getAllowInternalSSL(curTunnel) ? " checked=\"checked\"" : "")%> class="tickbox" />
    540480                <%=intl._t("Allow SSL to I2P addresses")%></label>
    541481            </td>
    542482        </tr>
    543          <% } // if httpclient %>
    544 
    545          <% if (true /* editBean.isAdvanced() */ ) {
     483<%
     484            } // if httpclient
     485
     486            if (true /* editBean.isAdvanced() */ ) {
    546487                int currentSigType = editBean.getSigType(curTunnel, tunnelType);
    547488                String disabled = editBean.canChangeSigType(curTunnel) ? "" : " disabled=\"disabled\" ";
    548            %>
     489%>
    549490        <tr>
    550491            <th colspan="2">
    551492                <%=intl._t("Signature type")%> <%-- (<%=intl._t("Experts only!")%>) --%>
    552493            </th>
    553         </tr>
    554 
    555         <tr>
     494        </tr><tr>
    556495            <td colspan="2">
    557496                <span class="multiOption">
     
    559498                    DSA-SHA1</label>
    560499                </span>
    561 
    562            <% if (editBean.isSigTypeAvailable(1)) { %>
    563 
     500<%
     501              if (editBean.isSigTypeAvailable(1)) {
     502%>
    564503                <span class="multiOption">
    565504                    <label><input value="1" type="radio" name="sigType" <%=disabled%> <%=(currentSigType==1 ? " checked=\"checked\"" : "")%> class="tickbox" />
    566505                    ECDSA-P256</label>
    567506                </span>
    568 
    569            <% }
    570 
    571               if (editBean.isSigTypeAvailable(2)) { %>
    572 
     507<%
     508              }
     509              if (editBean.isSigTypeAvailable(2)) {
     510%>
    573511                <span class="multiOption">
    574512                    <label><input value="2" type="radio" name="sigType" <%=disabled%> <%=(currentSigType==2 ? " checked=\"checked\"" : "")%> class="tickbox" />
    575513                    ECDSA-P384</label>
    576514                </span>
    577 
    578            <% }
    579               if (editBean.isSigTypeAvailable(3)) { %>
    580 
     515<%
     516             }
     517              if (editBean.isSigTypeAvailable(3)) {
     518%>
    581519                <span class="multiOption">
    582520                    <label><input value="3" type="radio" name="sigType" <%=disabled%> <%=(currentSigType==3 ? " checked=\"checked\"" : "")%> class="tickbox" />
    583521                    ECDSA-P521</label>
    584522                </span>
    585 
    586            <% }
    587               if (editBean.isSigTypeAvailable(7)) { %>
    588 
     523<%
     524             }
     525              if (editBean.isSigTypeAvailable(7)) {
     526%>
    589527                <span class="multiOption">
    590528                    <label title="<%=intl._t("This is the default, recommended option")%>"><input value="7" type="radio" name="sigType" <%=disabled%> <%=(currentSigType==7 ? " checked=\"checked\"" : "")%> class="tickbox" />
     
    593531            </td>
    594532        </tr>
    595            <% }   // isAvailable %>
    596 
    597          <% } // isAdvanced %>
    598 
    599          <% if ("httpclient".equals(tunnelType) || "connectclient".equals(tunnelType) || "sockstunnel".equals(tunnelType) || "socksirctunnel".equals(tunnelType)) { %>
     533<%
     534              }   // isAvailable
     535
     536            } // isAdvanced
     537
     538            if ("httpclient".equals(tunnelType) || "connectclient".equals(tunnelType) || "sockstunnel".equals(tunnelType) || "socksirctunnel".equals(tunnelType)) {
     539%>
    600540        <tr>
    601541            <th colspan="2">
    602542                <%=intl._t("Local Authorization")%>
    603543            </th>
    604         </tr>
    605         <tr>
     544        </tr><tr>
    606545            <td colspan="2">
    607546                <label title="<%=intl._t("Enable to require a username and password to access this local service (for example if hosting on a LAN)")%>"><input value="1" type="checkbox" name="proxyAuth"<%=(editBean.getProxyAuth(curTunnel) ? " checked=\"checked\"" : "")%> class="tickbox" />
    608547                <%=intl._t("Require local authorization for this service")%></label>
    609548            </td>
    610         </tr>
    611 
    612         <tr>
     549        </tr><tr>
    613550            <td>
    614551                <b><%=intl._t("Username")%>:</b>
     
    619556                <input type="password" name="nofilter_proxyPassword" title="<%=intl._t("Set password required to access this service")%>" value="" class="freetext password" />
    620557            </td>
    621         </tr>
    622 
    623         <tr>
     558        </tr><tr>
    624559            <th colspan="2">
    625560                <%=intl._t("Outproxy Authorization")%>
    626561            </th>
    627         </tr>
    628         <tr>
     562        </tr><tr>
    629563            <td colspan="2">
    630564                <label title="<%=intl._t("Enable if the outproxy a username and password to access")%>"><input value="1" type="checkbox" id="startOnLoad" name="outproxyAuth"<%=(editBean.getOutproxyAuth(curTunnel) ? " checked=\"checked\"" : "")%> class="tickbox" />
    631565                <%=intl._t("Outproxy requires authorization")%></label>
    632566            </td>
    633         </tr>
    634 
    635         <tr>
     567        </tr><tr>
    636568            <td>
    637569                <b><%=intl._t("Username")%>:</b>
     
    644576            </td>
    645577        </tr>
    646 
    647          <% } // httpclient || connect || socks || socksirc %>
    648 
    649          <% if ("httpclient".equals(tunnelType)) { %>
    650 
     578<%
     579            } // httpclient || connect || socks || socksirc
     580
     581            if ("httpclient".equals(tunnelType)) {
     582%>
    651583        <tr>
    652584            <th colspan="2">
    653585                <%=intl._t("Jump URL List")%>
    654586            </th>
    655         </tr>
    656         <tr>
     587        </tr><tr>
    657588            <td colspan="2">
    658589                <textarea rows="2" style="height: 8em;" cols="60" id="hostField" name="jumpList" title="<%=intl._t("List of helper URLs providing jump links when a host is not found in your addressbook")%>" wrap="off" spellcheck="false"><%=editBean.getJumpList(curTunnel)%></textarea>
    659590            </td>
    660591        </tr>
    661 
    662          <% } // httpclient %>
    663 
     592<%
     593            } // httpclient
     594%>
    664595        <tr>
    665596            <th colspan="2">
    666597                <%=intl._t("Custom options")%>
    667598            </th>
    668         </tr>
    669 
    670         <tr>
     599        </tr><tr>
    671600            <td colspan="2">
    672601                <input type="text" id="customOptions" name="nofilter_customOptions" size="60" title="<%=intl._t("Advanced tunnel, streaming, and I2CP options")%>" value="<%=editBean.getCustomOptions(curTunnel)%>" class="freetext" spellcheck="false"/>
    673602            </td>
    674         </tr>
    675 
    676         <tr>
     603        </tr><tr>
    677604            <td class="buttons" colspan="2">
    678605                    <input type="hidden" value="true" name="removeConfirm" />
     
    682609            </td>
    683610        </tr>
    684     </table>
     611</table>
  • apps/i2ptunnel/jsp/editServer.jsi

    r2960156 rdd5f8b45  
    1                 <%
     1<%
    22                String tunnelTypeName;
    33                String tunnelType;
     
    1414                <input type="hidden" name="nonce" value="<%=net.i2p.i2ptunnel.web.IndexBean.getNextNonce()%>" />
    1515                <input type="hidden" name="type" value="<%=tunnelType%>" />
    16                 <%
     16<%
    1717                // these are four keys that are generated automatically on first save,
    1818                // and we want to persist in i2ptunnel.config, but don't want to
     
    2121                if (key != null && key.length() > 0) { %>
    2222                    <input type="hidden" name="key1" value="<%=key%>" />
    23                 <% }
     23<%              }
    2424                key = editBean.getKey2(curTunnel);
    2525                if (key != null && key.length() > 0) { %>
    2626                    <input type="hidden" name="key2" value="<%=key%>" />
    27                 <% }
     27<%              }
    2828                key = editBean.getKey3(curTunnel);
    2929                if (key != null && key.length() > 0) { %>
    3030                    <input type="hidden" name="key3" value="<%=key%>" />
    31                 <% }
     31<%              }
    3232                key = editBean.getKey4(curTunnel);
    3333                if (key != null && key.length() > 0) { %>
    3434                    <input type="hidden" name="key4" value="<%=key%>" />
    35                 <% } %>
     35<%              } %>
    3636                <input type="submit" class="default" name="action" value="Save changes" />
    37 
    3837    <table id="serverTunnelEdit" class="tunnelConfig">
    3938        <tr>
    4039            <th>
    4140                <%=intl._t("Name")%>
    42             </th>
    43             <th>
     41            </th><th>
    4442                <%=intl._t("Type")%>
    4543            </th>
    46         </tr>
    47 
    48         <tr>
     44        </tr><tr>
    4945            <td>
    5046                <input type="text" size="30" maxlength="50" name="name" title="<%=intl._t("Name of tunnel to be displayed on Tunnel Manager home page and the router console sidebar")%>" value="<%=editBean.getTunnelName(curTunnel)%>" class="freetext tunnelName" />
    51             </td>
    52             <td>
     47            </td><td>
    5348                <%=tunnelTypeName%>
    5449            </td>
    55         </tr>
    56 
    57         <tr>
     50        </tr><tr>
    5851            <th>
    5952                <%=intl._t("Description")%>
    60             </th>
    61 
    62             <th>
     53            </th><th>
    6354                <%=intl._t("Auto Start Tunnel")%>
    6455            </th>
    65         </tr>
    66 
    67         <tr>
     56        </tr><tr>
    6857            <td>
    6958                <input type="text" size="60" maxlength="80" name="nofilter_description" title="<%=intl._t("Description of tunnel to be displayed on Tunnel Manager home page")%>" value="<%=editBean.getTunnelDescription(curTunnel)%>" class="freetext tunnelDescriptionText" />
    70             </td>
    71 
    72             <td>
     59            </td><td>
    7360                <label title="<%=intl._t("Enable this option to ensure this service is available when the router starts")%>"><input value="1" type="checkbox" name="startOnLoad"<%=(editBean.startAutomatically(curTunnel) ? " checked=\"checked\"" : "")%> class="tickbox" />
    7461                <%=intl._t("Automatically start tunnel when router starts")%></label>
    7562            </td>
    76         </tr>
    77 
    78         <tr>
     63        </tr><tr>
    7964            <th colspan="2">
    8065         <% if ("streamrserver".equals(tunnelType)) { %>
     
    8469         <% } %>
    8570            </th>
    86         </tr>
    87 
    88         <tr>
     71        </tr><tr>
    8972         <% if (!"streamrserver".equals(tunnelType)) { %>
    9073            <td>
     
    9275                <input type="text" size="20" name="targetHost" title="<%=intl._t("Hostname or IP address of the target server")%>" value="<%=editBean.getTargetHost(curTunnel)%>" class="freetext host" />
    9376            </td>
    94          <% } /* !streamrserver */ %>
    95 
     77<%          } /* !streamrserver */ %>
    9678            <td>
    9779                <b><%=intl._t("Port")%>:</b>
     
    10284                           out.write(")</font></span>");
    10385                       }
    104                      %>
     86%>
    10587                <input type="text" size="6" maxlength="5" id="targetPort" name="targetPort" title="<%=intl._t("Specify the port the server is running on")%>" value="<%=editBean.getTargetPort(curTunnel)%>" class="freetext port" placeholder="required" />
    106          <% if (!"streamrserver".equals(tunnelType)) { %>
     88<%          if (!"streamrserver".equals(tunnelType)) { %>
    10789                <label title="<%=intl._t("To avoid traffic sniffing if connecting to a remote server, you can enable an SSL connection. Note that the target server must be configured to accept SSL connections.")%>"><input value="1" type="checkbox" name="useSSL"<%=(editBean.isSSLEnabled(curTunnel) ? " checked=\"checked\"" : "")%> class="tickbox" />
    10890                <%=intl._t("Use SSL to connect to target")%></label>
    109          <% } /* !streamrserver */ %>
    110             </td>
    111          <% if ("httpbidirserver".equals(tunnelType)) { %>
    112         </tr>
    113 
    114         <tr>
     91<%          } /* !streamrserver */ %>
     92            </td>
     93<%          if ("httpbidirserver".equals(tunnelType)) { %>
     94        </tr><tr>
    11595            <th colspan="2">
    11696                <%=intl._t("Access Point")%>
    11797            </th>
    118         </tr>
    119 
    120         <tr>
     98        </tr><tr>
    12199            <td>
    122100                <b><%=intl._t("Port")%>:</b>
    123101
    124                      <% String value4 = editBean.getClientPort(curTunnel);
     102<%                      String value4 = editBean.getClientPort(curTunnel);
    125103                        if (value4 == null || "".equals(value4.trim())) {
    126104                            out.write(" <span class=\"required\"><font color=\"red\">(");
     
    128106                            out.write(")</font></span>");
    129107                        }
    130                       %>
    131 
     108%>
    132109                 <input type="text" size="6" maxlength="5" name="port" title="<%=intl._t("Port required to access service (this can be a different port to the port the service is hosted on)")%>" value="<%=editBean.getClientPort(curTunnel)%>" class="freetext port" placeholder="required" />
    133110            </td>
    134          <% } /* httpbidirserver */ %>
    135          <% if ("httpbidirserver".equals(tunnelType) || "streamrserver".equals(tunnelType)) { %>
    136 
     111<%          } /* httpbidirserver */
     112            if ("httpbidirserver".equals(tunnelType) || "streamrserver".equals(tunnelType)) {
     113%>
    137114            <td>
    138115                <b><%=intl._t("Reachable by")%>:</b>
    139116
    140117                <select id="reachableBy" name="reachableBy" title="<%=intl._t("Listening interface (IP address) for client access (normally 127.0.0.1)")%>" class="selectbox">
    141               <%
     118<%
    142119                    String clientInterface = editBean.getClientInterface(curTunnel);
    143120                    for (String ifc : editBean.interfaceSet()) {
     
    151128                        out.write("</option>\n");
    152129                    }
    153               %>
     130%>
    154131                </select>
    155132            </td>
    156133         <% } /* httpbidirserver || streamrserver */ %>
    157134        </tr>
    158 
    159 
    160             <% if (("httpserver".equals(tunnelType)) || ("httpbidirserver".equals(tunnelType))) {
    161           %>
    162 
     135<%          if (("httpserver".equals(tunnelType)) || ("httpbidirserver".equals(tunnelType))) {
     136%>
    163137        <tr>
    164138            <th>
     
    166140            </th>
    167141            <th></th>
    168         </tr>
    169 
    170         <tr>
     142        </tr><tr>
    171143            <td colspan="2">
    172144                <input type="text" size="20" id="websiteName" name="spoofedHost" title="<%=intl._t("Website Hostname e.g. mysite.i2p")%>" value="<%=editBean.getSpoofedHost(curTunnel)%>" class="freetext" />
     
    176148            <% }
    177149          %>
    178 
    179150        <tr>
    180151            <th>
    181152                <%=intl._t("Local destination")%>
    182             </th>
    183             <th>
     153            </th><th>
    184154                <%=intl._t("Private key file")%>
    185155            </th>
    186         </tr>
    187 
    188         <tr>
     156        </tr><tr>
    189157            <td>
    190158                <div class="displayText" title="<%=intl._t("Read Only: Local Destination (if known)")%>" tabindex="0" onblur="resetScrollLeft(this)"><%=editBean.getDestinationBase64(curTunnel)%></div>
    191             </td>
    192             <td>
     159            </td><td>
    193160                    <% String value3 = editBean.getPrivateKeyFile(curTunnel);
    194161                       if (value3 == null || "".equals(value3.trim())) {
     
    201168            </td>
    202169        </tr>
    203 
    204170<%
    205171  /******
    206 %>
    207             <% if (("httpserver".equals(tunnelType)) || ("httpbidirserver".equals(tunnelType))) {
     172               if (("httpserver".equals(tunnelType)) || ("httpbidirserver".equals(tunnelType))) {
    208173                   String sig = editBean.getNameSignature(curTunnel);
    209174                   if (sig.length() > 0) {
     
    222187            boolean hasSusiDNS = pm.getPort(net.i2p.util.PortMapper.SVC_SUSIDNS) > 0;
    223188            if (!"".equals(b64)) {
    224          %>
    225         <tr>
    226 
    227         <%
     189%>
     190        <tr>
     191<%
    228192                b64 = b64.replace("=", "%3d");
    229193                String name = editBean.getSpoofedHost(curTunnel);
     
    232196                // mysite.i2p is set in the installed i2ptunnel.config
    233197                if (name != null && !name.equals("") && !name.equals("mysite.i2p") && !name.contains(" ") && name.endsWith(".i2p")) {
    234          %>
     198%>
    235199
    236200            <td class="buttons" colspan="2">
    237               <%
     201<%
    238202                    if (hasImagegen) {
    239                 %>
     203%>
    240204              <a class="control" title="<%=intl._t("Generate a QR Code for this domain")%>" href="/imagegen/qr?s=320&amp;t=<%=name%>&amp;c=http%3a%2f%2f<%=name%>%2f%3fi2paddresshelper%3d<%=b64%>" target="_top"><%=intl._t("Generate QR Code")%></a>
    241               <%
     205<%
    242206                    }
    243207                    if (hasSusiDNS) {
    244                 %>
     208%>
    245209              <a class="control" title="<%=intl._t("Add to Private addressbook")%>" href="/susidns/addressbook.jsp?book=private&amp;hostname=<%=name%>&amp;destination=<%=b64%>#add"><%=intl._t("Add to local addressbook")%></a>
    246               <%
     210<%
    247211                    }
    248                 %>
     212%>
    249213              <a class="control" title="<%=intl._t("Register, unregister or change details for hostname")%>" href="register?tunnel=<%=curTunnel%>"><%=intl._t("Registration Authentication")%></a>
    250               <%
     214<%
    251215                    if (("httpserver".equals(tunnelType)) || ("httpbidirserver".equals(tunnelType))) {
    252                 %>
     216%>
    253217              <a class="control" title="<%=intl._t("HTTPS configuration")%>" href="ssl?tunnel=<%=curTunnel%>"><%=intl._t("SSL Wizard")%></a>
    254               <%
     218<%
    255219                    }
    256                 %>
    257             </td>
    258         <%
     220%>
     221            </td>
     222<%
    259223                } else {
    260           %>
     224%>
    261225            <td class="infohelp" colspan="2">
    262226                <%=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")%>
    263227            </td>
    264         <%
     228<%
    265229                }  // name
    266          %>
    267         </tr>
    268 
    269         <%
     230%>
     231        </tr>
     232<%
    270233            }  // b64
    271234
    272          %>
     235%>
    273236    </table>
    274237
     
    282245        </tr>
    283246
    284     <% if (editBean.isAdvanced()) {
     247<%    if (editBean.isAdvanced()) {
    285248      %><tr>
    286249            <th colspan="2">
     
    289252        </tr><%
    290253      }  // isAdvanced()
    291      %>
     254%>
    292255
    293256        <tr>
    294257            <td>
    295258                <b><%=intl._t("Length")%></b>
    296             </td>
    297 
    298             <td>
     259            </td><td>
    299260                <b><%=intl._t("Variance")%></b>
    300261            </td>
    301         </tr>
    302 
    303         <tr>
     262        </tr><tr>
    304263            <td>
    305264                <select id="tunnelDepth" name="tunnelDepth" title="<%=intl._t("Length of each Tunnel")%>" class="selectbox">
     
    309268                    <option value="2"<%=(tunnelDepth == 2 ? " selected=\"selected\"" : "") %>><%=intl._t("2 hop tunnel (medium anonymity)")%></option>
    310269                    <option value="3"<%=(tunnelDepth == 3 ? " selected=\"selected\"" : "") %>><%=intl._t("3 hop tunnel (high anonymity)")%></option>
    311                 <% if (editBean.isAdvanced()) {
     270<%                if (editBean.isAdvanced()) {
    312271                  %><option value="4"<%=(tunnelDepth == 4 ? " selected=\"selected\"" : "") %>>4 hop tunnel</option>
    313272                    <option value="5"<%=(tunnelDepth == 5 ? " selected=\"selected\"" : "") %>>5 hop tunnel</option>
    314273                    <option value="6"<%=(tunnelDepth == 6 ? " selected=\"selected\"" : "") %>>6 hop tunnel</option>
    315274                    <option value="7"<%=(tunnelDepth == 7 ? " selected=\"selected\"" : "") %>>7 hop tunnel</option>
    316                 <% } else if (tunnelDepth > 3) {
     275<%                } else if (tunnelDepth > 3) {
    317276                %>    <option value="<%=tunnelDepth%>" selected="selected"><%=tunnelDepth%> <%=intl._t("hop tunnel (very poor performance)")%></option>
    318                 <% }
     277<%                }
    319278              %></select>
    320             </td>
    321 
    322             <td>
     279            </td><td>
    323280                <select id="tunnelVariance" name="tunnelVariance" title="<%=intl._t("Level of Randomization for Tunnel Depth")%>" class="selectbox">
    324281                    <% int tunnelVariance = editBean.getTunnelVariance(curTunnel, 0);
     
    328285                    <option value="-1"<%=(tunnelVariance == -1 ? " selected=\"selected\"" : "") %>><%=intl._t("+/- 0-1 hop variance (standard randomization, standard performance)")%></option>
    329286                    <option value="-2"<%=(tunnelVariance == -2 ? " selected=\"selected\"" : "") %>><%=intl._t("+/- 0-2 hop variance (not recommended)")%></option>
    330                 <% if (tunnelVariance > 2 || tunnelVariance < -2) {
     287<%                if (tunnelVariance > 2 || tunnelVariance < -2) {
    331288                %>    <option value="<%=tunnelVariance%>" selected="selected"><%= (tunnelVariance > 2 ? "+ " : "+/- ") %>0-<%=tunnelVariance%> <%=intl._t("hop variance")%></option>
    332                 <% }
     289<%                }
    333290              %></select>
    334291            </td>
    335         </tr>
    336 
    337         <tr>
     292        </tr><tr>
    338293            <td>
    339294                <b><%=intl._t("Count")%></b>
    340             </td>
    341 
    342             <td>
     295            </td><td>
    343296                <b><%=intl._t("Backup Count")%></b>
    344297            </td>
    345         </tr>
    346 
    347         <tr>
     298        </tr><tr>
    348299            <td>
    349300                <select id="tunnelQuantity" name="tunnelQuantity" title="<%=intl._t("Number of Tunnels in Group")%>" class="selectbox">
    350301                    <%=editBean.getQuantityOptions(curTunnel, editBean.isAdvanced() ? 1 : 0)%>
    351302                </select>
    352             </td>
    353 
    354             <td>
     303            </td><td>
    355304                <select id="tunnelBackupQuantity" name="tunnelBackupQuantity" title="<%=intl._t("Number of Reserve Tunnels")%>" class="selectbox">
    356                     <% int tunnelBackupQuantity = editBean.getTunnelBackupQuantity(curTunnel, 0);
     305<%                int tunnelBackupQuantity = editBean.getTunnelBackupQuantity(curTunnel, 0);
    357306                   if (editBean.isAdvanced()) {
    358307                       // TODO ngettext
     
    361310                    <option value="2"<%=(tunnelBackupQuantity == 2 ? " selected=\"selected\"" : "") %>>2 <%=intl._t("backup tunnels")%></option>
    362311                    <option value="3"<%=(tunnelBackupQuantity == 3 ? " selected=\"selected\"" : "") %>>3 <%=intl._t("backup tunnels")%></option>
    363                  <%
     312<%
    364313                   } else {
    365314                  %><option value="0"<%=(tunnelBackupQuantity == 0 ? " selected=\"selected\"" : "") %>><%=intl._t("0 backup tunnels (0 redundancy, no added resource usage)")%></option>
     
    367316                    <option value="2"<%=(tunnelBackupQuantity == 2 ? " selected=\"selected\"" : "") %>><%=intl._t("2 backup tunnels each direction (medium redundancy, medium resource usage)")%></option>
    368317                    <option value="3"<%=(tunnelBackupQuantity == 3 ? " selected=\"selected\"" : "") %>><%=intl._t("3 backup tunnels each direction (high redundancy, high resource usage)")%></option>
    369                 <% } // isAdvanced()
     318<%                } // isAdvanced()
    370319                   if (tunnelBackupQuantity > 3) {
    371320                %>    <option value="<%=tunnelBackupQuantity%>" selected="selected"><%=tunnelBackupQuantity%> <%=intl._t("backup tunnels")%></option>
    372                 <% }
     321<%                }
    373322              %></select>
    374323            </td>
    375324        </tr>
    376325
    377     <% if (editBean.isAdvanced()) {
     326<%    if (editBean.isAdvanced()) {
    378327       // repeat four options above for outbound
    379328      %><tr>
     
    381330                <%=intl._t("Outbound")%>
    382331            </th>
    383         </tr>
    384         <tr>
     332        </tr><tr>
    385333            <td>
    386334                <b><%=intl._t("Length")%></b>
    387             </td>
    388             <td>
     335            </td><td>
    389336                <b><%=intl._t("Variance")%></b>
    390337            </td>
    391         </tr>
    392         <tr>
     338        </tr><tr>
    393339            <td>
    394340                <select id="tunnelDepthOut" name="tunnelDepthOut" title="<%=intl._t("Length of each Tunnel")%>" class="selectbox">
     
    403349                    <option value="7"<%=(tunnelDepthOut == 7 ? " selected=\"selected\"" : "") %>>7 hop tunnel</option>
    404350                </select>
    405             </td>
    406             <td>
     351            </td><td>
    407352                <select id="tunnelVarianceOut" name="tunnelVarianceOut" title="<%=intl._t("Level of Randomization for Tunnel Depth")%>" class="selectbox">
    408                     <% int tunnelVarianceOut = editBean.getTunnelVarianceOut(curTunnel, 0);
     353<%                int tunnelVarianceOut = editBean.getTunnelVarianceOut(curTunnel, 0);
    409354                  %><option value="0"<%=(tunnelVarianceOut  ==  0 ? " selected=\"selected\"" : "") %>><%=intl._t("0 hop variance (no randomization, consistent performance)")%></option>
    410355                    <option value="1"<%=(tunnelVarianceOut  ==  1 ? " selected=\"selected\"" : "") %>><%=intl._t("+ 0-1 hop variance (medium additive randomization, subtractive performance)")%></option>
     
    412357                    <option value="-1"<%=(tunnelVarianceOut == -1 ? " selected=\"selected\"" : "") %>><%=intl._t("+/- 0-1 hop variance (standard randomization, standard performance)")%></option>
    413358                    <option value="-2"<%=(tunnelVarianceOut == -2 ? " selected=\"selected\"" : "") %>><%=intl._t("+/- 0-2 hop variance (not recommended)")%></option>
    414                 <% if (tunnelVarianceOut > 2 || tunnelVarianceOut < -2) {
     359<%                if (tunnelVarianceOut > 2 || tunnelVarianceOut < -2) {
    415360                %>    <option value="<%=tunnelVarianceOut%>" selected="selected"><%= (tunnelVarianceOut > 2 ? "+ " : "+/- ") %>0-<%=tunnelVarianceOut%> <%=intl._t("hop variance")%></option>
    416                 <% }
     361<%                }
    417362              %></select>
    418363            </td>
    419         </tr>
    420         <tr>
     364        </tr><tr>
    421365            <td>
    422366                <b><%=intl._t("Count")%></b>
    423             </td>
    424 
    425             <td>
     367            </td><td>
    426368                <b><%=intl._t("Backup Count")%></b>
    427369            </td>
    428         </tr>
    429         <tr>
     370        </tr><tr>
    430371            <td>
    431372                <select id="tunnelQuantityOut" name="tunnelQuantityOut" title="<%=intl._t("Number of Tunnels in Group")%>" class="selectbox">
    432373                    <%=editBean.getQuantityOptions(curTunnel, 2)%>
    433374                </select>
    434             </td>
    435             <td>
     375            </td><td>
    436376                <select id="tunnelBackupQuantityOut" name="tunnelBackupQuantityOut" title="<%=intl._t("Number of Reserve Tunnels")%>" class="selectbox">
    437                     <% int tunnelBackupQuantityOut = editBean.getTunnelBackupQuantityOut(curTunnel, 0);
     377<%                    int tunnelBackupQuantityOut = editBean.getTunnelBackupQuantityOut(curTunnel, 0);
    438378                       // TODO ngettext
    439379                  %><option value="0"<%=(tunnelBackupQuantityOut == 0 ? " selected=\"selected\"" : "") %>>0 <%=intl._t("backup tunnels")%></option>
     
    441381                    <option value="2"<%=(tunnelBackupQuantityOut == 2 ? " selected=\"selected\"" : "") %>>2 <%=intl._t("backup tunnels")%></option>
    442382                    <option value="3"<%=(tunnelBackupQuantityOut == 3 ? " selected=\"selected\"" : "") %>>3 <%=intl._t("backup tunnels")%></option>
    443                 <% if (tunnelBackupQuantityOut > 3) {
     383<%                if (tunnelBackupQuantityOut > 3) {
    444384                %>    <option value="<%=tunnelBackupQuantityOut%>" selected="selected"><%=tunnelBackupQuantityOut%> <%=intl._t("backup tunnels")%></option>
    445                 <% }
     385<%                }
    446386              %></select>
    447387            </td>
    448388        </tr>
    449     <%
     389<%
    450390      }  // isAdvanced() End outbound config section
    451      %>
    452 
    453          <% if (!"streamrserver".equals(tunnelType)) { %>
    454 
     391
     392            if (!"streamrserver".equals(tunnelType)) {
     393%>
    455394        <tr>
    456395            <th colspan="2">
    457396                <%=intl._t("Profile")%>
    458397            </th>
    459         </tr>
    460 
    461         <tr>
     398        </tr><tr>
    462399            <td colspan="2">
    463400                <select id="profile" name="profile" title="<%=intl._t("Connection Profile")%>" class="selectbox">
     
    468405            </td>
    469406        </tr>
    470 
    471          <% } /* !streamrserver */ %>
    472 
     407<%          } /* !streamrserver */ %>
    473408        <tr>
    474409            <th colspan="2">
    475410                <%=intl._t("Router I2CP Address")%>
    476411            </th>
    477         </tr>
    478         <tr>
     412        </tr><tr>
    479413            <td>
    480414                <b><%=intl._t("Host")%>:</b>
    481415                <input type="text" id="clientHost" name="clientHost" size="20" title="<%=intl._t("I2CP Hostname or IP")%>" value="<%=editBean.getI2CPHost(curTunnel)%>" class="freetext" <% if (editBean.isRouterContext()) { %> readonly="readonly" <% } %> />
    482             </td>
    483             <td>
     416            </td><td>
    484417                <b><%=intl._t("Port")%>:</b>
    485418                <input type="text" id="clientPort" name="clientport" size="20" title="<%=intl._t("I2CP Port Number")%>" value="<%=editBean.getI2CPPort(curTunnel)%>" class="freetext" <% if (editBean.isRouterContext()) { %> readonly="readonly" <% } %> />
    486419            </td>
    487         </tr>
    488 
    489         <tr>
     420        </tr><tr>
    490421            <th colspan="2">
    491422                <%=intl._t("Encrypt Leaseset")%>
    492423            </th>
    493         </tr>
    494 
    495         <tr>
    496             <td colspan="2">
    497                 <%
     424        </tr><tr>
     425            <td colspan="2">
     426<%
    498427                   String curEncryptMode = editBean.getEncryptMode(curTunnel);
    499                   %>
     428%>
    500429                <span class="multiOption"><label title="<%=intl._t("Allow all clients to connect to this service")%>"><input value="0" type="radio" name="encryptMode"<%=(curEncryptMode.equals("0") ? " checked=\"checked\"" : "")%> class="tickbox" />
    501430                    <%=intl._t("Disable")%></label></span>
    502431                <span class="multiOption"><label title="<%=intl._t("Only clients with the encryption key will be able to connect")%>"><input value="1" type="radio" name="encryptMode"<%=(curEncryptMode.equals("1") ? " checked=\"checked\"" : "")%> class="tickbox" />
    503432                    <%=intl._t("Encrypted")%></label></span>
    504                 <%
     433<%
    505434                    int curSigType = editBean.getSigType(curTunnel, tunnelType);
    506435                    if (curSigType == 7 || curSigType == 11) {
    507                   %>
     436%>
    508437                <span class="multiOption"><label title="<%=intl._t("Prevents server discovery by floodfills")%>"><input value="2" type="radio" name="encryptMode"<%=(curEncryptMode.equals("2") ? " checked=\"checked\"" : "")%> class="tickbox" />
    509438                    <%=intl._t("Blinded")%></label></span>
    510439                <span class="multiOption"><label title="<%=intl._t("Only clients with the password will be able to connect")%>"><input value="3" type="radio" name="encryptMode"<%=(curEncryptMode.equals("3") ? " checked=\"checked\"" : "")%> class="tickbox" />
    511440                    <%=intl._t("Blinded with lookup password")%></label></span>
    512                   <%
     441<%
    513442                     if (editBean.isAdvanced()) {
    514443                         // TODO, unimplemented
    515                     %>
     444%>
    516445                <span class="multiOption"><label title="<%=intl._t("Only clients with the encryption key will be able to connect")%>"><input value="4" type="radio" name="encryptMode"<%=(curEncryptMode.equals("4") ? " checked=\"checked\"" : "")%> class="tickbox" />
    517446                    <%=intl._t("Blinded with shared key")%></label></span>
     
    522451                <span class="multiOption"><label title="<%=intl._t("Only clients with the password and key will be able to connect")%>"><input value="7" type="radio" name="encryptMode"<%=(curEncryptMode.equals("7") ? " checked=\"checked\"" : "")%> class="tickbox" />
    523452                    <%=intl._t("Blinded with lookup password and per-user key")%></label></span>
    524                 <%
     453<%
    525454                        } // isAdvanced()
    526455                    } // curSigType
    527                   %>
    528             </td>
    529         </tr>
    530 
    531         <tr>
     456%>
     457            </td>
     458        </tr><tr>
    532459            <td>
    533460                <b><%=intl._t("Encryption Key")%></b>
    534             </td>
    535 
    536             <td>
     461            </td><td>
    537462                <b><%=intl._t("Generate New Key")%></b> (<%=intl._t("Tunnel must be stopped first")%>)
    538463            </td>
    539         </tr>
    540 
    541         <tr>
     464        </tr><tr>
    542465            <td>
    543466                <textarea rows="1" style="height: 3em;" cols="44" id="leasesetKey" name="encryptKey" title="<%=intl._t("Encryption key required to access this service")%>" wrap="off" spellcheck="false"><%=editBean.getEncryptKey(curTunnel)%></textarea>
    544             </td>
    545 
    546             <td>
     467            </td><td>
    547468                <button class="control" type="submit" name="action" value="Generate" title="<%=intl._t("Generate new encryption key")%>"><%=intl._t("Generate")%></button>
    548469            </td>
    549470        </tr>
    550 
    551         <%
     471<%
    552472            if (curSigType == 7 || curSigType == 11) {
    553           %>
     473%>
    554474        <tr>
    555475            <td>
     
    558478            </td><td> </td>
    559479        </tr>
    560         <%
     480<%
    561481            } // curSigType
    562           %>
    563 
     482%>
    564483        <tr>
    565484            <th colspan="2">
    566485                <%=intl._t("Restricted Access List")%>
    567486            </th>
    568         </tr>
    569 
    570         <tr>
     487        </tr><tr>
    571488            <td colspan="2">
    572489                <span class="multiOption"><label title="<%=intl._t("Allow all clients to connect to this service")%>"><input value="0" type="radio" name="accessMode"<%=(editBean.getAccessMode(curTunnel).equals("0") ? " checked=\"checked\"" : "")%> class="tickbox" />
     
    577494                    <%=intl._t("Whitelist")%></label></span>
    578495            </td>
    579         </tr>
    580 
    581         <tr>
     496        </tr><tr>
    582497            <td colspan="2">
    583498                <b><%=intl._t("Access List Description")%></b> (<%=intl._t("Specify clients, 1 per line")%>)
    584499            </td>
    585         </tr>
    586 
    587         <tr>
     500        </tr><tr>
    588501            <td colspan="2">
    589502                <textarea rows="2" style="height: 8em;" cols="60" name="accessList" title="<%=intl._t("Control access to this service")%>" wrap="off" spellcheck="false"><%=editBean.getAccessList(curTunnel)%></textarea>
    590503            </td>
    591         </tr>
    592 
    593         <tr>
     504        </tr><tr>
    594505            <td colspan="2">
    595506                <b><%=intl._t("Filter Definition File")%></b>
    596507            </td>
    597         </tr>
    598 
    599         <tr>
     508        </tr><tr>
    600509            <td colspan="2">
    601510                <%=intl._t("You can define an advanced filter for this tunnel.")%> (<a href="http://i2p-projekt.i2p/spec/filter-format" target="_blank"><%=intl._t("Format Specification")%></a>) 
    602511            </td>
    603         </tr>
    604 
    605         <tr>
     512        </tr><tr>
    606513            <td colspan="2">
    607514                <label for="filterDefinition"><%=intl._t("Absolute path to file containing filter definition")%></label>
    608515                <input type="text" id="filterDefinition" name="filterDefinition" value="<%=editBean.getFilterDefinition(curTunnel)%>" size="80"/>
    609516            </td>
    610         </tr>
    611 
    612         <tr>
     517        </tr><tr>
    613518            <th colspan="2">
    614519                <%=intl._t("Server Access Options")%>
    615520            </th>
    616521        </tr>
    617 
    618             <% if (("httpserver".equals(tunnelType)) || ("httpbidirserver".equals(tunnelType))) {
    619             %>
    620 
     522<%
     523               if (("httpserver".equals(tunnelType)) || ("httpbidirserver".equals(tunnelType))) {
     524%>
    621525        <tr>
    622526            <td>
    623527                <label title="<%=intl._t("Prevent clients from accessing this service via an inproxy")%>"><input value="1" type="checkbox" name="rejectInproxy"<%=(editBean.isRejectInproxy(curTunnel) ? " checked=\"checked\"" : "")%> class="tickbox" />
    624528                <%=intl._t("Block Access via Inproxies")%></label>
    625             </td>
    626 
    627             <td>
     529            </td><td>
    628530                <label><input value="1" type="checkbox" name="rejectReferer"<%=(editBean.isRejectReferer(curTunnel) ? " checked=\"checked\"" : "")%> class="tickbox" />
    629531                <%=intl._t("Block Accesses containing Referers")%></label>
    630532            </td>
    631         </tr>
    632 
    633         <tr>
     533        </tr><tr>
    634534            <td>
    635535                <label title="<%=intl._t("Deny User-Agents matching these strings (probably from inproxies)")%>"><input value="1" type="checkbox" name="rejectUserAgents"<%=(editBean.isRejectUserAgents(curTunnel) ? " checked=\"checked\"" : "")%> class="tickbox" />
    636536                <%=intl._t("Block these User-Agents")%></label>
    637             </td>
    638 
    639             <td>
     537            </td><td>
    640538                <input type="text" id="userAgents" name="userAgents" size="20" title="<%=intl._t("comma separated, e.g. Mozilla,Opera (case-sensitive)")%>" value="<%=editBean.getUserAgents(curTunnel)%>" class="freetext" />
    641539            </td>
    642540        </tr>
    643             <% } // httpserver
    644             %>
    645 
     541<%             } // httpserver
     542%>
    646543        <tr>
    647544            <td>
    648545                <label title="<%=intl._t("Use unique IP addresses for each connecting client (local non-SSL servers only)")%>"><input value="1" type="checkbox" name="uniqueLocal"<%=(editBean.getUniqueLocal(curTunnel) ? " checked=\"checked\"" : "")%> class="tickbox" />
    649546                <%=intl._t("Unique Local Address per Client")%></label>
    650             </td>
    651 
    652             <td>
     547            </td><td>
    653548                <label title="<%=intl._t("Only enable if you are hosting this service on multiple routers")%>"><input value="1" type="checkbox" name="multihome"<%=(editBean.getMultihome(curTunnel) ? " checked=\"checked\"" : "")%> class="tickbox" />
    654549                <%=intl._t("Optimize for Multihoming")%></label>
    655550            </td>
    656         </tr>
    657 
    658         <tr>
     551        </tr><tr>
    659552            <th colspan="2">
    660553                <%=intl._t("Server Throttling")%>
    661554            </th>
    662         </tr>
    663         <tr>
     555        </tr><tr>
    664556            <td id="throttle" colspan="4">
    665 
    666557                <table id="throttler">
    667558                    <tr>
     
    669560                            <%=intl._t("Inbound connection limits (0=unlimited)")%>
    670561                        </th>
    671                     </tr>
    672                     <tr>
     562                    </tr><tr>
    673563                        <td></td>
    674564                        <td><b><%=intl._t("Per Minute")%></b></td>
     
    676566                        <td><b><%=intl._t("Per Day")%></b></td>
    677567                        <td class="blankColumn"></td>
    678                     </tr>
    679                     <tr>
     568                    </tr><tr>
    680569                        <td><b><%=intl._t("Per Client")%></b></td>
    681570                        <td>
    682571                            <input type="text" name="limitMinute" title="<%=intl._t("Maximum number of web page requests per minute for a unique client before access to the server is blocked")%>" value="<%=editBean.getLimitMinute(curTunnel)%>" class="freetext" />
    683                         </td>
    684                         <td>
     572                        </td><td>
    685573                            <input type="text" name="limitHour" title="<%=intl._t("Maximum number of web page requests per hour for a unique client before access to the server is blocked")%>" value="<%=editBean.getLimitHour(curTunnel)%>" class="freetext" />
    686                         </td>
    687                         <td>
     574                        </td><td>
    688575                            <input type="text" name="limitDay" title="<%=intl._t("Maximum number of web page requests per day for a unique client before access to the server is blocked")%>" value="<%=editBean.getLimitDay(curTunnel)%>" class="freetext" />
    689                         </td>
    690                         <td class="blankColumn"></td>
    691                     </tr>
    692                     <tr>
     576                        </td><td class="blankColumn"></td>
     577                    </tr><tr>
    693578                        <td><b><%=intl._t("Total")%></b></td>
    694579                        <td>
    695580                            <input type="text" name="totalMinute" title="<%=intl._t("Total number of web page requests per minute before access to the server is blocked")%>" value="<%=editBean.getTotalMinute(curTunnel)%>" class="freetext" />
    696                         </td>
    697                         <td>
     581                        </td><td>
    698582                            <input type="text" name="totalHour" title="<%=intl._t("Total number of web page requests per hour before access to the server is blocked")%>" value="<%=editBean.getTotalHour(curTunnel)%>" class="freetext" />
    699                         </td>
    700                         <td>
     583                        </td><td>
    701584                            <input type="text" name="totalDay" title="<%=intl._t("Total number of web page requests per day before access to the server is blocked")%>" value="<%=editBean.getTotalDay(curTunnel)%>" class="freetext" />
    702                         </td>
    703                         <td class="blankColumn"></td>
     585                        </td><td class="blankColumn"></td>
     586                    </tr><tr>
     587                        <th colspan="5"><%=intl._t("Max concurrent connections (0=unlimited)")%></th>
     588                    </tr><tr>
     589                        <td></td><td>
     590                            <input type="text" name="maxStreams" title="<%=intl._t("Maximum number of simultaneous client connections")%>" value="<%=editBean.getMaxStreams(curTunnel)%>" class="freetext" />
     591                        </td><td></td><td></td><td class="blankColumn"></td>
    704592                    </tr>
    705                     <tr>
    706                         <th colspan="5"><%=intl._t("Max concurrent connections (0=unlimited)")%></th>
    707                     </tr>
    708                     <tr>
    709                         <td></td>
    710                         <td>
    711                             <input type="text" name="maxStreams" title="<%=intl._t("Maximum number of simultaneous client connections")%>" value="<%=editBean.getMaxStreams(curTunnel)%>" class="freetext" />
    712                         </td>
    713                         <td></td>
    714                         <td></td>
    715                         <td class="blankColumn"></td>
    716                     </tr>
    717 
    718             <% if (("httpserver".equals(tunnelType)) || ("httpbidirserver".equals(tunnelType))) {
    719               %>
     593<%
     594               if (("httpserver".equals(tunnelType)) || ("httpbidirserver".equals(tunnelType))) {
     595%>
    720596                    <tr>
    721597                        <th colspan="5">
    722598                            <%=intl._t("POST limits (0=unlimited)")%>
    723599                        </th>
    724                     </tr>
    725                     <tr>
    726                         <td></td>
    727                         <td>
     600                    </tr><tr>
     601                        <td></td><td>
    728602                            <b><%=intl._t("Per Period")%></b>
    729                         </td>
    730                         <td>
     603                        </td><td>
    731604                            <b><%=intl._t("Ban Duration")%></b>
    732                         </td>
    733                         <td></td>
    734                         <td class="blankColumn"></td>
    735                     </tr>
    736                     <tr>
     605                        </td><td></td><td class="blankColumn"></td>
     606                    </tr><tr>
    737607                        <td>
    738608                            <b><%=intl._t("Per Client")%>
    739609                            </b>
    740                         </td>
    741                         <td>
     610                        </td><td>
    742611                            <input type="text" name="postMax" title="<%=intl._t("Maximum number of post requests permitted for a unique client for the configured timespan")%>" value="<%=editBean.getPostMax(curTunnel)%>" class="freetext quantity"/>
    743                         </td>
    744                         <td colspan="2">
     612                        </td><td colspan="2">
    745613                            <input type="text" name="postBanTime" title="<%=intl._t("If a client exceeds the maximum number of post requests per allocated period, enforce a ban for this number of minutes")%>" value="<%=editBean.getPostBanTime(curTunnel)%>" class="freetext period"/>
    746614                            <%=intl._t("minutes")%>
    747                         </td>
    748                         <td class="blankColumn"></td>
    749                     </tr>
    750                     <tr>
     615                        </td><td class="blankColumn"></td>
     616                    </tr><tr>
    751617                        <td>
    752618                            <b><%=intl._t("Total")%>
    753619                            </b>
    754                         </td>
    755                         <td>
     620                        </td><td>
    756621                            <input type="text" name="postTotalMax" title="<%=intl._t("Total number of post requests permitted for the configured timespan")%>" value="<%=editBean.getPostTotalMax(curTunnel)%>" class="freetext quantity"/>
    757                         </td>
    758                         <td colspan="2">
     622                        </td><td colspan="2">
    759623                            <input type="text" name="postTotalBanTime" title="<%=intl._t("If the maximum number of post requests per allocated period is exceeded, enforce a global access ban for this number of minutes")%>" value="<%=editBean.getPostTotalBanTime(curTunnel)%>" class="freetext period"/>
    760624                            <%=intl._t("minutes")%>
    761                         </td>
    762                         <td class="blankColumn"></td>
    763                     </tr>
    764                     <tr>
     625                        </td><td class="blankColumn"></td>
     626                    </tr><tr>
    765627                        <td>
    766628                            <b><%=intl._t("POST limit period")%>
    767629                            </b>
    768                         </td>
    769                         <td colspan="2">
     630                        </td><td colspan="2">
    770631                            <input type="text" name="postCheckTime" title="<%=intl._t("Timespan for the maximum number of post requests to be reached before a ban is triggered")%>" value="<%=editBean.getPostCheckTime(curTunnel)%>" class="freetext period"/>
    771632                            <%=intl._t("minutes")%>
    772                         </td>
    773                         <td></td>
    774                         <td class="blankColumn"></td>
     633                        </td><td></td><td class="blankColumn"></td>
    775634                    </tr>
    776 
    777             <% } // httpserver
    778           %>
     635<%             } // httpserver
     636%>
    779637
    780638                </table>
    781639            </td>
    782         </tr>
    783 
    784         <tr>
     640        </tr><tr>
    785641            <th colspan="2">
    786642                <%=intl._t("Reduce tunnel quantity when idle")%>
    787643            </th>
    788         </tr>
    789 
    790         <tr>
     644        </tr><tr>
    791645            <td colspan="2">
    792646                <label><input value="1" type="checkbox" id="startOnLoad" name="reduce" <%=(editBean.getReduce(curTunnel) ? " checked=\"checked\"" : "")%> class="tickbox" />
    793647                <%=intl._t("Reduce tunnel quantity when idle to conserve resources")%></label>
    794648            </td>
    795         </tr>
    796         <tr>
     649        </tr><tr>
    797650            <td>
    798651                <b><%=intl._t("Reduced tunnel count")%>:</b>
     
    806659            </td>
    807660        </tr>
    808 
    809661<% /***************** %>
    810 
    811662        <tr>
    812663            <th colspan="2">
    813664                <%=intl._t("New Certificate type")%>
    814665            </th>
    815         </tr>
    816 
    817         <tr>
     666        </tr><tr>
    818667            <td colspan="2">
    819668                <span class="multiOption"><label title="<%=intl._t("No Certificate")%>"><%=intl._t("None")%>
     
    823672                <input type="text" id="port" name="effort" size="2" maxlength="2" title="<%=intl._t("Hashcash Effort")%>" value="<%=editBean.getEffort(curTunnel)%>" class="freetext" /></span>
    824673            </td>
    825         </tr>
    826 
    827         <tr>
     674        </tr><tr>
    828675            <th>
    829676                <%=intl._t("Hashcash Calc Time")%>
    830             </th>
    831             <th>
     677            </th><th>
    832678                <%=intl._t("Hidden")%>
    833679            </th>
    834         </tr>
    835 
    836         <tr>
     680        </tr><tr>
    837681            <td>
    838682                <button class="control" type="submit" name="action" value="Estimate" title="<%=intl._t("Estimate Calculation Time")%>"><%=intl._t("Estimate")%></button>
    839             </td>
    840             <td>
     683            </td><td>
    841684                <input value="2" type="radio" id="startOnLoad" name="cert" title="<%=intl._t("Hidden Certificate")%>"<%=(editBean.getCert(curTunnel)==2 ? " checked=\"checked\"" : "")%> class="tickbox" />
    842685            </td>
    843         </tr>
    844 
    845         <tr>
     686        </tr><tr>
    846687            <th colspan="2">
    847688                <%=intl._t("Signed Certificate")%>
    848689            </th>
    849         </tr>
    850 
    851         <tr>
     690        </tr><tr>
    852691            <td colspan="2">
    853692                <label title="<%=intl._t("Signed Certificate")%>"><%=intl._t("Signed (signed by)")%>:
     
    855694                <input type="text" id="port" name="signer" size="50" title="<%=intl._t("Cert Signer")%>" value="<%=editBean.getSigner(curTunnel)%>" class="freetext" />
    856695            </td>
    857         </tr>
    858 
    859         <tr>
     696        </tr><tr>
    860697            <th colspan="2">
    861698                <%=intl._t("Modify Certificate")%>&nbsp;<%=intl._t("(Tunnel must be stopped first)")%>
    862699            </th>
    863         </tr>
    864 
    865         <tr>
     700        </tr><tr>
    866701            <td colspan="2">
    867702                <button class="control" type="submit" name="action" value="Modify" title="<%=intl._t("Force new Certificate now")%>"><%=intl._t("Modify")%></button>
    868703            </td>
    869704        </tr>
    870 
    871 <% **********************/ %>
    872 
    873          <%
     705<%
     706   **********************/
    874707            int currentSigType = editBean.getSigType(curTunnel, tunnelType);
    875708            if (true /* editBean.isAdvanced() */ ) {
    876709                String disabled = editBean.canChangeSigType(curTunnel) ? "" : " disabled=\"disabled\" ";
    877            %>
     710%>
    878711        <tr>
    879712            <th colspan="2">
    880713                <%=intl._t("Signature type")%> <%-- (<%=intl._t("Experts only! Changes B32!")%>) --%>
    881714            </th>
    882         </tr>
    883         <tr>
     715        </tr><tr>
    884716            <td colspan="2">
    885717                <span class="multiOption">
     
    887719                    DSA-SHA1</label>
    888720                </span>
    889            <% if (editBean.isSigTypeAvailable(1)) { %>
     721<%          if (editBean.isSigTypeAvailable(1)) { %>
    890722                <span class="multiOption">
    891723                    <label><input value="1" type="radio" id="startOnLoad" name="sigType" <%=disabled%> <%=(currentSigType==1 ? " checked=\"checked\"" : "")%> class="tickbox" />
    892724                    ECDSA-P256</label>
    893725                </span>
    894            <% }
     726<%            }
    895727              if (editBean.isSigTypeAvailable(2)) { %>
    896728                <span class="multiOption">
     
    898730                    ECDSA-P384</label>
    899731                </span>
    900            <% }
     732<%            }
    901733              if (editBean.isSigTypeAvailable(3)) { %>
    902734                <span class="multiOption">
     
    904736                    ECDSA-P521</label>
    905737                </span>
    906            <% }
     738<%            }
    907739              if (editBean.isSigTypeAvailable(7)) { %>
    908740                <span class="multiOption">
     
    910742                    Ed25519-SHA-512</label>
    911743                </span>
    912            <% }   // isAvailable %>
    913 
    914             </td>
    915         </tr>
    916 
    917          <% } // isAdvanced %>
    918 
    919          <%
     744<%            }   // isAvailable
     745%>
     746            </td>
     747        </tr>
     748<%          } // isAdvanced
     749
    920750            /* alternate dest, only if current dest is set and is DSA_SHA1 */
    921751
    922752            if (currentSigType == 0 && !"".equals(b64) && !"streamrserver".equals(tunnelType)) {
    923           %>
    924 
     753%>
    925754        <tr>
    926755            <th colspan="2">
    927756                <%=intl._t("Alternate private key file")%> (Ed25519-SHA-512)
    928757            </th>
    929         </tr>
    930 
    931         <tr>
     758        </tr><tr>
    932759            <td colspan="2">
    933760                <input type="text" class="freetext" size="30" id="altPrivKeyFile" name="altPrivKeyFile" title="<%=intl._t("Path to Private Key File")%>" value="<%=editBean.getAltPrivateKeyFile(curTunnel)%>" />
    934761            </td>
    935762        </tr>
    936 
    937          <%
     763<%
    938764              String ab64 = editBean.getAltDestinationBase64(curTunnel);
    939765              if (!"".equals(ab64)) {
    940           %>
    941 
     766%>
    942767        <tr>
    943768            <th colspan="2">
    944769                <%=intl._t("Alternate local destination")%>
    945770            </th>
    946         </tr>
    947 
    948         <tr>
     771        </tr><tr>
    949772            <td colspan="2">
    950773                <div class="displayText" title="<%=intl._t("Read Only: Alternate Local Destination")%>" onblur="resetScrollLeft(this)"><%=ab64%></div>
    951774            </td>
    952         </tr>
    953 
    954         <tr>
     775        </tr><tr>
    955776            <td colspan="2">
    956777                <%=editBean.getAltDestHashBase32(curTunnel)%>
    957778            </td>
    958779        </tr>
    959 
    960         <%
     780<%
    961781                ab64 = ab64.replace("=", "%3d");
    962782                String name = editBean.getSpoofedHost(curTunnel);
     
    965785                // mysite.i2p is set in the installed i2ptunnel.config
    966786                if (name != null && !name.equals("") && !name.equals("mysite.i2p") && !name.contains(" ") && name.endsWith(".i2p")) {
    967            %>
    968 
     787%>
    969788        <tr>
    970789            <td class="buttons" colspan="2">
    971               <%
     790<%
    972791                    if (hasImagegen) {
    973                 %>
     792%>
    974793              <a class="control" title="<%=intl._t("Generate QR Code")%>" href="/imagegen/qr?s=320&amp;t=<%=name%>&amp;c=http%3a%2f%2f<%=name%>%2f%3fi2paddresshelper%3d<%=ab64%>" target="_top"><%=intl._t("Generate QR Code")%></a>
    975               <%
     794<%
    976795                    }
    977796                    if (hasSusiDNS) {
    978                 %>
     797%>
    979798              <a class="control" title="<%=intl._t("Add to Private addressbook")%>" href="/susidns/addressbook.jsp?book=private&amp;hostname=<%=name%>&amp;destination=<%=ab64%>#add"><%=intl._t("Add to local addressbook")%></a>
    980         <%
     799<%
    981800                    }
    982801                } else {
    983             %>
    984 
     802%>
    985803        <tr>
    986804            <td colspan="2">
     
    988806            </td>
    989807        </tr>
    990 
    991         <%
     808<%
    992809                }  // name
    993             %>
    994         <%
    995810              }  // ab64
    996             %>
    997          <% } // currentSigType %>
    998 
     811           } // currentSigType
     812%>
    999813        <tr>
    1000814            <th colspan="2">
    1001815                <%=intl._t("Custom options")%>
    1002816            </th>
    1003         </tr>
    1004         <tr>
     817        </tr><tr>
    1005818            <td colspan="2">
    1006819                <input type="text" class="freetext" id="customOptions" name="nofilter_customOptions" size="60" title="<%=intl._t("Advanced tunnel, streaming, and I2CP options")%>" value="<%=editBean.getCustomOptions(curTunnel)%>" />
    1007820            </td>
    1008         </tr>
    1009 
    1010         <tr>
     821        </tr><tr>
    1011822            <td class="buttons" colspan="2">
    1012823                    <input type="hidden" value="true" name="removeConfirm" />
     
    1016827            </td>
    1017828        </tr>
    1018     </table>
     829</table>
  • apps/i2ptunnel/jsp/index.jsp

    r2960156 rdd5f8b45  
    3333    <% }
    3434  %>
    35 </head>
    36 <body id="tunnelListPage">
    37 
     35</head><body id="tunnelListPage">
    3836<%
    3937  boolean isInitialized = indexBean.isInitialized();
     
    5250        <textarea id="statusMessages" rows="4" cols="60" readonly="readonly"><%=msgs%></textarea>
    5351            </td>
    54         </tr>
    55         <tr>
     52        </tr><tr>
    5653            <td class="buttons">
    5754                <a class="control" href="list"><%=intl._t("Refresh")%></a>
     
    8885    </table>
    8986</div>
    90 
    9187<div class="panel" id="servers">
    92 
    9388    <h2><%=intl._t("I2P Hidden Services")%></h2>
    94 
    9589<table id="serverTunnels">
    9690    <tr>
     
    10296        <th class="tunnelControl"><%=intl._t("Control")%></th>
    10397    </tr>
    104 
    105         <%
     98<%
    10699        for (int curServer = 0; curServer < indexBean.getTunnelCount(); curServer++) {
    107100            if (indexBean.isClient(curServer)) continue;
    108       %>
    109 
    110 
     101%>
    111102    <tr class="tunnelProperties">
    112103        <td class="tunnelName">
    113104            <a href="edit?tunnel=<%=curServer%>" title="<%=intl._t("Edit Server Tunnel Settings for")%>&nbsp;<%=indexBean.getTunnelName(curServer)%>"><%=indexBean.getTunnelName(curServer)%></a>
    114         </td>
    115         <td class="tunnelType"><%=indexBean.getTunnelType(curServer)%></td>
    116         <td class="tunnelLocation">
    117         <%
     105        </td><td class="tunnelType"><%=indexBean.getTunnelType(curServer)%>
     106        </td><td class="tunnelLocation">
     107<%
    118108            if (indexBean.isServerTargetLinkValid(curServer)) {
    119109                if (indexBean.isSSLEnabled(curServer)) { %>
    120110                    <a href="https://<%=indexBean.getServerTarget(curServer)%>/" title="<%=intl._t("Test HTTPS server, bypassing I2P")%>" target="_top"><%=indexBean.getServerTarget(curServer)%> SSL</a>
    121              <% } else { %>
     111<%              } else { %>
    122112                    <a href="http://<%=indexBean.getServerTarget(curServer)%>/" title="<%=intl._t("Test HTTP server, bypassing I2P")%>" target="_top"><%=indexBean.getServerTarget(curServer)%></a>
    123         <%
     113<%
    124114                }
    125115            } else {
    126116          %><%=indexBean.getServerTarget(curServer)%>
    127         <%
     117<%
    128118                if (indexBean.isSSLEnabled(curServer)) { %>
    129119                    SSL
    130         <%
     120<%
    131121                }
    132122            }
    133           %>
    134         </td>
    135         <td class="tunnelPreview">
    136             <%
     123%>
     124        </td><td class="tunnelPreview">
     125<%
    137126            if (("httpserver".equals(indexBean.getInternalType(curServer)) || ("httpbidirserver".equals(indexBean.getInternalType(curServer)))) && indexBean.getTunnelStatus(curServer) == IndexBean.RUNNING) {
    138           %>
     127%>
    139128            <a class="control" title="<%=intl._t("Test HTTP server through I2P")%>" href="http://<%=indexBean.getDestHashBase32(curServer)%>" target="_top"><%=intl._t("Preview")%></a>
    140             <%
     129<%
    141130            } else if (indexBean.getTunnelStatus(curServer) == IndexBean.RUNNING) {
    142131          %><%=intl._t("Base32 Address")%>:<%=indexBean.getDestHashBase32(curServer)%>
    143         <%
     132<%
    144133            } else {
    145134          %><%=intl._t("No Preview")%>
    146         <%
     135<%
    147136            }
    148       %>
    149         </td>
    150         <td class="tunnelStatus">
    151             <%
     137%>
     138        </td><td class="tunnelStatus">
     139<%
    152140            switch (indexBean.getTunnelStatus(curServer)) {
    153141                case IndexBean.STARTING:
    154142          %><div class="statusStarting text" title="<%=intl._t("Starting...")%>"><%=intl._t("Starting...")%></div>
    155         </td>
    156         <td class="tunnelControl">
     143        </td><td class="tunnelControl">
    157144            <a class="control" title="<%=intl._t("Stop this Tunnel")%>" href="list?nonce=<%=nextNonce%>&amp;action=stop&amp;tunnel=<%=curServer%>"><%=intl._t("Stop")%></a>
    158         <%
     145<%
    159146                break;
    160147                case IndexBean.RUNNING:
    161148          %><div class="statusRunning text" title="<%=intl._t("Running")%>"><%=intl._t("Running")%></div>
    162         </td>
    163         <td class="tunnelControl">
     149        </td><td class="tunnelControl">
    164150            <a class="control" title="<%=intl._t("Stop this Tunnel")%>" href="list?nonce=<%=nextNonce%>&amp;action=stop&amp;tunnel=<%=curServer%>"><%=intl._t("Stop")%></a>
    165         <%
     151<%
    166152                break;
    167153                case IndexBean.NOT_RUNNING:
    168154          %><div class="statusNotRunning text" title="<%=intl._t("Stopped")%>"><%=intl._t("Stopped")%></div>
    169         </td>
    170         <td class="tunnelControl">
     155        </td><td class="tunnelControl">
    171156            <a class="control" title="<%=intl._t("Start this Tunnel")%>" href="list?nonce=<%=nextNonce%>&amp;action=start&amp;tunnel=<%=curServer%>"><%=intl._t("Start")%></a>
    172         <%
     157<%
    173158                break;
    174159            }
    175       %>
    176         </td>
    177     </tr>
    178 
    179     <tr>
     160%>
     161        </td>
     162    </tr><tr>
    180163        <td class="tunnelDestination" colspan="6">
    181164            <span class="tunnelDestinationLabel">
    182          <%
     165<%
    183166                String name = indexBean.getSpoofedHost(curServer);
    184167                    if (name == null || name.equals("")) {
     
    194177                       out.write(name);
    195178                   }
    196           %>
    197         </td>
    198     </tr>
    199 
    200     <%
     179%>
     180        </td>
     181    </tr>
     182<%
    201183            String encName = indexBean.getEncryptedBase32(curServer);
    202184            if (encName != null && encName.length() > 0) {
    203       %>
     185%>
    204186    <tr>
    205187        <td class="tunnelDestination" colspan="6">
     
    208190        </td>
    209191    </tr>
    210     <%
     192<%
    211193            } // encName
    212       %>
    213 
     194%>
    214195    <tr>
    215196        <td class="tunnelDescription" colspan="6">
     
    218199        </td>
    219200    </tr>
    220 
    221         <%
     201<%
    222202        } // for loop
    223       %>
    224 
     203%>
    225204    <tr>
    226205        <td class="newTunnel" colspan="6">
     
    240219</table>
    241220</div>
    242 
    243221<div class="panel" id="clients">
    244222    <h2><%=intl._t("I2P Client Tunnels")%></h2>
    245 
    246223<table id="clientTunnels">
    247224    <tr>
     
    253230        <th class="tunnelControl"><%=intl._t("Control")%></th>
    254231    </tr>
    255 
    256         <%
     232<%
    257233        for (int curClient = 0; curClient < indexBean.getTunnelCount(); curClient++) {
    258234            if (!indexBean.isClient(curClient)) continue;
    259       %>
    260 
    261 
     235%>
    262236    <tr class="tunnelProperties">
    263237        <td class="tunnelName">
    264238            <a href="edit?tunnel=<%=curClient%>" title="<%=intl._t("Edit Tunnel Settings for")%>&nbsp;<%=indexBean.getTunnelName(curClient)%>"><%=indexBean.getTunnelName(curClient)%></a>
    265         </td>
    266 
    267         <td class="tunnelType"><%=indexBean.getTunnelType(curClient)%></td>
    268         <td class="tunnelInterface">
    269          <%
     239        </td><td class="tunnelType"><%=indexBean.getTunnelType(curClient)%>
     240        </td><td class="tunnelInterface">
     241<%
    270242               /* should only happen for streamr client */
    271243               String cHost= indexBean.getClientInterface(curClient);
     
    277249                   out.write(cHost);
    278250               }
    279           %>
    280         </td>
    281         <td class="tunnelPort">
    282          <%
     251%>
     252        </td><td class="tunnelPort">
     253<%
    283254               String cPort= indexBean.getClientPort2(curClient);
    284255               out.write(cPort);
    285256               if (indexBean.isSSLEnabled(curClient))
    286257                   out.write(" SSL");
    287           %>
    288         </td>
    289         <td class="tunnelStatus">
    290             <%
     258%>
     259        </td><td class="tunnelStatus">
     260<%
    291261            switch (indexBean.getTunnelStatus(curClient)) {
    292262                case IndexBean.STARTING:
    293263          %><div class="statusStarting text" title="<%=intl._t("Starting...")%>"><%=intl._t("Starting...")%></div>
    294         </td>
    295         <td class="tunnelControl">
     264        </td><td class="tunnelControl">
    296265            <a class="control" title="<%=intl._t("Stop this Tunnel")%>" href="list?nonce=<%=nextNonce%>&amp;action=stop&amp;tunnel=<%=curClient%>"><%=intl._t("Stop")%></a>
    297         <%
     266<%
    298267                break;
    299268                case IndexBean.STANDBY:
    300269          %><div class="statusStarting text" title="<%=intl._t("Standby")%>"><%=intl._t("Standby")%></div>
    301         </td>
    302         <td class="tunnelControl">
     270        </td><td class="tunnelControl">
    303271            <a class="control" title="Stop this Tunnel" href="list?nonce=<%=nextNonce%>&amp;action=stop&amp;tunnel=<%=curClient%>"><%=intl._t("Stop")%></a>
    304         <%
     272<%
    305273                break;
    306274                case IndexBean.RUNNING:
    307275          %><div class="statusRunning text" title="<%=intl._t("Running")%>"><%=intl._t("Running")%></div>
    308         </td>
    309         <td class="tunnelControl">
     276        </td><td class="tunnelControl">
    310277            <a class="control" title="Stop this Tunnel" href="list?nonce=<%=nextNonce%>&amp;action=stop&amp;tunnel=<%=curClient%>"><%=intl._t("Stop")%></a>
    311         <%
     278<%
    312279                break;
    313280                case IndexBean.NOT_RUNNING:
    314281          %><div class="statusNotRunning text" title="<%=intl._t("Stopped")%>"><%=intl._t("Stopped")%></div>
    315         </td>
    316         <td class="tunnelControl">
     282        </td><td class="tunnelControl">
    317283            <a class="control" title="<%=intl._t("Start this Tunnel")%>" href="list?nonce=<%=nextNonce%>&amp;action=start&amp;tunnel=<%=curClient%>"><%=intl._t("Start")%></a>
    318         <%
     284<%
    319285                break;
    320286            }
    321       %>
    322         </td>
    323     </tr>
    324     <tr>
     287%>
     288        </td>
     289    </tr><tr>
    325290        <td class="tunnelDestination" colspan="6">
    326291            <span class="tunnelDestinationLabel">
    327             <% if ("httpclient".equals(indexBean.getInternalType(curClient)) || "connectclient".equals(indexBean.getInternalType(curClient)) ||
     292<%            if ("httpclient".equals(indexBean.getInternalType(curClient)) || "connectclient".equals(indexBean.getInternalType(curClient)) ||
    328293                   "sockstunnel".equals(indexBean.getInternalType(curClient)) || "socksirctunnel".equals(indexBean.getInternalType(curClient))) { %>
    329294                <b><%=intl._t("Outproxy")%>:</b>
    330             <% } else { %>
     295<%            } else { %>
    331296                <b><%=intl._t("Destination")%>:</b>
    332             <% } %>
     297 <%            } %>
    333298</span>
    334             <%
     299<%
    335300               if (indexBean.getIsUsingOutproxyPlugin(curClient)) {
    336301                   %><%=intl._t("internal plugin")%><%
     
    347312        </td>
    348313    </tr>
    349         <% /* TODO SSL outproxy for httpclient if plugin not present */ %>
     314<% /* TODO SSL outproxy for httpclient if plugin not present */ %>
    350315    <tr>
    351316        <td class="tunnelDescription" colspan="6">
     
    354319        </td>
    355320    </tr>
    356         <%
     321<%
    357322        }
    358       %>
     323%>
    359324    <tr>
    360325        <td class="newTunnel" colspan="6">
     
    376341</table>
    377342</div>
    378 
    379343<%
    380344
     
    382346
    383347%>
    384 
    385 </body>
    386 </html>
     348</body></html>
Note: See TracChangeset for help on using the changeset viewer.