Changeset 25d16b13


Ignore:
Timestamp:
Jan 6, 2018 8:19:55 PM (2 years ago)
Author:
zzz <zzz@…>
Branches:
master
Children:
9f7ec39
Parents:
f32d3aae
Message:

i2ptunnel: Advanced config in/out tunnels separately

Files:
10 edited

Legend:

Unmodified
Added
Removed
  • apps/i2ptunnel/java/src/net/i2p/i2ptunnel/ui/GeneralHelper.java

    rf32d3aae r25d16b13  
    430430    }
    431431
     432    /** Inbound or both in/out */
    432433    public int getTunnelDepth(int tunnel, int defaultLength) {
    433434        return getProperty(tunnel, "inbound.length", defaultLength);
    434435    }
    435436
     437    /** Inbound or both in/out */
    436438    public int getTunnelQuantity(int tunnel, int defaultQuantity) {
    437439        return getProperty(tunnel, "inbound.quantity", defaultQuantity);
    438440    }
    439441
     442    /** Inbound or both in/out */
    440443    public int getTunnelBackupQuantity(int tunnel, int defaultBackupQuantity) {
    441444        return getProperty(tunnel, "inbound.backupQuantity", defaultBackupQuantity);
    442445    }
    443446
     447    /** Inbound or both in/out */
    444448    public int getTunnelVariance(int tunnel, int defaultVariance) {
    445449        return getProperty(tunnel, "inbound.lengthVariance", defaultVariance);
     450    }
     451
     452    /** @since 0.9.33 */
     453    public int getTunnelDepthOut(int tunnel, int defaultLength) {
     454        return getProperty(tunnel, "outbound.length", defaultLength);
     455    }
     456
     457    /** @since 0.9.33 */
     458    public int getTunnelQuantityOut(int tunnel, int defaultQuantity) {
     459        return getProperty(tunnel, "outbound.quantity", defaultQuantity);
     460    }
     461
     462    /** @since 0.9.33 */
     463    public int getTunnelBackupQuantityOut(int tunnel, int defaultBackupQuantity) {
     464        return getProperty(tunnel, "outbound.backupQuantity", defaultBackupQuantity);
     465    }
     466
     467    /** @since 0.9.33 */
     468    public int getTunnelVarianceOut(int tunnel, int defaultVariance) {
     469        return getProperty(tunnel, "outbound.lengthVariance", defaultVariance);
    446470    }
    447471
  • apps/i2ptunnel/java/src/net/i2p/i2ptunnel/ui/TunnelConfig.java

    rf32d3aae r25d16b13  
    5151    private int _tunnelVariance = -3;
    5252    private int _tunnelBackupQuantity = -1;
     53    private int _tunnelDepthOut = -1;
     54    private int _tunnelQuantityOut = -1;
     55    private int _tunnelVarianceOut = -3;
     56    private int _tunnelBackupQuantityOut = -1;
    5357    private boolean _connectDelay;
    5458    private String _customOptions;
     
    105109        _i2cpPort = (port != null ? port.trim() : null);
    106110    }
    107     /** how many hops to use for inbound tunnels */
     111
     112    /** how many hops to use for inbound tunnels
     113     *  In or both in/out
     114     */
    108115    public void setTunnelDepth(int tunnelDepth) {
    109116        _tunnelDepth = tunnelDepth;
    110117    }
    111     /** how many parallel inbound tunnels to use */
     118
     119    /** how many parallel inbound tunnels to use
     120     *  In or both in/out
     121     */
    112122    public void setTunnelQuantity(int tunnelQuantity) {
    113123        _tunnelQuantity = tunnelQuantity;
    114124    }
    115     /** how much randomisation to apply to the depth of tunnels */
     125
     126    /** how much randomisation to apply to the depth of tunnels
     127     *  In or both in/out
     128     */
    116129    public void setTunnelVariance(int tunnelVariance) {
    117130        _tunnelVariance = tunnelVariance;
    118131    }
    119     /** how many tunnels to hold in reserve to guard against failures */
     132
     133    /** how many tunnels to hold in reserve to guard against failures
     134     *  In or both in/out
     135     */
    120136    public void setTunnelBackupQuantity(int tunnelBackupQuantity) {
    121137        _tunnelBackupQuantity = tunnelBackupQuantity;
    122138    }
     139
     140    /** how many hops to use for outbound tunnels
     141     *  @since 0.9.33
     142     */
     143    public void setTunnelDepthOut(int tunnelDepth) {
     144        _tunnelDepthOut = tunnelDepth;
     145    }
     146
     147    /** how many parallel outbound tunnels to use
     148     *  @since 0.9.33
     149     */
     150    public void setTunnelQuantityOut(int tunnelQuantity) {
     151        _tunnelQuantityOut = tunnelQuantity;
     152    }
     153
     154    /** how much randomisation to apply to the depth of tunnels
     155     *  @since 0.9.33
     156     */
     157    public void setTunnelVarianceOut(int tunnelVariance) {
     158        _tunnelVarianceOut = tunnelVariance;
     159    }
     160
     161    /** how many tunnels to hold in reserve to guard against failures
     162     *  @since 0.9.33
     163     */
     164    public void setTunnelBackupQuantityOut(int tunnelBackupQuantity) {
     165        _tunnelBackupQuantityOut = tunnelBackupQuantity;
     166    }
     167
    123168    /** what I2P session overrides should be used */
    124169    public void setCustomOptions(String customOptions) {
     
    841886        if (_tunnelQuantity >= 0) {
    842887            config.setProperty("option.inbound.quantity", Integer.toString(_tunnelQuantity));
    843             config.setProperty("option.outbound.quantity", Integer.toString(_tunnelQuantity));
     888            if (_tunnelQuantityOut < 0)
     889                _tunnelQuantityOut = _tunnelQuantity;
     890            config.setProperty("option.outbound.quantity", Integer.toString(_tunnelQuantityOut));
    844891        }
    845892        if (_tunnelDepth >= 0) {
    846893            config.setProperty("option.inbound.length", Integer.toString(_tunnelDepth));
    847             config.setProperty("option.outbound.length", Integer.toString(_tunnelDepth));
     894            if (_tunnelDepthOut < 0)
     895                _tunnelDepthOut = _tunnelDepth;
     896            config.setProperty("option.outbound.length", Integer.toString(_tunnelDepthOut));
    848897        }
    849898        if (_tunnelVariance >= -2) {
    850899            config.setProperty("option.inbound.lengthVariance", Integer.toString(_tunnelVariance));
    851             config.setProperty("option.outbound.lengthVariance", Integer.toString(_tunnelVariance));
     900            if (_tunnelVarianceOut < -2)
     901                _tunnelVarianceOut = _tunnelVariance;
     902            config.setProperty("option.outbound.lengthVariance", Integer.toString(_tunnelVarianceOut));
    852903        }
    853904        if (_tunnelBackupQuantity >= 0) {
    854905            config.setProperty("option.inbound.backupQuantity", Integer.toString(_tunnelBackupQuantity));
    855             config.setProperty("option.outbound.backupQuantity", Integer.toString(_tunnelBackupQuantity));
     906            if (_tunnelBackupQuantityOut < 0)
     907                _tunnelBackupQuantityOut = _tunnelBackupQuantity;
     908            config.setProperty("option.outbound.backupQuantity", Integer.toString(_tunnelBackupQuantityOut));
    856909        }
    857910    }
  • apps/i2ptunnel/java/src/net/i2p/i2ptunnel/web/EditBean.java

    rf32d3aae r25d16b13  
    143143    }
    144144   
     145    /** in or both in/out */
    145146    public int getTunnelDepth(int tunnel, int defaultLength) {
    146147        return _helper.getTunnelDepth(tunnel, defaultLength);
    147148    }
    148149   
     150    /** in or both in/out */
    149151    public int getTunnelQuantity(int tunnel, int defaultQuantity) {
    150152        return _helper.getTunnelQuantity(tunnel, defaultQuantity);
    151153    }
    152154   
     155    /** in or both in/out */
    153156    public int getTunnelBackupQuantity(int tunnel, int defaultBackupQuantity) {
    154157        return _helper.getTunnelBackupQuantity(tunnel, defaultBackupQuantity);
    155158    }
    156159 
     160    /** in or both in/out */
    157161    public int getTunnelVariance(int tunnel, int defaultVariance) {
    158162        return _helper.getTunnelVariance(tunnel, defaultVariance);
     163    }
     164   
     165    /** @since 0.9.33 */
     166    public int getTunnelDepthOut(int tunnel, int defaultLength) {
     167        return _helper.getTunnelDepthOut(tunnel, defaultLength);
     168    }
     169   
     170    /** @since 0.9.33 */
     171    public int getTunnelQuantityOut(int tunnel, int defaultQuantity) {
     172        return _helper.getTunnelQuantityOut(tunnel, defaultQuantity);
     173    }
     174   
     175    /** @since 0.9.33 */
     176    public int getTunnelBackupQuantityOut(int tunnel, int defaultBackupQuantity) {
     177        return _helper.getTunnelBackupQuantityOut(tunnel, defaultBackupQuantity);
     178    }
     179 
     180    /** @since 0.9.33 */
     181    public int getTunnelVarianceOut(int tunnel, int defaultVariance) {
     182        return _helper.getTunnelVarianceOut(tunnel, defaultVariance);
    159183    }
    160184   
     
    427451
    428452    /**
     453     *  @param mode 0=both, 1=in, 2=out
    429454     *  @since 0.9.7
    430455     */
    431     public String getQuantityOptions(int tunnel) {
    432         int tunnelQuantity = getTunnelQuantity(tunnel, DFLT_QUANTITY);
     456    public String getQuantityOptions(int tunnel, int mode) {
     457        int tunnelQuantity = mode == 2 ? getTunnelQuantityOut(tunnel, DFLT_QUANTITY)
     458                                       : getTunnelQuantity(tunnel, DFLT_QUANTITY);
    433459        boolean advanced = _context.getBooleanProperty(PROP_ADVANCED);
    434460        int maxQuantity = advanced ? MAX_ADVANCED_QUANTITY :
     
    442468                 buf.append(" selected=\"selected\"");
    443469             buf.append('>');
    444              buf.append(ngettext("{0} inbound, {0} outbound tunnel", "{0} inbound, {0} outbound tunnels", i));
     470             if (mode == 1)
     471                 buf.append(ngettext("{0} inbound tunnel", "{0} inbound tunnels", i));
     472             else if (mode == 2)
     473                 buf.append(ngettext("{0} outbound tunnel", "{0} outbound tunnels", i));
     474             else
     475                 buf.append(ngettext("{0} inbound, {0} outbound tunnel", "{0} inbound, {0} outbound tunnels", i));
    445476             if (i <= 3) {
    446477                 buf.append(" (");
  • apps/i2ptunnel/java/src/net/i2p/i2ptunnel/web/IndexBean.java

    rf32d3aae r25d16b13  
    622622        _config.setClientPort(port);
    623623    }
    624     /** how many hops to use for inbound tunnels */
     624
     625    /** how many hops to use for inbound tunnels
     626     *  In or both in/out
     627     */
    625628    public void setTunnelDepth(String tunnelDepth) {
    626629        if (tunnelDepth != null) {
     
    630633        }
    631634    }
    632     /** how many parallel inbound tunnels to use */
     635
     636    /** how many parallel inbound tunnels to use
     637     *  In or both in/out
     638     */
    633639    public void setTunnelQuantity(String tunnelQuantity) {
    634640        if (tunnelQuantity != null) {
     
    638644        }
    639645    }
    640     /** how much randomisation to apply to the depth of tunnels */
     646
     647    /** how much randomisation to apply to the depth of tunnels
     648     *  In or both in/out
     649     */
    641650    public void setTunnelVariance(String tunnelVariance) {
    642651        if (tunnelVariance != null) {
     
    646655        }
    647656    }
    648     /** how many tunnels to hold in reserve to guard against failures */
     657
     658    /** how many tunnels to hold in reserve to guard against failures
     659     *  In or both in/out
     660     */
    649661    public void setTunnelBackupQuantity(String tunnelBackupQuantity) {
    650662        if (tunnelBackupQuantity != null) {
     
    654666        }
    655667    }
     668
     669    /** how many hops to use for inbound tunnels
     670     *  @since 0.9.33
     671     */
     672    public void setTunnelDepthOut(String tunnelDepth) {
     673        if (tunnelDepth != null) {
     674            try {
     675                _config.setTunnelDepthOut(Integer.parseInt(tunnelDepth.trim()));
     676            } catch (NumberFormatException nfe) {}
     677        }
     678    }
     679
     680    /** how many parallel inbound tunnels to use
     681     *  @since 0.9.33
     682     */
     683    public void setTunnelQuantityOut(String tunnelQuantity) {
     684        if (tunnelQuantity != null) {
     685            try {
     686                _config.setTunnelQuantityOut(Integer.parseInt(tunnelQuantity.trim()));
     687            } catch (NumberFormatException nfe) {}
     688        }
     689    }
     690
     691    /** how much randomisation to apply to the depth of tunnels
     692     *  @since 0.9.33
     693     */
     694    public void setTunnelVarianceOut(String tunnelVariance) {
     695        if (tunnelVariance != null) {
     696            try {
     697                _config.setTunnelVarianceOut(Integer.parseInt(tunnelVariance.trim()));
     698            } catch (NumberFormatException nfe) {}
     699        }
     700    }
     701
     702    /** how many tunnels to hold in reserve to guard against failures
     703     *  @since 0.9.33
     704     */
     705    public void setTunnelBackupQuantityOut(String tunnelBackupQuantity) {
     706        if (tunnelBackupQuantity != null) {
     707            try {
     708                _config.setTunnelBackupQuantityOut(Integer.parseInt(tunnelBackupQuantity.trim()));
     709            } catch (NumberFormatException nfe) {}
     710        }
     711    }
     712
    656713    /** what I2P session overrides should be used */
    657714    public void setNofilter_customOptions(String customOptions) {
  • apps/i2ptunnel/jsp/editClient.jsp

    rf32d3aae r25d16b13  
    370370            <td>
    371371                <select id="tunnelQuantity" name="tunnelQuantity" title="<%=intl._t("Number of Tunnels in Group")%>" class="selectbox">
    372                     <%=editBean.getQuantityOptions(curTunnel)%>
     372                    <%=editBean.getQuantityOptions(curTunnel, 0)%>
    373373                </select>
    374374            </td>
  • apps/i2ptunnel/jsp/editServer.jsp

    rf32d3aae r25d16b13  
    311311        </tr>
    312312
     313    <% if (editBean.isAdvanced()) {
     314      %><tr>
     315            <th colspan="2">
     316                <%=intl._t("Inbound")%>
     317            </th>
     318        </tr><%
     319      }  // isAdvanced()
     320     %>
     321
    313322        <tr>
    314323            <td>
     
    368377            <td>
    369378                <select id="tunnelQuantity" name="tunnelQuantity" title="<%=intl._t("Number of Tunnels in Group")%>" class="selectbox">
    370                     <%=editBean.getQuantityOptions(curTunnel)%>
     379                    <%=editBean.getQuantityOptions(curTunnel, editBean.isAdvanced() ? 1 : 0)%>
    371380                </select>
    372381            </td>
     
    375384                <select id="tunnelBackupQuantity" name="tunnelBackupQuantity" title="<%=intl._t("Number of Reserve Tunnels")%>" class="selectbox">
    376385                    <% int tunnelBackupQuantity = editBean.getTunnelBackupQuantity(curTunnel, 0);
     386                   if (editBean.isAdvanced()) {
     387                       // TODO ngettext
     388                  %><option value="0"<%=(tunnelBackupQuantity == 0 ? " selected=\"selected\"" : "") %>>0 <%=intl._t("backup tunnels")%></option>
     389                    <option value="1"<%=(tunnelBackupQuantity == 1 ? " selected=\"selected\"" : "") %>>1 <%=intl._t("backup tunnels")%></option>
     390                    <option value="2"<%=(tunnelBackupQuantity == 2 ? " selected=\"selected\"" : "") %>>2 <%=intl._t("backup tunnels")%></option>
     391                    <option value="3"<%=(tunnelBackupQuantity == 3 ? " selected=\"selected\"" : "") %>>3 <%=intl._t("backup tunnels")%></option>
     392                 <%
     393                   } else {
    377394                  %><option value="0"<%=(tunnelBackupQuantity == 0 ? " selected=\"selected\"" : "") %>><%=intl._t("0 backup tunnels (0 redundancy, no added resource usage)")%></option>
    378395                    <option value="1"<%=(tunnelBackupQuantity == 1 ? " selected=\"selected\"" : "") %>><%=intl._t("1 backup tunnel each direction (low redundancy, low resource usage)")%></option>
    379396                    <option value="2"<%=(tunnelBackupQuantity == 2 ? " selected=\"selected\"" : "") %>><%=intl._t("2 backup tunnels each direction (medium redundancy, medium resource usage)")%></option>
    380397                    <option value="3"<%=(tunnelBackupQuantity == 3 ? " selected=\"selected\"" : "") %>><%=intl._t("3 backup tunnels each direction (high redundancy, high resource usage)")%></option>
    381                 <% if (tunnelBackupQuantity > 3) {
     398                <% } // isAdvanced()
     399                   if (tunnelBackupQuantity > 3) {
    382400                %>    <option value="<%=tunnelBackupQuantity%>" selected="selected"><%=tunnelBackupQuantity%> <%=intl._t("backup tunnels")%></option>
    383401                <% }
     
    385403            </td>
    386404        </tr>
     405
     406    <% if (editBean.isAdvanced()) {
     407       // repeat four options above for outbound
     408      %><tr>
     409            <th colspan="2">
     410                <%=intl._t("Outbound")%>
     411            </th>
     412        </tr>
     413        <tr>
     414            <td>
     415                <b><%=intl._t("Length")%></b>
     416            </td>
     417            <td>
     418                <b><%=intl._t("Variance")%></b>
     419            </td>
     420        </tr>
     421        <tr>
     422            <td>
     423                <select id="tunnelDepthOut" name="tunnelDepthOut" title="<%=intl._t("Length of each Tunnel")%>" class="selectbox">
     424                    <% int tunnelDepthOut = editBean.getTunnelDepthOut(curTunnel, 3);
     425                  %><option value="0"<%=(tunnelDepthOut == 0 ? " selected=\"selected\"" : "") %>><%=intl._t("0 hop tunnel (no anonymity)")%></option>
     426                    <option value="1"<%=(tunnelDepthOut == 1 ? " selected=\"selected\"" : "") %>><%=intl._t("1 hop tunnel (low anonymity)")%></option>
     427                    <option value="2"<%=(tunnelDepthOut == 2 ? " selected=\"selected\"" : "") %>><%=intl._t("2 hop tunnel (medium anonymity)")%></option>
     428                    <option value="3"<%=(tunnelDepthOut == 3 ? " selected=\"selected\"" : "") %>><%=intl._t("3 hop tunnel (high anonymity)")%></option>
     429                    <option value="4"<%=(tunnelDepthOut == 4 ? " selected=\"selected\"" : "") %>>4 hop tunnel</option>
     430                    <option value="5"<%=(tunnelDepthOut == 5 ? " selected=\"selected\"" : "") %>>5 hop tunnel</option>
     431                    <option value="6"<%=(tunnelDepthOut == 6 ? " selected=\"selected\"" : "") %>>6 hop tunnel</option>
     432                    <option value="7"<%=(tunnelDepthOut == 7 ? " selected=\"selected\"" : "") %>>7 hop tunnel</option>
     433                </select>
     434            </td>
     435            <td>
     436                <select id="tunnelVarianceOut" name="tunnelVarianceOut" title="<%=intl._t("Level of Randomization for Tunnel Depth")%>" class="selectbox">
     437                    <% int tunnelVarianceOut = editBean.getTunnelVarianceOut(curTunnel, 0);
     438                  %><option value="0"<%=(tunnelVarianceOut  ==  0 ? " selected=\"selected\"" : "") %>><%=intl._t("0 hop variance (no randomization, consistent performance)")%></option>
     439                    <option value="1"<%=(tunnelVarianceOut  ==  1 ? " selected=\"selected\"" : "") %>><%=intl._t("+ 0-1 hop variance (medium additive randomization, subtractive performance)")%></option>
     440                    <option value="2"<%=(tunnelVarianceOut  ==  2 ? " selected=\"selected\"" : "") %>><%=intl._t("+ 0-2 hop variance (high additive randomization, subtractive performance)")%></option>
     441                    <option value="-1"<%=(tunnelVarianceOut == -1 ? " selected=\"selected\"" : "") %>><%=intl._t("+/- 0-1 hop variance (standard randomization, standard performance)")%></option>
     442                    <option value="-2"<%=(tunnelVarianceOut == -2 ? " selected=\"selected\"" : "") %>><%=intl._t("+/- 0-2 hop variance (not recommended)")%></option>
     443                <% if (tunnelVarianceOut > 2 || tunnelVarianceOut < -2) {
     444                %>    <option value="<%=tunnelVarianceOut%>" selected="selected"><%= (tunnelVarianceOut > 2 ? "+ " : "+/- ") %>0-<%=tunnelVarianceOut%> <%=intl._t("hop variance")%></option>
     445                <% }
     446              %></select>
     447            </td>
     448        </tr>
     449        <tr>
     450            <td>
     451                <b><%=intl._t("Count")%></b>
     452            </td>
     453
     454            <td>
     455                <b><%=intl._t("Backup Count")%></b>
     456            </td>
     457        </tr>
     458        <tr>
     459            <td>
     460                <select id="tunnelQuantityOut" name="tunnelQuantityOut" title="<%=intl._t("Number of Tunnels in Group")%>" class="selectbox">
     461                    <%=editBean.getQuantityOptions(curTunnel, 2)%>
     462                </select>
     463            </td>
     464            <td>
     465                <select id="tunnelBackupQuantityOut" name="tunnelBackupQuantityOut" title="<%=intl._t("Number of Reserve Tunnels")%>" class="selectbox">
     466                    <% int tunnelBackupQuantityOut = editBean.getTunnelBackupQuantityOut(curTunnel, 0);
     467                       // TODO ngettext
     468                  %><option value="0"<%=(tunnelBackupQuantityOut == 0 ? " selected=\"selected\"" : "") %>>0 <%=intl._t("backup tunnels")%></option>
     469                    <option value="1"<%=(tunnelBackupQuantityOut == 1 ? " selected=\"selected\"" : "") %>>1 <%=intl._t("backup tunnels")%></option>
     470                    <option value="2"<%=(tunnelBackupQuantityOut == 2 ? " selected=\"selected\"" : "") %>>2 <%=intl._t("backup tunnels")%></option>
     471                    <option value="3"<%=(tunnelBackupQuantityOut == 3 ? " selected=\"selected\"" : "") %>>3 <%=intl._t("backup tunnels")%></option>
     472                <% if (tunnelBackupQuantityOut > 3) {
     473                %>    <option value="<%=tunnelBackupQuantityOut%>" selected="selected"><%=tunnelBackupQuantityOut%> <%=intl._t("backup tunnels")%></option>
     474                <% }
     475              %></select>
     476            </td>
     477        </tr>
     478    <%
     479      }  // isAdvanced() End outbound config section
     480     %>
    387481
    388482         <% if (!"streamrserver".equals(tunnelType)) { %>
  • installer/resources/themes/console/classic/i2ptunnel.css

    rf32d3aae r25d16b13  
    577577
    578578#tunnelDepth, #tunnelVariance, #tunnelQuantity, #tunnelBackupQuantity,
     579#tunnelDepthOut, #tunnelVarianceOut, #tunnelQuantityOut, #tunnelBackupQuantityOut,
    579580#localDestination, #customOptions, #leasesetKey, #name, #description, textarea[name="accessList"] {
    580581     width: 100% !important;
     
    866867}
    867868
    868 #tunnelDepth, #tunnelVariance, #tunnelQuantity, #tunnelBackupQuantity, #leasesetKey {
     869#tunnelDepth, #tunnelVariance, #tunnelQuantity, #tunnelBackupQuantity,
     870#tunnelDepthOut, #tunnelVarianceOut, #tunnelQuantityOut, #tunnelBackupQuantityOut,
     871#leasesetKey {
    869872     margin: 5px !important;
    870873     width: calc(100% - 10px) !important;
     
    908911
    909912@media screen and (max-width: 700px) {
    910 #leasesetKey, #tunnelDepth, #tunnelVariance, #tunnelQuantity, #tunnelBackupQuantity, #leasesetKey {
     913#tunnelDepth, #tunnelVariance, #tunnelQuantity, #tunnelBackupQuantity,
     914#tunnelDepthOut, #tunnelVarianceOut, #tunnelQuantityOut, #tunnelBackupQuantityOut,
     915#leasesetKey {
    911916    min-width: 270px;
    912917}
  • installer/resources/themes/console/dark/i2ptunnel.css

    rf32d3aae r25d16b13  
    703703}
    704704
    705 #tunnelDepth, #tunnelVariance, #tunnelQuantity, #tunnelBackupQuantity {
     705#tunnelDepth, #tunnelVariance, #tunnelQuantity, #tunnelBackupQuantity,
     706#tunnelDepthOut, #tunnelVarianceOut, #tunnelQuantityOut, #tunnelBackupQuantityOut {
    706707     white-space: nowrap;
    707708     overflow: hidden;
     
    711712
    712713#tunnelDepth, #tunnelVariance, #tunnelQuantity, #tunnelBackupQuantity,
     714#tunnelDepthOut, #tunnelVarianceOut, #tunnelQuantityOut, #tunnelBackupQuantityOut,
    713715#localDestination, #customOptions, #leasesetKey, #name, #description, textarea[name="accessList"] {
    714716     width: 100% !important;
     
    10341036}
    10351037
    1036 #tunnelDepth, #tunnelVariance, #tunnelQuantity, #tunnelBackupQuantity, #leasesetKey {
     1038#tunnelDepth, #tunnelVariance, #tunnelQuantity, #tunnelBackupQuantity,
     1039#tunnelDepthOut, #tunnelVarianceOut, #tunnelQuantityOut, #tunnelBackupQuantityOut,
     1040#leasesetKey {
    10371041     margin: 5px !important;
    10381042     width: calc(100% - 10px) !important;
  • installer/resources/themes/console/light/i2ptunnel.css

    rf32d3aae r25d16b13  
    602602
    603603#tunnelDepth, #tunnelVariance, #tunnelQuantity, #tunnelBackupQuantity,
     604#tunnelDepthOut, #tunnelVarianceOut, #tunnelQuantityOut, #tunnelBackupQuantityOut,
    604605#localDestination, #customOptions, #leasesetKey, #name, #description, textarea[name="accessList"] {
    605606     width: 100% !important;
     
    898899}
    899900
    900 #tunnelDepth, #tunnelVariance, #tunnelQuantity, #tunnelBackupQuantity, #leasesetKey {
     901#tunnelDepth, #tunnelVariance, #tunnelQuantity, #tunnelBackupQuantity,
     902#tunnelDepthOut, #tunnelVarianceOut, #tunnelQuantityOut, #tunnelBackupQuantityOut,
     903#leasesetKey {
    901904     margin: 5px !important;
    902905     width: calc(100% - 10px) !important;
  • installer/resources/themes/console/midnight/i2ptunnel.css

    rf32d3aae r25d16b13  
    638638}
    639639
    640 #tunnelDepth, #tunnelVariance, #tunnelQuantity, #tunnelBackupQuantity {
     640#tunnelDepth, #tunnelVariance, #tunnelQuantity, #tunnelBackupQuantity,
     641#tunnelDepthOut, #tunnelVarianceOut, #tunnelQuantityOut, #tunnelBackupQuantityOut {
    641642     white-space: nowrap;
    642643     overflow: hidden;
     
    646647
    647648#tunnelDepth, #tunnelVariance, #tunnelQuantity, #tunnelBackupQuantity,
     649#tunnelDepthOut, #tunnelVarianceOut, #tunnelQuantityOut, #tunnelBackupQuantityOut,
    648650#localDestination, #customOptions, #leasesetKey, #name, #description, textarea[name="accessList"] {
    649651     width: 100% !important;
     
    956958}
    957959
    958 #tunnelDepth, #tunnelVariance, #tunnelQuantity, #tunnelBackupQuantity, #leasesetKey {
     960#tunnelDepth, #tunnelVariance, #tunnelQuantity, #tunnelBackupQuantity,
     961#tunnelDepthOut, #tunnelVarianceOut, #tunnelQuantityOut, #tunnelBackupQuantityOut,
     962#leasesetKey {
    959963     margin: 5px !important;
    960964     width: calc(100% - 10px) !important;
Note: See TracChangeset for help on using the changeset viewer.