I2P

I2P — The Anonymous Network
Stable release 0.8.11 / November 8, 2011; 3 months ago (2011-11-08)
Operating system Cross-platform
Type Overlay network
License Free/Open Source - Multiple licenses Public domain, BSD, GPL, MIT, Artistic license
Website http://www.i2p2.de/

I2P (originally from pseudomathematical notation I²P, short for Invisible Internet Project,[1] although it is not commonly referred to by this name anymore) is a mixed-license, free and open source project building an anonymous network (or, more accurately, a pseudonymous overlay network).

The network is a simple layer that applications can use to anonymously and securely send messages to each other. Possible uses include anonymous surfing, chatting, blogging and file transfers.

The application itself is called an I2P router and a computer running I2P is called an I2P node - whereas those, too, are often referred to as routers.

Contents

Technical design

I2P is beta software. Developers emphasize that there are likely to be bugs in the software and that there has been insufficient peer review to date. However, they believe the code is now reasonably stable and well-developed, and more exposure can help development of I2P.

The network itself is strictly message-based (like IP), but there is a library available to allow reliable streaming communication on top of it (similar to TCP, although from version 0.6 there is a new UDP-based SSU transport). 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), so that neither sender nor recipient of a message need to reveal their IP address to the other side or to third-party observers.

Although many of the developers had been a part of the IIP and Freenet communities, there are significant differences 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 (e.g. Usenet, E-mail, IRC, file sharing, Web hosting and HTTP, Telnet), as well as more traditional distributed applications (e.g. a distributed data store, a web proxy network using Squid, or DNS).

Many developers of I2P are known only under pseudonyms. While the previous main developer, jrandom, is currently on hiatus, others, such as zzz and Complication have continued to lead development efforts, and are assisted by numerous contributors.[2]

Software

Since I2P is an anonymous 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

File sharing

E-mail

Instant messaging

Blogging

Terminology

Eepsite
Eepsites are websites that are hosted anonymously within the I2P network. Eepsite names end in .i2p, such as ugha.i2p or forum.i2p. EepProxy can locate these sites through the cryptographic identifier keys stored in the hosts.txt file found within the I2P program directory. Typically, I2P is required to access these eepsites.
EepProxy
The EepProxy program handles all communication between the browser and any eepsite. It functions as a proxy server that can be used by any web browser.

.i2p is a pseudo-top-level domain which is only valid within the I2P overlay network scope. .i2p names are resolved by browsers by submitting requests to EepProxy which will resolve names to an I2P peer key and will handle data transfers over the I2P network while remaining transparent to the browser.

Peers
Other machines using I2P that are connected to your machine within the network. Each machine within the network shares the routing and forwarding of encrypted packets.
Tunnels
Every ten minutes, a connection is established between your machine and another peer. Data to and from your machine, along with data for other users, passes through these tunnels, and are forwarded such that the packets eventually reach their final destination.

See also

References

External links