Download project files

How do I verify a download?

110 of 33 releases

0.9.12 release from the trunk series released 2014-03-31

Release information
Release notes:

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 DuckDuck...

File Description Downloads
download icon i2p.apk (md5) I2P 0.9.12 for Android 1
last downloaded 5 days ago
download icon (md5, sig) I2P 0.9.12 update 10
last downloaded 3 days ago
download icon i2psource_0.9.12.tar.bz2 (md5, sig) I2P 0.9.12 Source Code 697
last downloaded today
download icon i2pinstall_0.9.12_windows.exe (md5, sig) I2P 0.9.12 Installer for Windows 49
last downloaded 24 hours ago
download icon i2pinstall_0.9.12.jar (md5, sig) I2P 0.9.12 installer (Linux / OSX / FreeBSD / Solaris) 134
last downloaded today
Total downloads: 891

0.9.11 release from the trunk series released 2014-02-08

Release information
Release notes:

0.9.11 continues improving LeaseSet lookup and storage to prevent an attacker from correlating a Destination with a Router. It adds support for the Orchid outproxy plugin which is available at plugins.i2p. There is a reduction in memory usage due to fixes in the transports. We have some I2CP protocol improvements that will provide better lookup facilities and authorization protection for external clients. Of course, there's also the usual collection of bug fixes. All users should update.

This may be the last release that works with Java 5, which is very old and unsupported. If you are using a Java 5 or 6 runtime, we strongly recommend that you upgrade to Java 7.

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


* 2014-02-08 0.9.11 released

2014-02-07 zzz
 * Services:
   - Move backup news to psi.i2p
   - Move default addressbook subscription to i2p-projekt.i2p
   - Remove www.i2p2.i2p from default update lists
   - Add psi.i2p to hosts.txt
   - Update links on help pages to avoid redirects on new website
     and select the correct language
 * SusiDNS: Fix whitespace issues

2014-02-06 kytv
 * Brazilian Portuguese, Danish, French, Japanese, Polish, Russian, Ukrainian
   translation updates
 * Updates to geoip.txt and geoipv6.dat.gz based on Maxmind GeoLite Country
   database from 2014-02-05.

2014-01-31 zzz
 * /logs: Fix encoding of wrapper log section (ticket #1193)
 * NetDB: Fix cases where corrupt RouterInfo files were not deleted (ticket #1190)
 * SOCKS: Remove static logs

2014-01-30 zzz
 * InboundMessageDistributor: Set reply flag on LeaseSets

2014-01-28 zzz
 * /configclients: Add link to plugins.i2p; don't show delete button for console
 * Tunnels: Change expl. IB default to 2 + 0-1

2014-01-28 dg
 * I2PSnark: Make 'kitty.png' transparent

2014-01-28 zzz
 * I2CP: Use client tunnels for b32 lookups (ticket #1166)

2014-01-27 zzz
Prop from i2p.i2p.zzz.i2cp:
 * I2CP:
   - Add support for hostname lookups over I2CP with new
     HostLookup and HostReply messages.
   - Move username / password from CreateSession to GetDate for
     early authentication; this is an incompatible chage.
     Outside router context with authentication enabled,
     new clients will not work with old routers.
     Early authentication is not yet enforced, enable with
     i2cp.strictAuth=true. Will change default to true in a later release.
   - Block all actions before authentication.
   - Better disconnect messages to clients for diagnostics
   - Improve lookup command, add auth command in i2ptunnel CLI for testing
   - Don't start ClientWriterRunner thread in constructor
   - Don't flush in ClientWriterRunner unless necessary
   - Send GetDate even in SimpleSession outside of RouterContext
   - Improve SetDate wait logic to reduce locks and break out when Disconnect received
   - Add Disconnect handler to SimpleSession
   - Add SessionID to HostLookup/Reply messages, for future
     use when we have multiple sessions
   - Throw IAE on invalid SessionID values
   - Add support for b64 conversion in destLookup()
   - Catch invalid message length sooner
 * I2Ping:
   - Extend I2PTunnelClientBase so non-shared-client,
     I2CP options, and other features will work
   - Fixes for fields and threading
   - Cleanups
 * Streaming:
   - Send LS with ping (broken since 0.9.2)
   - Set the NO_ACK flag on pings and pongs

2014-01-27 zab
 * Move message serialization later in the SSU sending pipeline
   (Ticket #1183)
 * Up version to -5

2014-01-27 zzz
 * i2ptunnel HTTP Proxy: Fix default enable for outproxy plugin

2014-01-25 zzz
Prop from i2p.i2p.zzz.outproxy:
 * i2psnark: Lower threshold for auto-stop
 * i2ptunnel HTTP Proxy:
   - Add support for HTTPS
   - Add support for outproxy plugins
 * Installer: Update links
 * NetDB: Fix NPE after client shutdown (ticket #1174)
 * Router: Lower frequency for publishing stats
 * Update: All updates via torrent

2014-01-25 zab
 * Move OutNetMessage buffer preparation to the Writer threads
   (Ticket #1183)
 * Up version to -1

File Description Downloads
download icon (md5, sig) I2P 0.9.11 update 48
last downloaded 4 days ago
download icon i2psource_0.9.11.tar.bz2 (md5, sig) I2P 0.9.11 Source Code 1,017
last downloaded 24 hours ago
download icon i2pinstall_0.9.11_windows.exe (md5, sig) I2P 0.9.11 Installer for Windows 84
last downloaded 9 days ago
download icon i2pinstall_0.9.11.jar (md5, sig) I2P 0.9.11 installer (Linux / OSX / FreeBSD / Solaris) 241
last downloaded 12 days ago
Total downloads: 1,390

0.9.10 release from the trunk series released 2014-01-22

Release information
Release notes:


Anonymity Improvements

- Use client tunnels for LeaseSet lookups

Bug Fixes

- Flood netdb stores to new location before midnight to prevent lookup fails after midnight
- Fix setting I2CP host/port in BOB
- Fix several character encoding issues in susimail
- Fix StandardServerSocket.close()
- Fix exception in PrivateKeyFile
- Fixes in RouterInfo expiration task


- Tweaks to reduce number of peer connections
- Several threading fixes to reduce blocking in the timer queues
- Disable streaming ping handling for clients
- Use i2psnark's Kademlia library for the router netdb also
- Increase outbound exploratory default to 2 + 0-1 hops, part of gradual increase to 3 hops in/out
- More findbugs fixes
- Streaming library refactoring
- Support country-specific translations
- New...


* 2014-01-22 0.9.10 released

2014-01-20 kytv
 * Translation updates
 * Updates to geoip.txt and geoipv6.dat.gz based on Maxmind GeoLite Country
   database from 2014-01-08.

2014-01-20 zzz
 * Console: Change www.i2p2.i2p links to i2p-projekt.i2p
 * Reseed: Remove

2014-01-12 zzz
 * NetDB: Fix handling of DSRM and DSM down client tunnels

2014-01-11 zzz
 * NetDB:
   - Reduce min part tunnels for ffs to 35
   - Use client tunnels for LS lookups from OCMOSJ (ticket #1166)

2014-01-11 str4d
 * BOB: Pass through I2CP host/port (ticket #827)

2014-01-10 str4d
 * BOB: Implement ClientApp interface (ticket #347)

2014-01-09 zzz
 * Kademila: Fix NPE in remove()

2014-01-09 kytv
 * Translations
  - Updates to French, German, Romanian, and Russian
  - New Brazilian Portuguese translation
  - Mass pull of translations from Transifex
  - Update of English strings

2014-01-09 str4d
 * susimail:
  - Fixed pagination with zero entries (ticket #1168)
  - UTF-8 support from wockenfuss (ticket #508)
 * Console: Fixed overlapping text issue in midnight theme

2014-01-07 zzz
 * Streaming: Fix StandardServerSocket.close() and isClosed()

2014-01-04 zzz
 * Peermanager: Disable small same-country bonus
 * Tunnels: Change client default to 3 hops in router;
   change expl. default to 2+0 IB and 2 + 0-1 OB

2014-01-04 dg
 * Streaming: Move streaming to new package (ticket #1135)
 * Console: Change /configclients 'advanced warning' to include 'toopie, no red

2013-12-25 dg
 * Console: Add 'advanced warning' to /configclients
 * SOCKS5Server: Remove redundant, commented out line from my previous findbugs

2013-12-19 zzz
 * NetDB: Fixes for ExpireRoutersJob
  - Don't expire if too few routers
  - Don't expire if net is disconnected
  - Don't run in VMCommSystem

2013-12-15 zzz
* EepGet: Allow override of the User-Agent
* i2psnark: Set User-Agent

2013-12-14 zzz
* NetDB:
 - Just before midnight, flood to new location too so lookups
   don't fail after keyspace rotation (ticket #510)
 - Refactor RoutingKeyGenerator and UpdateRoutingKeyModifierJob
   in support of the above

2013-12-13 zzz
 * i2ptunnel: Show destination for persistent client key only if available;
              show b32 for the key as well
 * NetDB:
   - Increase new kad size to K=24, B=4
   - Fix router count by counting in the data store, not the kbuckets
   - Randomize the order we load router infos at startup so we
     don't bias the kbuckets

2013-12-10 zzz
Prop from i2p.i2p.zzz.test2:
 * Config files: Allow empty values
 * Data: Deprecate Signature.FAKE_SIGNATURE
 * GeoIP: Thread the periodic lookup so it doesn't clog the timer queue
 * I2CP router-side: Disconnect client on attempt to publish invalid leaseset
 * i2psnark:
   - Make a set of the default trackers so the config array
     can be private and the lookup for the form is more efficient.
   - Disable streaming pings (ticket #1142)
 * i2ptunnel: Disable streaming pings for clients (ticket #1142)
 * i2ptunnel IRC client: Do not filter server PING or client PONG (ticket #1141)
 * Jetty 7.6.14.v20131031
 * PeerManager: Thread the periodic reorg so it doesn't clog the timer queue
 * PrivateKeyFile: Fix ISE (ticket #1145)
 * Startup: Wait a while and recheck if a recent ping file is there,
            so that a crashed router doesn't prevent a restart (ticket #633)
 * Transport: Reduce target connections from 60% to 45% of limit
   to improve network capacity. Apparent problems with lower limits were
   actually due to unrelated bugs, fixed in
 * Translations:
   - Add support for country variants (ticket #1133)
   - Refactor data in ConfigUIHelper
 * UDP PeerState: findbugs volatile/atomic/synch
Prop from i2p.i2p.zzz.netdbkad:
 * NetDB:
   - Move net.i2p.kademlia package from i2psnark to core, and convert
     netdb to use it.
   - Delete old implementation in netdb
   - Fixups in netdb for generics
   - Add debug output to /debug
 * Kad unit tests:
   - Move KBucketSetTest to new directory
   - Fix testSelf() as new implementation will never include myself
   - Delete KBucketImplTest, not applicable/useful now
   - Port KBSTest from i2p.zzz.kademlia branch
   - Fix RandomTrimmer so it always returns true, so it may be used
     as the trimmer in the unit tests

File Description Downloads
download icon (md5, sig) I2P 0.9.10 update 14
last downloaded 10 weeks ago
download icon i2psource_0.9.10.tar.bz2 (md5, sig) I2P 0.9.10 Source Code 593
last downloaded 12 days ago
download icon i2pinstall_0.9.10_windows.exe (md5, sig) I2P 0.9.10 Installer for Windows 457
last downloaded 3 weeks ago
download icon i2pinstall_0.9.10.jar (md5, sig) I2P 0.9.10 installer (Linux / OSX / FreeBSD / Solaris) 239
last downloaded 5 weeks ago
Total downloads: 1,303

0.9.9 release from the trunk series released 2013-12-07

Release information
Release notes:

0.9.9 fixes a number of bugs in the netdb, streaming, and i2ptunnel, and starts work on a year-long plan to increase the strength of the cryptographic signing algorithms used in the router, and support multiple algorithms and key lengths simultaneously. Automatic update files will now be signed with 4096-bit RSA keys.

We now support SSL between your router and your servers for security. See http://zzz.i2p/topics/1495 for more information.

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. Several members of the I2P team will be at 30C3 in Hamburg this year. Come say hello and ask for an I2P sticker. Thanks to everyone for their support this year.


Anonymity Improvements

- Don't build cl...


2013-12-04 zzz
i2psnark: Fix ConnectionAcceptor not restarting after tunnel
  restart, preventing incoming connections

2013-12-01 kytv
 * Update geoip.txt based on Maxmind GeoLite Country database from 2013-11-05.
 * French, Italian, Romanian, Spanish, and Swedish translation updates from transifex

2013-11-28 dg
 * I2PTunnel: Don't send 'X-Powered-By' on HTTP server tunnels for anonymity reasons.

2013-11-25 str4d
 * Reseed: Listen to "Require SSL" config option

2013-11-23 zzz
 * i2ptunnel: Clean up old timer threads

2013-11-23 str4d
 * susimail: Fix NPE when deleting last message (ticket #414)

2013-11-19 kytv
 * Translation updates and start of Japanese translation pulled from Transifex

2013-11-14 kytv
 * Update Java Service Wrapper to v3.5.22
    - Windows: Self-compiled with VS2010 in Windows 7. The icon has been
      changed from Tanuki's default to Itoopie.
    - Linux ARMv6: Compiled on a RaspberryPi using gcc 4.6.3-14+rpi1,
      Icedtea6 6b27-1.12.5-1+rpi1 and stripped
    - All other binaries are from the "community edition" deltapack offered by

2013-11-14 zzz
 * Tunnels: Fix reception of encrypted responses to LS lookups (ticket #1125)

2013-11-07 zzz
 * i2psnark: Fix file links, broken in -12 (ticket #1114)
 * Logging: Track duplicates across flush interval (ticket #1110)
 * NetDB: Fix RI publish interval, broken in -7

2013-11-03 zzz
 * NetDB: Allow store of leaseset as long as one lease has not expired
 * Transport:
   - Expire wasUnreachable entries, so inbound tunnel build failures
     don't escalate
   - Add network status to event log

2013-11-01 zzz
 * Transport: Fix GeoIPv6 (ticket #1096)

2013-10-31 zzz
 * i2psnark: Always verify file lengths at startup (ticket #1099)
 * Transports: Increase threshold for idle timeout reduction
   (partially back out change from -10)

2013-10-29 dg
 * i2psnark: Start torrents by default (ticket #1072)

2013-10-29 zzz
 * i2psnark: Fix start and start-all buttons on text-mode browsers
   and Opera (ticket #1093)
 * InboundMessageDistributor:
   - Don't discard an encrypted DSRM received
     down a tunnel, just strip the hashes like we do for unencrypted
   - Send a store of our own encrypted LS received down a tunnel to
     the InNetMessagePool so the FloodfillVerifyStoreJob will see it.
 * NetDB: Fix LS store verifies with encrypted replies
   by storing the tagset with the correct SKM for the inbound tunnel used.
   Broken since 0.9.7 when it was introduced.
 * Tunnels:
   - Build a new exploratory fallback tunnel in the BuildExecutor
     loop if we run out.
   - Don't use closest expl. tunnel as the paired tunnel for a build,
     use a random one instead (partially back out change from -12)

2013-10-29 meeh
 * Adding no.i2p registrar

2013-10-28 dg
 * I2PTunnel: Enable persistent keying for SOCKS tunnels (ticket #1088)

2013-10-27 zzz
 * Streaming; Fix crash caused by previous blacklist fix (ticket #1070)

2013-10-26 zzz
 * i2psnark: Display base name, not torrent file name (ticket #985)
 * I2PTunnel HTTP server: New POST limiter
 * Profiles: Ensure we select random peers even before the first reorganization
 * Streaming: Randomize end of first conn limit period
 * Tunnels:
   - Don't use fallback expl. tunnels as the paired tunnel
     for a client tunnel build.
   - Fix selection of an expl. tunnel close to a hash

2013-10-25 zzz
 * Router: Only log ping file error once (ticket #1086)
 * Streaming:
   - Check blacklist/whitelist before connection limits, so
     a blacklisted peer does not increment the counters
   - Don't increment total throttle if peer is throttled
   - Fix blacklist NPE after config change (ticket #1070)
 * Transports: Reduce connection idle time sooner

2013-10-24 zzz
 * i2psnark: Drop incoming connections on HTTP port
 * I2PTunnel: Don't let uncaught exception kill server acceptor (ticket #1070)
 * I2PTunnel standard, HTTP, and IRC servers:
   Route connections to specific targets based on incoming I2P port
   with custom option targetForPort.xxxx=myserver:yyyy
   This allows multiple services on a single server tunnel (ticket #1066)

2013-10-23 zzz
 * I2PTunnel standard and IRC clients:
   - Allow host:port targets; set defaults in i2ptunnel.config (ticket #1066)
   - Don't fail start if hostname is unresolvable; retry at connect time (ticket #946)
   - Output IRC message on connect exception
   - Update target list on-the-fly when configuration changes
 * NetDB:
   - Increase RI publish interval to reduce the connection load on ffs
   - Save RI-last-published time; check it before publishing

2013-10-19 zzz
 * NetDB:
   - Reinstate ExpireRoutersJob
   - Reduce min part. tunnels for floodfill
   - Reduce floodfill redundancy

2013-10-17 zzz
 * I2CP: Move SSL client socket code to util,
   move cert location to certificates/i2cp.
 * I2PTunnel: Support SSL for connection to local server
   for Standard, HTTP, and IRC server tunnels.
   Put server cert in certificates/i2ptunnel if necessary.
 * Streaming: Throw IOE if socket is closed (ticket #1077)

2013-10-14 kytv
 * French translation updates from Transifex

2013-10-14 zzz
 * Translations: Move country names to a new resource bundle

2013-10-13 zzz
 Prop from branch i2p.i2p.zzz.test2:
 * Console:
   - Implement webapp state detection and stop button for webapps
     on /configclients (Ticket #1025)
   - Set per-connector acceptors back to 1, Jetty default changed to 2?
   - Tag strings on /jobs (ticket #969)
 * Data Structures:
   - Make Destination and RouterIdentity keys and cert immutable
   - Add Destination cache
 * i2psnark:
   - Combine getPeers and announce into a single method, as we must announce to
     the closest from the getPeers, not the closest from the kbuckets
   - Stop getPeers when nothing closer is found
   - Increase DHT dest lookup, search timeouts, and max search depth
   - Loop tracker client faster when in magnet mode or if DHT announce fails
   - Don't return an empty peers list in DHT if we only know about the requestor
   - Refactor Storage file data structures
   - Sort files when creating torrents
   - Add torrent auto-stop support; enable for update file
   - Add tunnel auto-close when no torrents are running
   - Close socket before closing output stream to avoid blocking in
     Peer.disconnect(), and prevent Peer.disconnect() loop
 * I2PTunnelHTTPServer: Don't thread a receiver for GET or HEAD
 * Jetty 7.6.13.v20130916
 * Logging:
   - Require strict match of class name component
   - parseLimits() cleanup
 * SSU: More efficient InboundMessageState
 * Streaming:
   - Fix active stream counting so it doesn't count streams
     that are closed and in TIME-WAIT state. Also, break out of the
     counting loop as soon as we know the answer. (Ticket #1039)
   - Consolidate scheduling of DisconnectEvent, and ensure
     we only do it once. (Ticket #1041)
   - Atomics for close/reset send/receive
     so we only do things once. (Ticket #1041)
   - Remove setCloseReceivedOn(), unused outside Connection
   - OR the isFlagSet parameter instead of multiple calls
   - Remove acked packets from _outboundPackets inside synced iterator
   - Short-circuit _outboundPackets iterator if empty
   - Small optimization if not logging in ConnectionPacketHandler
   - Stub out processing of close ack (ticket #1042)
   - Don't queue a message for an unknown connection on the SYN queue
     if it has a send ID set, it must be for a recently closed connection
   - Major rework of connection disconnect process. Tickets 1040-1042.
   - Prevent multiple calls or reentrancy in disconnect() (ticket #1041)
   - Implement processing of close to skip TIME-WAIT, and
     wait for all packets to be acked (not just the CLOSE) before
     doing so, if possible (ticket #1042)
   - Don't call disconnect() or disconnectComplete() from I2PSocketFull.destroy()
     so retransmissions and acks can still happen (removes some close loops)
   - Don't call disconnect() until we have both sent and received a CLOSE (ticket #1040)
   - Don't reset the connection from CPH just because we sent a CLOSE
     and it was acked (ticket #1040)
   - Ack packets even if we sent a CLOSE (ticket #1040)
   - Retransmit CLOSE if not acked (ticket #1040)
   - Send received packets to the MessageInputStream even if we haven't received a SYN
   - Don't call MessageInputStream.messageReceived() for ack-only packets, that was pointless
   - Don't send a RESET after timeout of an outbound connection
   - Work around bugs on other end by limiting retransmission of CLOSE packets
   - Make I2PSocketFull.close() nonblocking; it will now cause any user-side
     writes blocked in I/O (Connection.packetSendChoke()) to throw
     an exception (tickets #629, #1041)
   - Don't ignore InterruptedExceptions; throw InterruptedIOException
   - MessageInputStream locking fixes
   - Make _isInbound final
   - More cleanups, javadocs, log tweaks
 * Transport: Treat more IPs as local
   - 25/8 Hamachi (moved from 5/8 Nov. 2012)
   - 2620:9b::/32 Hamachi
   - 3ffc::/16 6bone
   - 2001:db8::/32 example (RFC 3849)
   - 0::/8 Includes IPv4 compatibility addresses ::xxxx:xxxx
 * Update:
   - Support notification of updates that cannot be downloaded
     due to "constraints". Add constraint checks for java version,
     router version, configuration, and base permissions. (ticket #1024)
   - Thread news fetcher so it doesn't clog the scheduler
 * Watchdog: Format messages better

2013-10-06 zzz
 Prop from branch i2p.i2p.zzz.ecdsa:
 * Build:
   - Generate su3 file in release target
   - Add zzz's new RSA 4096 pubkey cert for updates
   - Fix
 * Console: Move advanced setting to HelperBase
 * DSAEngine changes:
   - Implement raw sign/verify for other SigTypes
   - Add sign/verify methods using Java keys
 * ECDSA Support:
   - Add ECConstants which looks for named curves and falls back to
     explicitly defining the curves
   - Add support for ECDSA to SigType, DSAEngine and KeyGenerator
   - Attempt to add BC as a Provider
   - genSpec: fallback to BC provider
 * EepGet:
   - Fix non-proxied PartialEepGet
   - Prevent non-proxied eepget for an I2P host
 * KeyGenerator changes:
   - Generate key pairs for all supported SigTypes
   - KeyPairGen: Catch ProviderException, fallback to BC provider
   - Add KeyGenerator main() tests
 * KeyRing and DirKeyRing added: simple backend for storing X.509 certs
 * KeyStoreUtil added:
   - Consolidate KeyStore code from SSLEepGet, I2CPSSLSocketFactory,
     SSLClientListenerRunner, and RouterConsoleRunner into new
     KeyStoreUtil and CertUtil classes in net.i2p.crypto (ticket #744)
   - Change default to RSA 2048 (ticket #1017)
   - Set file modes on written keys
   - Overwrite check in createKeys()
   - New getCert(), getKey()
   - Extend keygen max wait
   - Read back private key to verify after keygen
   - Validate cert after reading from file
   - Validate CN in cert
   - Specify cert signature algorithm when generating keys
 * NativeBigInteger: Tweak to prevent early context instantiation
 * RSA support added: constants, parameters, sig types, support in DSAEngine, KeyGenerator, SigUtil
 * SHA1Hash: Add no-arg constructor
 * SigType changes:
   - Add parameters (curve specs) to SigTypes
   - Add getHashInstance()
   - Add RSA, fix ECDSA
   - Renumber, rename, comment out types that are too short.
 * SigUtil added:
   - Converters from Java formats (ASN.1, X.509, PKCS#8)
     to I2P formats for Signatures and SigningKeys
   - Move ASN.1 converter from DSAEngine to SigUtil, generalize
     for variable length, add support for longer sequences,
     add more sanity checks, add more exceptions
   - Move I2P-to-Java DSA key conversion from DSAEngine to SigUtil
   - Add Java-to-I2P DSA key conversion
   - Add Java key import
   - New split() and combine() methods
 * SSLEepGet: Move all certificates to certificates/ssl, in preparation
   for other certificate uses by SU3File
 * SU3File changes:
   - Support all SigTypes
   - Implement keygen
   - Readahead to get sigtype on verify, as we need the hash type
   - Enum for content type
   - Add unknown content type, make default
   - Fix NPE if private key not found or sign fails
   - Store generated keys in keystore, and get private key from keystore
     for signing, in Java format
   - Use Java keys to sign and verify so we don't
     lose the key parameters in the conversion to I2P keys
   - Type checking of Java private key vs. type when signing
   - Use certs instead of public keys for verification
   - Fix arg processing
   - Improve validate-without-extract
   - New extract command
   - Change static fields to avoid early context init
   - Reduce PRNG buffer size for faster signing
 * Update: Preliminary work for su3 router updates:
   - New ROUTER_SIGNED_SU3 UpdateType
   - Add support for torrent and HTTP
   - Refactor UpdateRunners to return actual UpdateType
   - Deal with signed/su3 conflicts
   - Verify and extract su3 files.
   - Stub out support for clearnet su3 updating
   - New config for proxying news, separate from proxying update
   - PartialEepGet and SSLEepGet tweaks to support clearnet update
   - Remove proxy, key, and url config from /configupdate
   - More URI checks in UpdateRunner
   - Add https support for news fetch
   - Add su3 mime type
   - Reset found version in update loop so we don't fetch from
     the next host too.
   - Prevent NPE on version after SSL fetch

* 2013-10-02 released

File Description Downloads
download icon (md5, sig) I2P 0.9.9 update 53
last downloaded 11 weeks ago
download icon i2psource_0.9.9.tar.bz2 (md5, sig) I2P 0.9.9 Source Code 26
last downloaded 13 weeks ago
download icon i2pinstall_0.9.9_windows.exe (md5, sig) I2P 0.9.9 Installer for Windows 183
last downloaded 7 weeks ago
download icon i2pinstall_0.9.9.jar (md5, sig) I2P 0.9.9 installer (Linux / OSX / FreeBSD / Solaris) 98
last downloaded 3 weeks ago
Total downloads: 360 release from the trunk series released 2013-10-02

File Description Downloads
download icon (md5, sig) I2P update 50
last downloaded 6 weeks ago
download icon i2psource_0.9.8.1.tar.bz2 (md5, sig) I2P Source Code 26
last downloaded 20 weeks ago
download icon i2pinstall_0.9.8.1_windows.exe (md5, sig) I2P Installer for Windows 95
last downloaded 9 weeks ago
download icon i2pinstall_0.9.8.1.jar (md5, sig) I2P installer (Linux / OSX / FreeBSD / Solaris) 39
last downloaded 7 weeks ago
Total downloads: 210

0.9.8 release from the trunk series released 2013-09-30

Release information
Release notes:

0.9.8 includes the long-awaited support for IPv6. It's enabled by default, but of course you need a public IPv6 address to use it. Configuration is on the "network" configuration tab in your console.

We also have anonymity improvements including padding of SSU packets and longer router private keys.

30% of you will update via in-network torrent in this update cycle.

IPv6 Details

IPv6 is enabled and preferred by default. If you have a public IPv6 address and you are connecting to another router with a published IPv6 address, it will connect via IPv6. There is a new IPv6 configuration section on /confignet in the router console. If IPv6 is causing problems you may disable it there.

As a part of the IPv6 development effort, I2P now supports multiple published IP addresses. If you have...

File Description Downloads
download icon (md5, sig) I2P 0.9.8 update 16
last downloaded 23 weeks ago
download icon i2pinstall_0.9.8_windows.exe (md5, sig) I2P 0.9.8 Installer for Windows 34
last downloaded 7 days ago
download icon i2pinstall_0.9.8.jar (md5, sig) I2P 0.9.8 installer (Linux / OSX / FreeBSD / Solaris) 17
last downloaded 4 weeks ago
download icon i2psource_0.9.8.tar.bz2 (md5, sig) I2P 0.9.8 Source Code 12
last downloaded 22 weeks ago
Total downloads: 79 release from the trunk series released 2013-08-10

Release information
Release notes:

This unscheduled release disables the RouterInfo verification messages that were used in the attack published in the UCSB paper, which should make correlating a LeaseSet and a Router much more difficult. We have also included a limited number of other fixes listed below. Our 0.9.8 release, which will include IPv6 support, is still on-schedule for late September.

As usual, we recommend that all users update to this release.

Anonymity Improvements

- Disable RouterInfo verification messages


- Extend inbound tunnel expiration
- i2prouter: bashism fix
- i2psnark: increase max piece size, mime type updates
- New reseed host
- New update hosts, thanks Meeh and dg
- Streaming: RTO changes
- Updater: Increase update-via-torrent to 30%
- UPnP fix for some hardware

File Description Downloads
download icon i2pinstall_0.9.7.1_windows.exe (md5, sig) I2P Installer for Windows 60
last downloaded 17 weeks ago
download icon (md5, sig) I2P update 10
last downloaded 20 weeks ago
download icon i2psource_0.9.7.1.tar.bz2 (md5, sig) I2P Source Code 15
last downloaded 24 weeks ago
download icon i2pinstall_0.9.7.1.jar (md5, sig) I2P installer (Linux / OSX / FreeBSD / Solaris) 28
last downloaded 22 weeks ago
Total downloads: 113

0.9.7 release from the trunk series released 2013-07-15

Release information
Release notes:

Anonymity Improvements

- End-to-end encryption of responses to leaseset lookups
- Expand floodfill pool by enabling class 'N' floodfills
- Randomize padding inside encrypted SSU packets
- Preparation for better SSU protocol obfuscation

Bug Fixes

- Fix newer lease sets not getting stored or published
- Fix classpath bug when used with 4-year-old installations, causing the console not to start
- Fix addressbook database bug preventing update of the reverse index
- Fix i2psnark bug that changed the infohash of torrents created by Robert and fetched via magnet link
- Fix version checking for plugins
- Fix a streaming timer bug causing frequent IRC disconnects (also affects other close-on-idle tunnels)


- Don't install as a service on Windows by default
- Reduce transport idle time...

File Description Downloads
download icon i2psource_0.9.7.tar.bz2 (md5, sig) I2P 0.9.7 Source Code 20
last downloaded 4 weeks ago
download icon i2pinstall_0.9.7.jar (md5, sig) I2P 0.9.7 installer (Linux / OSX / FreeBSD / Solaris) 26
last downloaded 16 weeks ago
download icon i2pinstall_0.9.7_windows.exe (md5, sig) I2P 0.9.7 Installer for Windows 125
last downloaded 3 weeks ago
download icon (md5, sig) I2P 0.9.7 update 5
last downloaded 30 weeks ago
Total downloads: 176

0.9.6 release from the trunk series released 2013-05-27

Release information
Release notes:

0.9.6 includes bug fixes and an update from Jetty 6.1.26 (2010-11-10) to Jetty 7.6.10 (2013-03-12). See below for important information on the Jetty update. The Jetty 7 series is actively maintained and we plan to stay current with it in future I2P releases.

Most users will update via HTTP. Those running development builds will attempt to update via the experimental in-network bittorrent with i2psnark. We've fixed some bugs that will enable more users to update via torrent in the 0.9.7 update cycle.

Important fix for Windows Eepsites, first install 0.9.5 only

If you first installed I2P with version 0.9.5, on Windows only, we recommend that you follow the following instructions to fix your eepsite location before you update to 0.9.6. Only original installations of 0.9.5-0 on Windows a...

File Description Downloads
download icon (md5, sig) I2P 0.9.6 Update (save to install directory and (re)start I2P) 19
last downloaded 8 weeks ago
download icon i2pinstall_0.9.6_windows.exe (md5, sig) I2P 0.9.6 installer (Windows) 61
last downloaded 11 weeks ago
download icon i2pinstall_0.9.6.jar (md5, sig) I2P 0.9.6 installer (Linux / OSX / FreeBSD / Solaris) 26
last downloaded 40 weeks ago
download icon i2psource_0.9.6.tar.bz2 (md5, sig) I2P 0.9.6 Source Code 9
last downloaded 35 weeks ago
Total downloads: 115

0.9.5 release from the trunk series released 2013-03-09

Release information
Release notes:

0.9.5 includes bug fixes and defenses for some issues and vulnerabilities that are being investigated by researchers at UCSB. We continue to work with them on additional improvements. This is a good opportunity to remind the community that while our network continues to grow rapidly, it is still relatively small. There may be multiple weaknesses or bugs that could compromise your anonymity. Help us grow the network by spreading the word and contributing where you can.

In this upgrade cycle, a random 1% of routers, (plus all routers running a development build) will attempt to update via the experimental in-network bittorrent with i2psnark. If this doesn't work, it should fall back to standard in-network HTTP update.

Defenses and Bug Fixes

- Fix router bug causing lockup when using iM...

File Description Downloads
download icon i2pinstall_0.9.5-win1_windows.exe (md5, sig) I2P 0.9.5-win1 installer (Windows) (ticket #912, 919, 920 bugfix) 50
last downloaded 4 weeks ago
download icon (md5, sig) I2P 0.9.5 Update (save to install directory and (re)start I2P) 48
last downloaded 4 weeks ago
download icon i2pinstall_0.9.5_windows.exe (md5, sig) I2P 0.9.5 installer (Windows) 83
last downloaded 4 weeks ago
download icon i2psource_0.9.5.tar.bz2 (md5, sig) I2P 0.9.5 Source Code 103
last downloaded 2 weeks ago
download icon i2pinstall_0.9.5.jar (md5, sig) I2P 0.9.5 installer (Linux / OSX / FreeBSD / Solaris) 39
last downloaded 7 weeks ago
Total downloads: 323

110 of 33 releases