• Posted: 2014-03-31
  • Author: zzz
  • Posted in release

I2P now requires Java 6 or higher. We strongly recommend that you upgrade to Java 7. If you are still using Java 5, you must upgrade your Java before installing I2P 0.9.12.

0.9.12 adds preliminary support for ECDSA-signed Destinations. It contains several fixes for the handling of Delivery Status Messages (acknowledgements) and those messages are now end-to-end encrypted for increased security. We have upgraded to Jetty 8. Jetty 8 is almost identical to Jetty 7, so there are no complex configuration file conversions as there have been in past Jetty upgrades. No manual changes should be necessary.

As usual, we recommend that you update to this release. The best way to maintain security and help the network is to run the latest release.

In early March, Internet search company DuckDuckGo donated $5000 to the Invisible Internet Project (I2P) as part of their yearly open-source donation program. The award was granted on the basis of nominations by members of the public on the DuckDuckGo community portal.

This marks the single largest donation ever received by I2P and reflects a growing interest in privacy and security by the Internet community. The funding will help I2P to reach more users, expand development, and audit the code. It will also enable I2P developers to attend conferences, such as the Real-World Cryptography conference in New York City, where the developers met and collaborated with cryptography experts pursuant to I2P's goals of providing anonymity to the public.

I2P thanks Gabriel Weinberg and DuckDuckGo for the generous donation, and the I2P community for its support in the nominations.


Anonymity Improvements

  • Encrypt Delivery Status Messages
  • Add preliminary support for ECDSA-signed Destinations
  • Add check for replayed NTCP session requests
  • Add throttling and blocking checks to streaming ping processing

Bug Fixes

  • Fix RouterInfo exchange in NTCP
  • Extend timeout for Delivery Status Messages
  • Drop streaming messages from recently closed connections
  • Fix restarts on Raspberry Pi
  • Restore profileOrganizer.sameCountryBonus advanced config
  • Fix for jwebcache and i2phex


  • Jetty 8.1.14.v20131031; Java 6 now required
  • Reduce target connection count again to reduce tunnel reject rate further
  • Add rate limit for outbound connections at tunnel endpoints
  • Add optional inproxy blocking in i2ptunnel
  • Use SSU session key for relay request/response when available
  • Include HTTP POST data in SYN packet
  • Add getopt library for better argument processing
  • More removal of Jetty dependencies
  • Remove MD5 code, use Java libraries instead
  • Change the default addressbook subscription URL
  • Translation updates
  • Update GeoIP data (new installs and PPA only)

SHA256 Checksums:

e31a9eb24f66fedcf81651819f492837f30ea5448895e9b4a2fa514fc2212c08  i2pinstall_0.9.12_windows.exe
a9108ae86eba09b80a837b7db40b348cfbe403c6ed05cf2538f5fec2544c55e4  i2pinstall_0.9.12.jar
71639369458bee414d1c319b1778d7f85301bd67aca738061961f2823f0f284e  i2psource_0.9.12.tar.bz2
c4b131f1dab058123e62dd8416d3b073ae7ec2ffc6e5e1574bb266875e2f4d1e  i2pupdate_0.9.12.zip
cc721cc0a958f1b08d8d807870f8a6c60a2bcd68a5d71da4f4c190a15e48f6f5  i2pupdate.su2
0beb3c4402baefdc75fcd104797dae0e7f6c338fc8b61319b3668b5d607f55a1  i2pupdate.su3
d4894b8ded236255513d396ab53029be94e5c21f2187d1c9207e60eb1a67b0f9  i2pupdate.sud