Opened 17 months ago

Last modified 17 months ago

#2039 infoneeded_new enhancement

Pluggable Router Trust Filtering

Reported by: ocean1 Owned by:
Priority: minor Milestone: undecided
Component: router/netdb Version: 0.9.31
Keywords: Cc:
Parent Tickets:

Description

PROBLEM:

We would like to ignore some Routers that aren't 'trustworthy'. If a Router is not trust-worthy then it should not be added to the NetworkDatabaseFacade? and no connections should be made to it.

In terms of our specific use-case we would like to ignore any RouterInfo? that does not possess a valid Certificate.

PROPOSED SOLUTION:

  • An interface that allows the Router to assign other Routers a trust core eg:

public interface RouterTrustStrategy? {

public int rank(RouterInfo? ri);

}

  • Some sort of pluggable service loading strategy should be provided to allow people to plug in custom RouterTrustStrategy? interfaces that can be instantiated by the I2PAppContext and then passed to the NetworkDatabaseFacade?.

Subtickets (add)

Change History (1)

comment:1 Changed 17 months ago by zzz

  • Component changed from unspecified to router/netdb
  • Priority changed from major to minor
  • Status changed from new to infoneeded_new

What kind of Certificate? In the identity, or some offline thing, or?

Have you explored other ways of doing this, such as a blocklist, or a router family?

Do you already have this implemented by patching our code? Please provide the patch.

Please explain further why you want this. It sounds like a private network, where every router needs pre-approval signed by some central authority. This is the opposite of what I2P is... and doesn't sound like something we want to facilitate. If your application isn't going to be a part of the main I2P network, be available to our users, and grow the network, why should we help?

Note: See TracTickets for help on using tickets.