diff --git a/history.txt b/history.txt index e6c8a4a9c..e0329e7f7 100644 --- a/history.txt +++ b/history.txt @@ -1,4 +1,14 @@ 2008-03-14 zzz + * ProfileOrganizer: + - Use more recent stats to calculate integrationory.txt + - Show that fast peers are also high-capacity on profiles.jsp + * readme.html: Update Syndie link + * TunnelPool: Update comments + * netDb: Report 1-2h uptime as 90m to further frustrate tracking, + get rid of the 60s tunnel stats + (effective as of .33 to provide cover) + +2008-03-13 zzz * Floodfill Search: - Fix a bug that caused a single FloodfillOnlySearchJob instance to be run multiple times, with unpredictable diff --git a/news.xml b/news.xml index 52f6fb317..1528c24e8 100644 --- a/news.xml +++ b/news.xml @@ -9,6 +9,23 @@ publicurl="http://dev.i2p.net/pipermail/i2p/2005-July/000826.html" anonlogs="http://i2p/Nf3ab-ZFkmI-LyMt7GjgT-jfvZ3zKDl0L96pmGQXF1B82W2Bfjf0n7~288vafocjFLnQnVcmZd~-p0-Oolfo9aW2Rm-AhyqxnxyLlPBqGxsJBXjPhm1JBT4Ia8FB-VXt0BuY0fMKdAfWwN61-tj4zIcQWRxv3DFquwEf035K~Ra4SWOqiuJgTRJu7~o~DzHVljVgWIzwf8Z84cz0X33pv-mdG~~y0Bsc2qJVnYwjjR178YMcRSmNE0FVMcs6f17c6zqhMw-11qjKpY~EJfHYCx4lBWF37CD0obbWqTNUIbL~78vxqZRT3dgAgnLixog9nqTO-0Rh~NpVUZnoUi7fNR~awW5U3Cf7rU7nNEKKobLue78hjvRcWn7upHUF45QqTDuaM3yZa7OsjbcH-I909DOub2Q0Dno6vIwuA7yrysccN1sbnkwZbKlf4T6~iDdhaSLJd97QCyPOlbyUfYy9QLNExlRqKgNVJcMJRrIual~Lb1CLbnzt0uvobM57UpqSAAAA/meeting141" publiclogs="http://www.i2p.net/meeting141" /> +
+ +2008-03-14: forum.i2p is Temporarily Down +
+Use +codevoid.i2p/forum +as an alternate. +
+ ++ +2008-03-14: krabs.i2p Outproxy is Temporarily Down +
+Use new outproxy false.i2p +as an alternate - must be in your hosts.txt. +
+ 2008-03-09: 0.6.1.32 Released @@ -24,7 +41,7 @@ You may wish to adjust your limits on
-2008-02-29: Upcoming 0.6.1.32 Release +2008-02-29: Upgrading from 0.6.1.31
If you upgraded from 0.6.1.30 to 0.6.1.31, you may wish to take advantage of the new round-robin update downloading when .32 is released. This is optional. @@ -40,57 +57,8 @@ If you already have three Update URLs, you do not have to do anything. 2008-02-05: Upgrading from 0.6.1.30 and Earlier Releases
-Since i2p's lead developer -has gone AWOL, -we do not have his update signing key or write access to -www.i2p or -dev.i2p. -Complication and zzz have generated new signing keys, and they and Amiga are providing -update file hosting. These changes must be configured in your router to take effect. -
-Make the following configuration changes and your router will automatically install -the latest release. -
-We recommend the automated process as it will verify the key of the signed update file. -If you do not make these changes, -you may manually download the i2pupdate.zip file from -www.i2p2.i2p/download. -
-If you would like to verify the trusted update keys, they are also -posted and signed here. -Thank you for your support during this transition. For help please contact us on #i2p. -
-Amiga, Complication, welterde, zzz +Full instructions are posted at +www.i2p2.i2p/upgrade-0.6.1.30.html.
diff --git a/readme.html b/readme.html index 27873846b..4441c53b1 100644 --- a/readme.html +++ b/readme.html @@ -3,7 +3,7 @@ grow over the next few minutes and you'll see a "shared clients" local destinati on the left (if not, see below). Once those show up, you can:
Be patient - I2P may be slow to start the first time as it searches for peers. If, after 30 minutes, your Active: connected/recent count has less than 10 connected peers, you should open port 8887 on your firewall for better connectivity. -If you cannot see any eepsites at all (even www.i2p2.i2p), +If you cannot see any eepsites at all (even www.i2p2.i2p), be sure your browser proxy is set to localhost port 4444. You may also want to review the information on the I2P website, post up messages to the diff --git a/router/java/src/net/i2p/router/RouterVersion.java b/router/java/src/net/i2p/router/RouterVersion.java index ad653854c..353622d4b 100644 --- a/router/java/src/net/i2p/router/RouterVersion.java +++ b/router/java/src/net/i2p/router/RouterVersion.java @@ -17,7 +17,7 @@ import net.i2p.CoreVersion; public class RouterVersion { public final static String ID = "$Revision: 1.548 $ $Date: 2008-02-10 15:00:00 $"; public final static String VERSION = "0.6.1.32"; - public final static long BUILD = 5; + public final static long BUILD = 6; public static void main(String args[]) { System.out.println("I2P Router version: " + VERSION + "-" + BUILD); System.out.println("Router ID: " + RouterVersion.ID); diff --git a/router/java/src/net/i2p/router/StatisticsManager.java b/router/java/src/net/i2p/router/StatisticsManager.java index 9c064af10..f3fdb7a40 100644 --- a/router/java/src/net/i2p/router/StatisticsManager.java +++ b/router/java/src/net/i2p/router/StatisticsManager.java @@ -128,6 +128,7 @@ public class StatisticsManager implements Service { if (false) stats.putAll(_context.profileManager().summarizePeers(_publishedStats)); + boolean commentMeOutInDot33 = RouterVersion.VERSION.equals("0.6.1.32"); includeThroughput(stats); //includeRate("router.invalidMessageTime", stats, new long[] { 10*60*1000 }); //includeRate("router.duplicateMessageId", stats, new long[] { 24*60*60*1000 }); @@ -162,7 +163,11 @@ public class StatisticsManager implements Service { //includeRate("transport.sendProcessingTime", stats, new long[] { 60*60*1000 }); //includeRate("jobQueue.jobRunSlow", stats, new long[] { 10*60*1000l, 60*60*1000l }); + if (commentMeOutInDot33) { // get rid of 60s stats includeRate("crypto.elGamal.encrypt", stats, new long[] { 60*1000, 60*60*1000 }); + } else { + includeRate("crypto.elGamal.encrypt", stats, new long[] { 60*60*1000 }); + } includeRate("tunnel.participatingTunnels", stats, new long[] { 5*60*1000, 60*60*1000 }); //includeRate("tunnel.testSuccessTime", stats, new long[] { 10*60*1000l }); includeRate("client.sendAckTime", stats, new long[] { 60*60*1000 }, true); @@ -174,12 +179,15 @@ public class StatisticsManager implements Service { //includeRate("stream.con.receiveDuplicateSize", stats, new long[] { 60*60*1000 }); // Round smaller uptimes to 1 hour, to frustrate uptime tracking + // Round 2nd hour to 90m since peers use 2h minimum to route long publishedUptime = _context.router().getUptime(); if (publishedUptime < 60*60*1000) publishedUptime = 60*60*1000; + else if (publishedUptime < 2*60*60*1000 && !commentMeOutInDot33) publishedUptime = 90*60*1000; stats.setProperty("stat_uptime", DataHelper.formatDuration(publishedUptime)); //stats.setProperty("stat__rateKey", "avg;maxAvg;pctLifetime;[sat;satLim;maxSat;maxSatLim;][num;lifetimeFreq;maxFreq]"); + if (commentMeOutInDot33) { // get rid of 60s stats includeRate("tunnel.buildRequestTime", stats, new long[] { 60*1000, 10*60*1000 }); //includeRate("tunnel.decryptRequestTime", stats, new long[] { 60*1000, 10*60*1000 }); includeRate("tunnel.buildClientExpire", stats, new long[] { 60*1000, 10*60*1000 }); @@ -194,6 +202,18 @@ public class StatisticsManager implements Service { includeRate("tunnel.rejectOverloaded", stats, new long[] { 60*1000, 10*60*1000 }); includeRate("tunnel.acceptLoad", stats, new long[] { 60*1000, 10*60*1000 }); + } else { + includeRate("tunnel.buildRequestTime", stats, new long[] { 10*60*1000 }); + includeRate("tunnel.buildClientExpire", stats, new long[] { 10*60*1000 }); + includeRate("tunnel.buildClientReject", stats, new long[] { 10*60*1000 }); + includeRate("tunnel.buildClientSuccess", stats, new long[] { 10*60*1000 }); + includeRate("tunnel.buildExploratoryExpire", stats, new long[] { 10*60*1000 }); + includeRate("tunnel.buildExploratoryReject", stats, new long[] { 10*60*1000 }); + includeRate("tunnel.buildExploratorySuccess", stats, new long[] { 10*60*1000 }); + includeRate("tunnel.rejectTimeout", stats, new long[] { 10*60*1000 }); + includeRate("tunnel.rejectOverloaded", stats, new long[] { 10*60*1000 }); + includeRate("tunnel.acceptLoad", stats, new long[] { 10*60*1000 }); + } if (FloodfillNetworkDatabaseFacade.isFloodfill(_context.router().getRouterInfo())) { stats.setProperty("netdb.knownRouters", ""+_context.netDb().getKnownRouters()); diff --git a/router/java/src/net/i2p/router/peermanager/IntegrationCalculator.java b/router/java/src/net/i2p/router/peermanager/IntegrationCalculator.java index 78708e1db..245ce2f08 100644 --- a/router/java/src/net/i2p/router/peermanager/IntegrationCalculator.java +++ b/router/java/src/net/i2p/router/peermanager/IntegrationCalculator.java @@ -18,7 +18,11 @@ public class IntegrationCalculator extends Calculator { } public double calc(PeerProfile profile) { + // give more weight to recent counts long val = profile.getDbIntroduction().getRate(24*60*60*1000l).getCurrentEventCount(); + val += 2 * 4 * profile.getDbIntroduction().getRate(6*60*60*1000l).getCurrentEventCount(); + val += 4 * 24 * profile.getDbIntroduction().getRate(60*60*1000l).getCurrentEventCount(); + val /= 7; val += profile.getIntegrationBonus(); return val; } diff --git a/router/java/src/net/i2p/router/peermanager/PeerProfile.java b/router/java/src/net/i2p/router/peermanager/PeerProfile.java index 7c2705bec..5dd8f9365 100644 --- a/router/java/src/net/i2p/router/peermanager/PeerProfile.java +++ b/router/java/src/net/i2p/router/peermanager/PeerProfile.java @@ -371,7 +371,7 @@ public class PeerProfile { if (_commError == null) _commError = new RateStat("commErrorRate", "how long between communication errors with the peer (e.g. disconnection)", group, new long[] { 60*1000l, 10*60*1000l, 60*60*1000l, 24*60*60*1000 } ); if (_dbIntroduction == null) - _dbIntroduction = new RateStat("dbIntroduction", "how many new peers we get from dbSearchReplyMessages or dbStore messages", group, new long[] { 60*60*1000l, 24*60*60*1000l, 7*24*60*60*1000l }); + _dbIntroduction = new RateStat("dbIntroduction", "how many new peers we get from dbSearchReplyMessages or dbStore messages", group, new long[] { 60*60*1000l, 6*60*60*1000l, 24*60*60*1000l }); if (_tunnelHistory == null) _tunnelHistory = new TunnelHistory(_context, group); diff --git a/router/java/src/net/i2p/router/peermanager/ProfileOrganizerRenderer.java b/router/java/src/net/i2p/router/peermanager/ProfileOrganizerRenderer.java index e018b2bb6..bbceb5c7c 100644 --- a/router/java/src/net/i2p/router/peermanager/ProfileOrganizerRenderer.java +++ b/router/java/src/net/i2p/router/peermanager/ProfileOrganizerRenderer.java @@ -104,7 +104,7 @@ class ProfileOrganizerRenderer { buf.append("