I2P is an anonymous network, exposing a simple layer that applications can use to anonymously and securely send messages to each other. The network itself is strictly message based (ala IP), but there is a library available to allow reliable streaming communication on top of it (ala TCP). All communication is end to end encrypted (in total there are four layers of encryption used when sending a message), and even the end points ("destinations") are cryptographic identifiers (essentially a pair of public keys).

What's New:

0.9.47 enables our new end-to-end encryption protocol (proposal 144) by default for some services. The Sybil analysis and blocking tool is now enabled by default.

Java 8 or higher is now required. Debian packages for Wheezy and Stretch, and for Ubuntu Trusty and Precise, are no longer supported. Users on those platforms should upgrade so you may continue to receive I2P updates.

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.


  • Java 8 now required
  • Jetty 9.3.28
  • Tomcat 9.0.35
  • Json-simple 2.3.0
  • RRD4J 3.6
  • ECIES-X25519-AEAD-Ratchet encryption enabled for i2psnark, shared clients, HTTP proxy, and new tunnels
  • Increase streaming MTU for ECIES connections
  • Enable Sybil analysis and blocking tool by default

Bug Fixes

  • Hidden Services Manager: Fix missing server tunnel length configuration
  • Hidden Services Manager: Fix missing server throttle configuration
  • i2psnark: Fix javascript confirmation for delete buttons
  • UPnP: More fixes for changing interfaces and devices
  • Fix DoH handling of Cloudflare responses
  • Fix blinded/encrypted leaseset creation
  • Fix persistent leaseset keys


  • Sign Windows dlls
  • Faster gzip uncompression for level 0
  • i2psnark: Increase max pipeline
  • Translation updates