Changes between Version 4 and Version 5 of gsoc/ideas


Ignore:
Timestamp:
Mar 11, 2009 2:36:49 PM (11 years ago)
Author:
anonymous
Comment:

Legend:

Unmodified
Added
Removed
Modified
  • gsoc/ideas

    v4 v5  
    2222== Distributed wiki on I2P (either porting or from scratch) ==
    2323Websites on I2P are often shortlived, which causes information to get lost. Over the course of the years, there have been multiple wikis on i2p, but only one has been online for a considerable time: ugha.i2p . To remove the risk of losing valuable data, a distributed wiki would be extremely useful. It should be possible to host the wiki both on I2P websites (eepsites) as on regular ones (to allow people without I2P to contribute as well).
     24'''Difficulty:''' medium(depends on, which way you go)
    2425=== Required skills ===
    2526 * Programming knowledge, both desktop programming and web programming (for a wiki frontend)
     
    3435== Distributed data storage on I2P ==
    3536Providing files from an eepsite can be slow (a 20 kBps download can turn into a 2 kBps download or simply stop if too many visitors are interested), the eepsite can go offline for a while, and uploading files may take a lot of resources from the host. To remove these problems, a distributed data storage system could be built on top of I2P. Such a system could, amongst other things, be used to facilitate I2P upgrades inside of the network.
     37'''Difficulty:''' difficult
    3638=== Required skills ===
    3739 * Java
     
    4345
    4446== IPv6 support for I2P ==
    45 Currently I2P only supports IPv4 TCP and UDP. Adding IPv6 support would involve adding a new field in the NTCP/SSU routerInfo entries and possibly adding some restricted route functionality to support communication of IPv4-only peers with IPv6-only peers.
     47Currently I2P only supports IPv4 TCP and UDP. Adding IPv6 support would involve adding a new field in the NTCP/SSU routerInfo entries and possibly adding some restricted route functionality to support communication of IPv4-only peers with IPv6-only peers.
     48'''Difficulty:''' easy-medium
    4649=== Required skills ===
    4750 * Java
     
    5457The current DNS system (which goes by the name SusiDNS) is extremely simple. The routing through the network causes extra latency, so a traditional DNS system would not be possible/slow down I2P. This is why the current system uses a textfile on the local computer, containing the destinations of eepsites. Updates are retrieved by getting the textfiles from 'trusted' eepsites. As an alternative, there is a system using base32 hostnames, like in Tor.
    5558The idea for this task would be that the DNS system needs to turn into a distributed, easily updatable system.
     59'''Difficulty:''' medium
    5660=== Required skills ===
    5761 * Java
     
    6165== Revive Kademlia DHT ==
    6266Peers in I2P currently 'discover' each other through a floodfill system (several high-traffic routers inform the other routers of each other). This system is not as scalable as a DHT system, and it's also less secure (because of the reliance on a limited number of nodes). Changing this system or replacing it, will be an interesting and challenging task.
     67'''Difficulty:''' difficult
    6368=== Required skills ===
    6469 * Java
     
    6772=== Notes ===
    6873 * There is already a Kademlia implementation in I2P that used to work, but it was abandoned for a floodfill implementation due to the Kademlia system not working efficiently enough.
     74----
    6975
    7076
    7177== I2P seeding for applications (so central reseed locations are no longer required) ==
    7278A lot of I2P applications use their own reseed implementation (pointing to specific 'reseed nodes' to get information about other nodes using the application). Reseed functionality in the I2P network itself could avoid reinventing the wheel in the future.
     79'''Difficulty:''' easy-medium
    7380=== Required skills ===
    7481 * Java
     82----
     83
     84
     85== A website using i2ping ==
     86Currently most sites, which show the uptime of sites use HTTP->HEAD for checking if an site is up. I2Ping would allow to check non-http sites as well
     87'''Difficulty:''' very easy
     88=== Required skills ===
     89 * Java
     90 * JSP/Servlet/... maybe?
     91=== Inspiration ===
     92 * http://inproxy.tino.i2p/status.php
     93----
    7594
    7695