From Wikipedia, the free encyclopedia

Jump to: navigation, search
Developed by I2P developers
Latest release 0.7.1 / 2009-3-29; 11 days ago
Operating system Cross-platform
Type Overlay network
License Free/Open Source - Multiple licenses Public domain, BSD, GPL, MIT, Artistic license
Website www.i2p2.de

I2P (originally short for Invisible Internet Project,[1] though 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.


[edit] Technical design

I2P is currently 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. People frequently use this for incognito browsing.

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 cache, and DNS).

Many developers of I2P are known only under pseudonyms. While the previous main developer, jrandom (see J. Random Hacker), is currently on hiatus, others, such as zzz and Complication have continued to lead development efforts, and are assisted by numerous contributors.[2] He or she has support from numerous others.[3]

[edit] I2P software tools

Since I2P is an anonymous network layer, it is designed so other software programs can use it for anonymous communication, the so-called application layer. As such there are a variety of tools currently available for I2P or in development.

[edit] I2PTunnel

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.

[edit] SAM

SAM is a protocol which allows a client application written in any language to communicate over I2P, by using a socket-based interface to the I2P router.[4]

[edit] BitTorrent

Several programs provide BitTorrent functionality for use within the I2P network. Each relies on the user being able to access the I2P network with a web browser to download the .torrent files. Users cannot connect to non-I2P torrents or peers from within I2P, nor can they connect to I2P torrents or peers from outside I2P.[5]

I2PSnark, included in the I2P install package, is a port of the BitTorrent client named Snark.[6]

Vuze, formerly known as Azureus, is a BitTorrent client that includes a plugin for I2P, allowing anonymous swarming through this network.[7][8] This plugin is still in an early stage of development, however it is already fairly stable.

I2P-BT was a BitTorrent client for I2P that allowed anonymous swarming for file sharing. This client was a modified version of the original BitTorrent 3.4.2 program which ran on 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.[9]

[edit] eDonkey iMule


iMule (invisible Mule) [10] is a port of the 'All-Platform' client aMule for I2P.

It's made for anonymous Filesharing using the I2P-network. Because of the included Router since version 1.2.3 no other software is needed to connect with the I2P-Network. Otherwise, if you want to use all the other features of I2P (BitTorrent, Gnutella, anonymous emails and websites ...) you have to install the whole package.

In difference to other eDonkey clients iMule only uses the Kademlia proceeding to connect, so no servers are needed.

[edit] Gnutella I2Phex

I2Phex is a port of the popular Gnutella client Phex to I2P. It is stable and fairly functional to work anonymously. It is the first full functional client for an anonymous file transfer, because the client is based on the developed client Phex.

[edit] Susimail

I2P has a free pseudonymous e-mail service, run by an individual called 'Postman'. The mail transfer servers are pop.mail.i2p (POP3) and smtp.mail.i2p (SMTP).

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. Susimail is a Web-based email client intended primarily for use with Postman's mail servers, designed with security and anonymity in mind. It is currently included in the default I2P distribution, and can be accessed through your I2P router console web interface. (Note that this is only used to read and send e-mail, not to create or manage your mail.i2p account; the latter must be done at www.mail.i2p.)

[edit] Syndie

Syndie is a blogging application for I2P, which is also usable through the Tor network; it is currently at an alpha release.

[edit] I2P terminology

I2P users will see references to the following terms on the I2P home page and on the router console.

[edit] Eepsite

Eepsites are websites that are hosted anonymously within the I2P network. Eepsite names end in .i2p, such as ugha.i2p or orion.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.

[edit] EepProxy

The EepProxy program handles all communication between your 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 I2P overlay network scope. .i2p names are resolved by browsers by submitting requests to EepProxy which will in fact resolve names to an I2P peer key and will handle data transfers over the I2P network while all this remains transparent to the browser.[11]

[edit] 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.

[edit] 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.

[edit] See also

[edit] References

[edit] External links

Personal tools