I2P

I2P

I2P 0.9.8.1 Router Console
Original author(s) I2P Team[1]
Initial release 2003
Stable release 0.9.18 / February 22, 2015 0.9.18 Release[2]
Development status Active development
Written in Java; C[3]
Operating system Cross-platform
Available in English, Spanish
Incomplete translations: Russian, French,Romanian, German, Swedish, Italian, Portuguese, Chinese, Dutch, Polish, Hungarian, Arabic, Japanese, Estonian[4]
Type Overlay network
License Free/Open Source – Multiple licenses[5] Public domain, BSD, GPL, MIT, Artistic License
Website https://geti2p.net

The Invisible Internet Project (I2P) is a computer network layer that allows applications to send messages to each other pseudonymously and securely. Uses include anonymous Web surfing, chatting, blogging and file transfers. The software that implements this layer is called an I2P router and a computer running I2P is called an I2P node.

The software is free and open source and is published under multiple licenses. The name I2P is derived from Invisible Internet Project, which, in pseudo-mathematical notation, is represented as I²P.

Technical design

I2P is beta software since 2003.[6] Developers emphasize that there are likely to be bugs in the software and that there has been insufficient peer review to date.[7] 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 Invisible IRC Project (IIP)[8] 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, email, 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, killyourtv and Complication have continued to lead development efforts, and are assisted by numerous contributors.[9]

Software

I2P router console
iMule

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

Chat

File sharing

Email

Instant messaging

Publishing

Routers

The Privacy Solutions project

The Privacy Solutions project,[21] a new organization that develops and maintains I2P software launched several new development efforts designed to enhance the privacy, security, and anonymity for users, based on I2P protocols and technology.

These efforts include:[22]

The code repository and download sections for the i2pd and Abscond project is available for the public to review and download.[23]

Android

Crypto-Currency

Current crypto currencies that support I2P, or plan it are listed bellow.

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.[29]
.i2p
'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.[30]
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.
Peers, I2P nodes
Other machines using I2P that are connected to user's 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 the user's machine and another peer. Data to and from the user, along with the data for other peers (routed through the user's machine), pass through these tunnels and are forwarded to their final destination (may include more jumps).[31]
netDb
The distributed database that holds information on I2P nodes and I2P eepsites. This database is split up among routers known as "floodfill routers". When a user wants to know how to contact an eepsite, or where more peers are, they query the database.[32]

See also

Software :

References

External links