I2P Address: [http://git.idk.i2p]

Skip to content
Snippets Groups Projects
  • jrandom's avatar
    566a713b
    2005-02-16 jrandom · 566a713b
    jrandom authored and zzz's avatar zzz committed
        * (Merged the 0.5-pre branch back into CVS HEAD)
        * Replaced the old tunnel routing crypto with the one specified in
          router/doc/tunnel-alt.html, including updates to the web console to view
          and tweak it.
        * Provide the means for routers to reject tunnel requests with a wider
          range of responses:
            probabalistic rejection, due to approaching overload
            transient rejection, due to temporary overload
            bandwidth rejection, due to persistent bandwidth overload
            critical rejection, due to general router fault (or imminent shutdown)
          The different responses are factored into the profiles accordingly.
        * Replaced the old I2CP tunnel related options (tunnels.depthInbound, etc)
          with a series of new properties, relevent to the new tunnel routing code:
            inbound.nickname (used on the console)
            inbound.quantity (# of tunnels to use in any leaseSets)
            inbound.backupQuantity (# of tunnels to keep in the ready)
            inbound.length (# of remote peers in the tunnel)
            inbound.lengthVariance (if > 0, permute the length by adding a random #
                                    up to the variance.  if < 0, permute the length
                                    by adding or subtracting a random # up to the
                                    variance)
            outbound.* (same as the inbound, except for the, uh, outbound tunnels
                        in that client's pool)
          There are other options, and more will be added later, but the above are
          the most relevent ones.
        * Replaced Jetty 4.2.21 with Jetty 5.1.2
        * Compress all profile data on disk.
        * Adjust the reseeding functionality to work even when the JVM's http proxy
          is set.
        * Enable a poor-man's interactive-flow in the streaming lib by choking the
          max window size.
        * Reduced the default streaming lib max message size to 16KB (though still
          configurable by the user), also doubling the default maximum window
          size.
        * Replaced the RouterIdentity in a Lease with its SHA256 hash.
        * Reduced the overall I2NP message checksum from a full 32 byte SHA256 to
          the first byte of the SHA256.
        * Added a new "netId" flag to let routers drop references to other routers
          who we won't be able to talk to.
        * Extended the timestamper to get a second (or third) opinion whenever it
          wants to actually adjust the clock offset.
        * Replaced that kludge of a timestamp I2NP message with a full blown
          DateMessage.
        * Substantial memory optimizations within the router and the SDK to reduce
          GC churn.  Client apps and the streaming libs have not been tuned,
          however.
        * More bugfixes thank you can shake a stick at.
    
    2005-02-13  jrandom
        * Updated jbigi source to handle 64bit CPUs.  The bundled jbigi.jar still
          only contains 32bit versions, so build your own, placing libjbigi.so in
          your install dir if necessary.  (thanks mule!)
        * Added support for libjbigi-$os-athlon64 to NativeBigInteger and CPUID
          (thanks spaetz!)
    566a713b
    History
    2005-02-16 jrandom
    jrandom authored and zzz's avatar zzz committed
        * (Merged the 0.5-pre branch back into CVS HEAD)
        * Replaced the old tunnel routing crypto with the one specified in
          router/doc/tunnel-alt.html, including updates to the web console to view
          and tweak it.
        * Provide the means for routers to reject tunnel requests with a wider
          range of responses:
            probabalistic rejection, due to approaching overload
            transient rejection, due to temporary overload
            bandwidth rejection, due to persistent bandwidth overload
            critical rejection, due to general router fault (or imminent shutdown)
          The different responses are factored into the profiles accordingly.
        * Replaced the old I2CP tunnel related options (tunnels.depthInbound, etc)
          with a series of new properties, relevent to the new tunnel routing code:
            inbound.nickname (used on the console)
            inbound.quantity (# of tunnels to use in any leaseSets)
            inbound.backupQuantity (# of tunnels to keep in the ready)
            inbound.length (# of remote peers in the tunnel)
            inbound.lengthVariance (if > 0, permute the length by adding a random #
                                    up to the variance.  if < 0, permute the length
                                    by adding or subtracting a random # up to the
                                    variance)
            outbound.* (same as the inbound, except for the, uh, outbound tunnels
                        in that client's pool)
          There are other options, and more will be added later, but the above are
          the most relevent ones.
        * Replaced Jetty 4.2.21 with Jetty 5.1.2
        * Compress all profile data on disk.
        * Adjust the reseeding functionality to work even when the JVM's http proxy
          is set.
        * Enable a poor-man's interactive-flow in the streaming lib by choking the
          max window size.
        * Reduced the default streaming lib max message size to 16KB (though still
          configurable by the user), also doubling the default maximum window
          size.
        * Replaced the RouterIdentity in a Lease with its SHA256 hash.
        * Reduced the overall I2NP message checksum from a full 32 byte SHA256 to
          the first byte of the SHA256.
        * Added a new "netId" flag to let routers drop references to other routers
          who we won't be able to talk to.
        * Extended the timestamper to get a second (or third) opinion whenever it
          wants to actually adjust the clock offset.
        * Replaced that kludge of a timestamp I2NP message with a full blown
          DateMessage.
        * Substantial memory optimizations within the router and the SDK to reduce
          GC churn.  Client apps and the streaming libs have not been tuned,
          however.
        * More bugfixes thank you can shake a stick at.
    
    2005-02-13  jrandom
        * Updated jbigi source to handle 64bit CPUs.  The bundled jbigi.jar still
          only contains 32bit versions, so build your own, placing libjbigi.so in
          your install dir if necessary.  (thanks mule!)
        * Added support for libjbigi-$os-athlon64 to NativeBigInteger and CPUID
          (thanks spaetz!)
config.jsp 4.36 KiB
<%@page contentType="text/html" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

<html><head>
<title>I2P Router Console - logs</title>
<link rel="stylesheet" href="default.css" type="text/css" />
</head><body>

<%@include file="nav.jsp" %>
<%@include file="summary.jsp" %>

<jsp:useBean class="net.i2p.router.web.ConfigNetHelper" id="nethelper" scope="request" />
<jsp:setProperty name="nethelper" property="contextId" value="<%=(String)session.getAttribute("i2p.contextId")%>" />

<div class="main" id="main">
 <%@include file="confignav.jsp" %>
 
 <jsp:useBean class="net.i2p.router.web.ConfigNetHandler" id="formhandler" scope="request" />
 <jsp:setProperty name="formhandler" property="*" />
 <jsp:setProperty name="formhandler" property="contextId" value="<%=(String)session.getAttribute("i2p.contextId")%>" />
 <font color="red"><jsp:getProperty name="formhandler" property="errors" /></font>
 <i><jsp:getProperty name="formhandler" property="notices" /></i>

 <form action="config.jsp" method="POST">
 <% String prev = System.getProperty("net.i2p.router.web.ConfigNetHandler.nonce");
    if (prev != null) System.setProperty("net.i2p.router.web.ConfigNetHandler.noncePrev", prev);
    System.setProperty("net.i2p.router.web.ConfigNetHandler.nonce", new java.util.Random().nextLong()+""); %>
 <input type="hidden" name="nonce" value="<%=System.getProperty("net.i2p.router.web.ConfigNetHandler.nonce")%>" />
 <input type="hidden" name="action" value="blah" />

 TCP port:
     <input name="port" type="text" size="4" value="<jsp:getProperty name="nethelper" property="port" />" /> <br />
 <b>You must poke a hole in your firewall or NAT (if applicable) so that you can receive inbound TCP
 connections on it.</b>  Nothing will work if you don't.  Sorry.  We know how to make it so
 this restriction won't be necessary, but its later on in the 
 <a href="http://www.i2p.net/roadmap">roadmap</a> and we only have so many coder-hours (but if you want
 to help, please <a href="http://www.i2p.net/getinvolved">get involved!</a>)
 <hr />
 
 <b>Bandwidth limiter</b><br />
 Inbound rate: 
    <input name="inboundrate" type="text" size="2" value="<jsp:getProperty name="nethelper" property="inboundRate" />" /> KBytes per second
 bursting up to 
    <jsp:getProperty name="nethelper" property="inboundBurstFactorBox" /><br />
 Outbound rate:
    <input name="outboundrate" type="text" size="2" value="<jsp:getProperty name="nethelper" property="outboundRate" />" /> KBytes per second
 bursting up to 
  <jsp:getProperty name="nethelper" property="outboundBurstFactorBox" /><br />
 <i>A negative rate means there is no limit</i><br />
 Bandwidth share percentage:
   <jsp:getProperty name="nethelper" property="sharePercentageBox" /><br />
 Sharing a higher percentage will improve your anonymity and help the network
 <hr />
 Enable internal time synchronization? <input type="checkbox" <jsp:getProperty name="nethelper" property="enableTimeSyncChecked" /> name="enabletimesync" /><br />
 <i>If disabled, your machine <b>must</b> be NTP synchronized - your clock must always
    be within a few seconds of "correct".  You will need to be able to send outbound UDP
    packets on port 123 to one of the pool.ntp.org machines (or some other SNTP server).</i>
 <hr />
 <input type="submit" name="save" value="Save changes" /> <input type="reset" value="Cancel" /><br />
 <i>Changing the TCP port will force a 'soft restart' - dropping your connections and clients as 
    if the router was stopped and restarted.  <b>Please be patient</b> - it may take
    a few seconds to complete.</i>
 </form>
 <hr />
 <b>Advanced network config:</b>
 <p>
 One advanced network option has to do with reseeding - you should never need to 
 reseed your router as long as you can find at least one other peer on the network.  However,
 when you do need to reseed, a link will show up on the left hand side which will
 fetch all of the routerInfo-* files from http://dev.i2p.net/i2pdb/.  That URL is just an
 apache folder pointing at the netDb/ directory of a router - anyone can run one, and you can
 configure your router to seed off an alternate URL by adding the java environmental property
 "i2p.reseedURL=someURL" (e.g. java -Di2p.reseedURL=http://dev.i2p.net/i2pdb/ ...).  You can
 also do it manually by getting routerInfo-*.dat files from someone (a friend, someone on IRC,
 whatever) and saving them to your netDb/ directory.</p>
</div>

</body>
</html>