• Posted: 2015-11-19
  • Author: str4d
  • Posted in release

Hello I2P! This is the first release signed by me (str4d), after 49 releases signed by zzz. This is an important test of our redundancy for all things, including people.


My signing key has been in router updates for over two years (since 0.9.9), so if you are on a recent version of I2P this update should be just as easy as every other update. However, if you are running an older version than 0.9.9, you will first need to manually update to a recent version. Update files for recent versions can be downloaded here, and instructions on how to manually update are provided here. Once you have manually updated, your router will then find and download the 0.9.23 update as usual.

If you installed I2P via a package manager, you are not affected by the change, and can update as usual.

Update details

The migration of RouterInfos to new, stronger Ed25519 signatures is going well, with at least half of the network already estimated to have rekeyed. This release accelerates the rekeying process. To reduce network churn, your router will have a small probability of converting to Ed25519 at each restart. When it does rekey, expect to see lower bandwidth usage for a couple of days as it reintegrates into the network with its new identity.

Note that this will be the last release to support Java 6. Please update to Java 7 or 8 as soon as possible. We are already working to make I2P compatible with the upcoming Java 9, and some of that work is in this release.

We have also made some minor improvements in I2PSnark, and added a new page in the routerconsole for viewing older news items.

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.



  • Accelerate transition to Ed25519

Bug Fixes

  • Fix some bugs soft restarting after a large clock shift (e.g. resume) (but more to do)
  • Fix streaming retransmission timers that were dying, and related timer bugs
  • Fix streaming connections rejected while tunnel is opening
  • Fix rare i2psnark and UPnP deadlocks
  • Fix lifetime participating bandwidth display in console


  • Increase default outbound exploratory tunnel length to 3
  • Use max of 2 not-failing peers in exploratory tunnels to improve build success
  • Add support for hostnames prefixed with "www."
  • Store news feed items separately on disk, show on new /news page, limit display on home page to 2
  • Increase probability of rekeying to EdDSA
  • Detect for broken ECDSA support in Gentoo
  • Console: Add a Java 6 warning, this is the last release to support Java 6
  • Changes to prepare for Java 9 compatibility
  • i2ptunnel: Pass Accept-Encoding header through client and server proxies, to allow end-to-end compression
  • i2psnark:
    • Increase piece size, piece count, and file count limits
    • Save added and completed times
    • Save magnet parameters across restart
    • Don't delete .torrent file on errors at startup, rename to .torrent.BAD
    • Add recheck, start, stop buttons on details pages
    • Add option to disable "smart sort"
  • Speed up IP address validation
  • Separate streaming blacklists for ECDSA and EdDSA
  • Translation updates
  • Update GeoIP data (new installs and PPA only)

SHA256 Checksums:

306c0eeb4d0ff210b42cb0a6babe46da59d0f80317451f3fd40381bb79b54852  i2pinstall_0.9.23_windows.exe
843a8059830b009d10c47cc7c85e260ad88f7c3c16e289bbf80c0eb178318823  i2pinstall_0.9.23.jar
24e303f2af1b7b14ed3a6e17cc7d1b6432ec99d8d00246a88486922941c72345  i2psource_0.9.23.tar.bz2
d7f2f2349520071a3d19a4130a83ae1fb109f7924cb1eff5da020678787d3ad3  i2pupdate_0.9.23.zip
56afdecfc002c9a10f5ad5d224bbecdd3db30ddc522d194567aafb85ce0d2567  i2pupdate.su3