* Throttle: Reject tunnels for first 20m uptime (was 10m)
* TunnelPeerSelectors: - Re-enable strict ordering of peers, based on XOR distance from a random hash - Restrict peers with uptime < 90m from tunnels (was 2h), which is really 60m due to rounding in netDb publishing. * i2psnark: - Limit max pipelined requests from a single peer to 128KB (was unlimited; i2p-bt default is 5 * 64KB) - Increase max uploaders per torrent to 6 (was 4) - Reduce max connections per torrent to 16 (was 24) to increase unchoke time and reduce memory consumption - Strictly enforce max connections per torrent - Choke more gradually when over BW limit * help.jsp: Add a link to the FAQ * peers.jsp: Fix UDP direction indicators * hosts.txt: Add update.postman.i2p
This commit is contained in:
@ -90,7 +90,7 @@ class RouterThrottleImpl implements RouterThrottle {
|
||||
return TunnelHistory.TUNNEL_REJECT_CRIT;
|
||||
}
|
||||
|
||||
if (_context.router().getUptime() < 10*60*1000)
|
||||
if (_context.router().getUptime() < 20*60*1000)
|
||||
return TunnelHistory.TUNNEL_REJECT_CRIT;
|
||||
|
||||
long lag = _context.jobQueue().getMaxLag();
|
||||
|
@ -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.33";
|
||||
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);
|
||||
|
@ -1682,9 +1682,9 @@ public class UDPTransport extends TransportImpl implements TimedWeightedPriority
|
||||
*/
|
||||
buf.append("</a> ");
|
||||
if (peer.isInbound())
|
||||
buf.append("> ");
|
||||
else
|
||||
buf.append("< ");
|
||||
else
|
||||
buf.append("> ");
|
||||
if (peer.getWeRelayToThemAs() > 0)
|
||||
buf.append("^");
|
||||
else
|
||||
|
@ -29,10 +29,7 @@ class ClientPeerSelector extends TunnelPeerSelector {
|
||||
matches.remove(ctx.routerHash());
|
||||
ArrayList rv = new ArrayList(matches);
|
||||
if (rv.size() > 1)
|
||||
/*** removed until we fix SSU reachability
|
||||
orderPeers(rv, settings.getRandomKey());
|
||||
***/
|
||||
Collections.shuffle(rv, ctx.random());
|
||||
if (settings.isInbound())
|
||||
rv.add(0, ctx.routerHash());
|
||||
else
|
||||
|
@ -50,10 +50,7 @@ class ExploratoryPeerSelector extends TunnelPeerSelector {
|
||||
matches.remove(ctx.routerHash());
|
||||
ArrayList rv = new ArrayList(matches);
|
||||
if (rv.size() > 1)
|
||||
/*** removed until we fix SSU reachability
|
||||
orderPeers(rv, settings.getRandomKey());
|
||||
***/
|
||||
Collections.shuffle(rv, ctx.random());
|
||||
if (settings.isInbound())
|
||||
rv.add(0, ctx.routerHash());
|
||||
else
|
||||
|
@ -372,8 +372,9 @@ public abstract class TunnelPeerSelector {
|
||||
return true;
|
||||
}
|
||||
} else {
|
||||
if ( (infoAge + uptimeMs < 2*60*60*1000) && (ctx.router().getUptime() > DONT_EXCLUDE_PERIOD) ) {
|
||||
// up for less than 2 hours, so exclude it
|
||||
if ( (infoAge + uptimeMs < 90*60*1000) && (ctx.router().getUptime() > DONT_EXCLUDE_PERIOD) ) {
|
||||
// up for less than 90 min (which is really 1h since an uptime of 1h-2h is published as 90m),
|
||||
// so exclude it
|
||||
return true;
|
||||
} else {
|
||||
return false;
|
||||
|
Reference in New Issue
Block a user