CSE2410 Null_Pinter

Project: I2P

In CSE2410, open source projects are chosen and worked on by small teams throughout the semester. The team Null_Pointer, consisting of Aaron Nies, Nick Namba, Rafael Trujillo, and Santiago Roig, chose I2P as their project. In this wiki you'll find information on their project, the current status of the team, and their schedule.

Impact Analysis:

Impact Analysis: Feature - Reload Torrent Button: [http://goo.gl/Nf6xFk]

Impact Analysis: Bug - Re-adding Torrent Corruption: [http://goo.gl/IMEDIi]

Impact Analysis: Feature - I2PSnark hidden data directory: [[http://goo.gl/k0EK9j]]

Impact Analysis: Bug - BOB "quiet true" fail: [[http://goo.gl/biJYQD]]

Impact Analysis: Bug - I2PSnark missing datafile: [[http://goo.gl/41xB4J]]

Impact Analysis: Bug - I2PSnark Filename Conversion: [[http://goo.gl/Pi7XbK]]

What is I2P?

I2P Website: https://geti2p.net/en/

I2P is a network anonymizer for the internet. It works as a network-within-a-network, allowing people to host services, send messages, and create postings all in private. As the project site states, "I2P is used by many people who care about their privacy: activists, oppressed people, journalists and whistleblowers, as well as the average person." Obviously no one can ever be completely anonymous on a network, with I2P the user is able to set a level of privacy which increases the difficulty of discovering the user's identity. Traffic from low levels of privacy is indistinguishable from more secure traffic, increasing the difficulty for attackers.

The I2P network is isolated from normal websites to prevent it from being abused (ex. DOS attacks, etc). In place of websites, eepsites enable private browsing and hosting. Users are able to navigate to key eepsites such as the developer forums, blogging sites, free eepsite hosting services and more as soon as they setup I2P. To go to an eepsite not listed in the users addressbook (similar to a DNS), the user must subscribe to a site. This adds more eepsites to the user's addressbook.

Other core services are included with I2P like I2PSnark, a torrent client. I2PSnark allows better file transfer over the smaller than normal bandwidth of the I2P network. Core services like this provide the complete anonymity package to those needing a secure network.

Team Schedule

  1. Feb 8 - 14: Everyone pick a bug and fill out a bug template.
  2. Feb 15 - 21: Work on fixing bugs. At least 3 bugs should be complete.
  3. Feb 22 - 28: Everyone pick a feature.
  4. March 1 - 7: Work on feature requests.
  5. March 8 - 14: Plan presentation.
  6. March 15 - 21: Work on presentation and bugs.
  7. March 22 - 28: Finalize presentation.
  8. March 29 - April 4: Practice presentation.
  9. April 5: Turn in project package, present project.

Issues and Feature Requests

After searching through the trac database, the team has picked out a number of bugs and features to work on in order to be most effective over the 16 week semester. Some of the issues have been discovered and submitted by the team. These issues are pending approval to be added to the database. Tickets in bold are currently being worked on by a team member.

Trac Database: https://trac.i2p2.de/

Complete list of the team's Issues/Features of interest:

Ticket: #738, Router console redesign
Estimated fix time: 25h
Actual fix time: N/A
Comments: While redesigning the current console may prove sufficient, maintaining the current design and creating a user friendly splash page is potentially better solution.

Ticket: #372, Button for manual recheck
Estimated fix time: 8h
Actual fix time: N/A
Comments: Long requested option for i2pSnark. An option to force a manual recheck of individual torrents. This feature is already in other main stream torrent clients.

Ticket: #1415, I2PSnark filename conversion to builtin charset in windows may cause data loss
Estimated fix time: 15h
Actual fix time: N/A
Tests to reproduce: Affecting torrents listed in ticket. When two or more are downloaded, both are given the same file name causing issues.
Tests to validate fix: N/A
Comments: May be tricky to implement fully, but an immediate fix is sufficient starting point.

Ticket: #1320, BOB “quiet true” fail
Estimated fix time: 8h
Actual fix time: N/A
Tests to reproduce: While using BOB, enter a series of commands listed on the ticket entry, one command being “quiet true”. Next, connect to 127.0.0.1:12545 with socket S and type "duck.i2p\n".

Ticket #1456 Refactor Java Methods for Java 9 compatibility
Estimated time to fix: 6 hours
Actual time to fix: N/A
These warnings are a list of the warning’s being produced by compatibility with Java 9.
When these warnings disappear my fix will be validated.

Ticket #1274 Easy Backup Button for I2P
Feature request, user wants a backup button for I2P settings.
Estimated time to fix: 20 hours
Actual time to fix: N/A
First I will create the button, adjust my settings and export my settings then try to import them into a teammate’s I2P to test functionality works.

Ticket #730
Feature request: User wants the default location for downloaded torrents changed to a non-hidden folder.
Estimated time to fix: 6 hours
Actual time to fix: N/A

Ticket #1432
Bug: If one downloads a torrent file and then replaces the partially downloaded file with a complete version i2psnark will not start seeding.
Estimated time to fix: 24 hours
Actual time to fix: N/A
Comments: this should probably involve making i2psnark scan the file before it starts acting on it in order to determine what to do.

Ticket #(Pending approval)
Bug: if one downloads a torrent and then deletes the file it creates automatically and starts the torrent it will not remake the file but instead give a java I/O error.
Estimated time to fix: 5 hours
Actual Time to fix: N/A
Comments: This should be very easy, all that should be done is to check if the file exists and if it doesn’t simply make it again and start over.

Ticket #(Pending approval)
feature request. allow users to select individual torrent files from their computers to download and no be forced to place them all within the default folder.
Estimated time to fix: 24 hours
Actual time: N/A
Comments: This seems to be a very odd missing feature that should be present within the default GUI of the torrent client.

Ticket #(Pending approval)
Feature request: have i2psnark show “orphaned” files whose torrent files cannot be found in the default folder so that users will know that they still posses the data on their harddrive if they attempted to delete the file but only deleted the torrent file.
Estimated time to fix: 10 hours
Actual time: N/A
Comments: could be done by looking at the torrent files and pairing them with their corresponding files and then listing the unpaired files.