I2P


The Invisible Internet Project is an anonymous network layer that allows for censorship-resistant, peer-to-peer communication. Anonymous connections are achieved by encrypting the user's traffic, and sending it through a volunteer-run network of roughly 55,000 computers distributed around the world. Given the high number of possible paths the traffic can transit, a third party watching a full connection is unlikely. The software that implements this layer is called an "I2P router", and a computer running I2P is called an "I2P node". I2P is free and open source, and is published under multiple licenses.

Technical design

I2P started in 2003 as a fork of Hyphanet.
The network is strictly message-based, like IP, but a library is available to allow reliable streaming communication on top of it. All communication is end-to-end encrypted through garlic routing, and even the end points are cryptographic identifiers, so that neither senders nor recipients of messages need to reveal their IP address to the other side or to third-party observers.
Although many developers had been a part of the Invisible IRC Project and Freenet communities, significant differences exist between their designs and concepts. IIP was an anonymous centralized IRC server. Freenet is a censorship-resistant distributed data store. I2P is an anonymous peer-to-peer distributed communication layer designed to run any traditional internet service, as well as more traditional distributed applications. Although I2P is decentralized, it remains vulnerable to address-based blocking by censors operating only a small number of routers. A study in 2018 showed that a censor could block access to over 95% of known peers using only 10 strategically placed routers.
Many developers of I2P are known only under pseudonyms. While the previous main developer, jrandom, is currently on hiatus, others, such as zzz, killyourtv, and Complication have continued to lead development efforts, and are assisted by numerous contributors.
I2P can use a wide variety of cryptographic protocols, with 2048bit ElGamal/AES256/SHA256+Session Tags encryption and Ed25519 EdDSA/ECDSA signatures being the default options for services. Starting in version 2.10.0, a hybrid-PQ scheme of MLKEM+X25519 for symmetric encryption in some services is being rolled-out in testing and required to be implemented within I2P implementations, but an individual user must manually switch it from classical defaults.

Releases

I2P has had a stable release every six to eight weeks. Updates are distributed via I2P torrents and are signed by the release manager.

Funding

The website had stated that "funding for I2P comes entirely from donations" in 2022. Admins and managers of the project said that "the core project itself doesn't take donations. These should instead go to secondary applications or be spent on hiring others, to work on I2P." Support for the onboarding for I2P came from the Open Technology Fund. In 2022, In contrast to The Tor Project, I2P had "not the financial or legal infrastructure to support a network of exit nodes". The reseed servers, a sort of bootstrap nodes, which connect the user with the initial set of peers to join the I2P-network, should be run by volunteers.
In 2025, the American nonprofit StormyCloud formally invited the I2P developer idk to its board of directors after having performed technical support for I2P infrastructure "for years". StormyCloud announced that it would take financial support regarding I2P in the form of cryptocurrencies and fiat which would be used on I2P related projects and infrastructure. idk in the announcement post claimed that the deal would not affect development practices or the philosophy of the team.

Software

Since I2P is an anonymizing network layer, it is designed so other software can use it for anonymous communication. As such, there are a variety of tools currently available for I2P or in development.
The I2P router is controlled through the router console, which is a web frontend accessed through a web browser.

General networking

  • I2PTunnel is an application embedded into I2P that allows arbitrary TCP/IP applications to communicate over I2P by setting up "tunnels" which can be accessed by connecting to pre-determined ports on localhost.
  • SAM is a protocol which allows a client application written in any programming language to communicate over I2P, by using a socket-based interface to the I2P router.
  • BOB is a less complex app to router protocol similar to "SAM"
  • Orchid Outproxy Tor plugin
  • As of version 2.6.0, released in July 2024, I2P no longer allows I2P access over Tor connections.

    Chat

  • Any IRC client made for the Internet Relay Chat can work, once connected to the I2P IRC server. I2P have the option to create tunnels that are specific for this usage, where certain commands that could de-anonymize the user are filtered out.
  • Some XMPP clients like Gajim, Pidgin or a modified Conversations client can work with I2P XMPP servers using Prosody that are using the mod_darknet module

    File sharing

  • Several programs provide BitTorrent functionality for use within the I2P network. Users cannot connect to non-I2P torrents or peers from within I2P, nor can they connect to I2P torrents or peers from outside I2P. I2PSnark, included in the I2P install package, is a port of the BitTorrent client named Snark. Vuze, formerly known as Azureus, is a BitTorrent client that includes a plugin for I2P, allowing anonymous swarming through this network. This plugin is still in an early stage of development, however it is already fairly stable. I2P-BT is a BitTorrent client for I2P that allows anonymous swarming for file sharing. This client is a modified version of the original BitTorrent 3.4.2 program which runs on MS Windows and most dialects of Unix in a GUI and command-line environment. It was developed by the individual known as 'duck' on I2P in cooperation with 'smeghead'. It is no longer being actively developed; however, there is a small effort to upgrade the I2P-BT client up to par with the BitTorrent 4.0 release. I2PRufus is an I2P port of the Rufus BitTorrent client. Robert is the most actively maintained I2PRufus fork. XD is a standalone BitTorrent client written in Go. BiglyBT is a bittorrent client based on Vuze which also allows the use of i2p for downloading/seeding. Additionally, there exists a torrent index named Postman, ran by the individual with the same name, its rules says that it does not allow illegal content, but warez and piracy is accepted.
  • Two Kad network clients exist for the I2P network, iMule and Nachtblitz. iMule is a port of eMule for I2P network. iMule has not been developed since 2013. iMule is made for anonymous file sharing. In contrast to other eDonkey clients, iMule only uses the Kademlia for proceeding to connect through I2P network, so no servers are needed. Nachtblitz is a custom client built on the.NET Framework. The latest version is 1.4.27, released on March 23, 2016. Nachtblitz includes a time lock to disable the software one year after its release date.
  • I2Phex is a port of the popular Gnutella client Phex to I2P. It is stable and fairly functional.
  • Tahoe-LAFS has been ported to I2P. This allows for files to be anonymously stored in Tahoe-LAFS grids.
  • MuWire is a file-sharing program inspired by the LimeWire Gnutella client that works atop the I2P network.

    Bridging to clearnet

Currently, Vuze and BiglyBT are the torrent clients that make clearnet torrents available on I2P and vice versa. Depending on the client settings, torrents from the internet can be made available on I2P and torrents from I2P can be made available to the internet. For this reason, torrents previously published only on I2P can be made available to the entire Internet, and users of I2P can often download popular content from the Internet while maintaining the anonymity of I2P. As of August 2022, the default outproxy is exit.stormycloud.i2p which is run by StormyCloud Inc.

Email

  • I2P-Bote is a free, fully decentralized and distributed anonymous email system with a strong focus on security. It supports multiple identities and does not expose email metadata., it is still considered beta software. I2P-Bote is accessible via the I2P web console interface or using standard email protocols. All bote-mails are transparently end-to-end encrypted and signed by the sender's private key, thus removing the need for PGP or other email encryption software. I2P-Bote offers additional anonymity by allowing for the use of mail relays with variable length delays. Since it is decentralized, there is no centralized email server that could correlate different email identities as communicating with each other. Even the nodes relaying the mails do not know the sender, and apart from sender and receiver, only the end of the high-latency mail route and the storing nodes will know to whom the mail is destined. The original sender could have gone offline long before the email becomes available to the recipient. No account registration is necessary, all you have to do in order to use it is create a new identity. I2P-Bote can be installed as an I2P plugin.
  • I2P also has a free pseudonymous e-mail service run by an individual called Postman. Susimail is a web-based email client intended primarily for use with Postman's mail servers, and is designed with security and anonymity in mind. Susimail was created to address privacy concerns in using these servers directly using traditional email clients, such as leaking the user's hostname while communicating with the SMTP server. It is currently included in the default I2P distribution, and can be accessed through the I2P router console web interface. Mail.i2p can contact both I2P email users and public internet email users.
  • Bitmessage.ch can be used over I2P