Jump to content

I2P: Difference between revisions

From Wikipedia, the free encyclopedia
Content deleted Content added
Instant messaging: Adding citation for i2p messenger.
Line 140: Line 140:
* [[Bitmessage#Bitmessage.ch|Bitmessage.ch]] can be used over I2P or [[Tor (anonymity network)|Tor]].
* [[Bitmessage#Bitmessage.ch|Bitmessage.ch]] can be used over I2P or [[Tor (anonymity network)|Tor]].


=== Instant messaging ===
=== Instant Messaging ===
* ''I2P-Messenger'' is a simple [[Qt (framework)|Qt]]-based, serverless, end-to-end-encrypted [[instant messenger]] for I2P.{{citation needed|date=March 2015}} No servers can log the user's conversations. No ISP can log with whom the user chats, when, or for how long. As it is serverless, it can make use of I2P's end-to-end encryption, preventing any node between two parties from having access to the plain text. I2P-Messenger can be used for fully anonymous instant communication with persons the user doesn't even know, or, alternatively, to communicate securely and untraceably with friends, family members, or colleagues. <!--"Thus, it is also a useful tool against data retention in a surveillance society" Is this the part that is soapboxy?--> In addition to messaging, [[file transfer]] is also supported.
* ''I2P-Messenger'' is a simple [[Qt (framework)|Qt]]-based, serverless, end-to-end-encrypted [[instant messenger]] for I2P.<ref>{{Citation | title = Introducing I2P | contribution-url = https://geti2p.net/en/docs/how/tech-intro#app.i2pmessenger | date = Nov 10, 2015}}</ref> No servers can log the user's conversations. No ISP can log with whom the user chats, when, or for how long. As it is serverless, it can make use of I2P's end-to-end encryption, preventing any node between two parties from having access to the plain text. I2P-Messenger can be used for fully anonymous instant communication with persons the user doesn't even know, or, alternatively, to communicate securely and untraceably with friends, family members, or colleagues. <!--"Thus, it is also a useful tool against data retention in a surveillance society" Is this the part that is soapboxy?--> In addition to messaging, [[file transfer]] is also supported.
* ''I2P-Talk'' is another simple [[instant messenger]] incompatible with I2P-Messenger, but having the same security properties.
* ''I2P-Talk'' is another simple [[instant messenger]] incompatible with I2P-Messenger, but having the same security properties


=== Publishing ===
=== Publishing ===

Revision as of 02:35, 11 November 2015

Original author(s)I2P Team[1]
Initial release2003
Stable release
0.9.22 / September 12, 2015 (2015-09-12) 0.9.22 Release[2]
Repository
Written inJava; C[3]
Operating systemCross-platform
Available inEnglish, Spanish
Incomplete translations: Russian, French,Romanian, German, Swedish, Italian, Portuguese, Chinese, Dutch, Polish, Hungarian, Arabic, Japanese, Estonian[4]
TypeOverlay network
LicenseFree/Open Source – Multiple licenses[5] Public domain, BSD, GPL, MIT, Artistic License
Websitehttps://geti2p.net

The Invisible Internet Project (I2P) is an overlay network and darknet 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 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.[1]

Releases

I2P has had a stable release every six to eight weeks.

Version Release date Release Notes
Old version, no longer maintained: 0.9.11 2014-02-08 Support for outproxy plugins, improves lease set lookup security, and reduces memory usage. [9]
Old version, no longer maintained: 0.9.12 2014-03-31 Support for ECDSA and updates to Jetty 8. [10]
Old version, no longer maintained: 0.9.13 2014-05-22 SusiMail improvements and fixes for firewalled router. [11]
Old version, no longer maintained: 0.9.14 2014-07-26 Critical fixes for XSS and remote execution vulnerabilities. [12]
Old version, no longer maintained: 0.9.14.1 2014-08-09 I2PSnark and console fixes. [13]
Old version, no longer maintained: 0.9.15 2014-09-20 Preliminary support for Ed25519 EdDSA signatures. [14]
Old version, no longer maintained: 0.9.16 2014-11-01 Add support for stronger Router Info signatures. [15]
Old version, no longer maintained: 0.9.17 2014-11-30 Signed news, ECDSA tunnels by default. [16]
Old version, no longer maintained: 0.9.18 2015-02-22 Shortened the startup time, and reduced latency throughout our network protocols. [17]
Old version, no longer maintained: 0.9.19 2015-04-12 Several fixes and improvements for floodfill performance. [18]
Old version, no longer maintained: 0.9.20 2015-06-02 Important bug fixes, and several changes to increase floodfill capacity in the network. [19]
Old version, no longer maintained: 0.9.21 2015-07-31 Contains several changes to add capacity to the network, increase the efficiency of the floodfills, and use bandwidth more effectively. [20]
Current stable version: 0.9.22 2015-09-12 Fixes for I2PSnark getting stuck before completion, and begins the migration of router infos to new, stronger Ed25519 signatures. [21]

Software

File:I2P 0.9.8.1.png
I2P router console as it currently appears.

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

  • 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 (Simple Anonymous Messaging) 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.[22]
  • BOB (Basic Open Bridge) is a less complex app to router protocol similar to "SAM"[23][24]
  • Orchid outproxy Tor plugin[25]

Chat

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.[26] I2PSnark, included in the I2P install package, is a port of the BitTorrent client named Snark.[27] Vuze, formerly known as Azureus, is a BitTorrent client that includes a plugin for I2P, allowing anonymous swarming through this network.[28] 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.[29] Robert (P2P Software) is the most actively maintained I2PRufus fork. And there is "I2P-Transmission".
  • iMule (invisible Mule) is a port of eMule for I2P network. 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.
  • I2Phex is a port of the popular Gnutella client Phex to I2P. It is stable and fairly functional.
  • A port of Tahoe-LAFS has been ported to i2p. This allows for files to be anonymously stored in Tahoe-LAFS grids.

Email

A screenshot of the inbox of I2P-Bote.
  • I2P-Bote is a free, fully decentralized and distributed anonymous email system with a strong focus on security.[30] It supports multiple identities and does not expose email metadata. As of 2015, it is still considered beta software. I2P-Bote is accessible via the I2P web console interface or using standard email protocols (i.e. IMAP/SMTP). 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 (i.e. profiling). 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 (which I2P-Bote address – the user's IP address is still hidden by I2P) 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, and create a new identity. I2P-Bote can be installed as an I2P plugin .[31]
  • 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, via user@mail.i2p and public internet email users from a user@i2pmail.org address.
  • Bitmessage.ch can be used over I2P or Tor.

Instant Messaging

  • I2P-Messenger is a simple Qt-based, serverless, end-to-end-encrypted instant messenger for I2P.[32] No servers can log the user's conversations. No ISP can log with whom the user chats, when, or for how long. As it is serverless, it can make use of I2P's end-to-end encryption, preventing any node between two parties from having access to the plain text. I2P-Messenger can be used for fully anonymous instant communication with persons the user doesn't even know, or, alternatively, to communicate securely and untraceably with friends, family members, or colleagues. In addition to messaging, file transfer is also supported.
  • I2P-Talk is another simple instant messenger incompatible with I2P-Messenger, but having the same security properties

Publishing

  • Syndie is a content distributing application which support blogs, newsgroups, forums for I2P, which is also usable through the Tor network and the normal unencrypted web.

Routers

  • I2PBerry is a Linux distribution which can be used as a router to encrypt and route network traffic through the I2P network.[33]

The Privacy Solutions project

The Privacy Solutions project,[34] 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:[35]

  • The Abscond browser bundle.
  • i2pd, an alternate implementation of I2P, written in C++ (rather than Java).
  • The "BigBrother" I2P network monitoring project.

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

Android

I2P running on Android.
  • Release builds of an I2P Router application for Android can be found on the Google Play store under The Privacy Solutions Project's Google Play account or on an F-Droid repository hosted by the developers.[37]
  • Nightweb is an Android application that utilizes I2P and Bittorrent to share blog posts, photos, and other similar content.[38] It can also be run as a desktop application. It is no longer in development.[39]

Crypto-Currency

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

  • The Anoncoin[40] crypto-coin project.
  • The Monero[41] crypto-coin project.

Terminology

I2P's mascot, itoopie who is covering his face with a mask.
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.[42]
.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.[43]
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).[44]
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.[45]

I2PCon

David Dagon presenting at the first I2Pcon.

From August 15, 2015 to August 16, 2015 the first I2P convention was held in Toronto, Ontario.[46] The conference was hosted by a local hackerspace, Hacklab. The conference featured presentations from I2P developers security researchers.

August 15, 2015 mainly had presentations on the past growth of the i2p network, a talk on what happens when companies sell your personal information, and a round-table discussion on general privacy and security topics. The day ended with a CryptoParty which helped to introduce new users to installing I2P, sending secure emails with I2P-Bote, and using I2P along with Vuze.

August 16, 2015 had more technical discussions than the previous day. The talks focused what how to dissuade bad-actors from using the network, how I2P has worked computer connection limits, how to do application development using I2P, and on the development of the Android version. This day ended with a development meeting.

See also

Software :

References

  1. ^ a b "About". Get I2P. {{cite web}}: |contribution= ignored (help); Missing or empty |url= (help).
  2. ^ "Release", Get I2P (blog) (0.9.22 ed.), Sep 12, 2015
  3. ^ "The invisible Internet project (I2P)". I2P Dev Team. Retrieved 23 December 2013.
  4. ^ I2P (project), Transifex.
  5. ^ "Licenses", Get involved, Get I2P.
  6. ^ Get I2P (blog).
  7. ^ "Benefits of Tor over I2P". I2P Dev Team. Retrieved 23 December 2013.
  8. ^ "IIP", Invisible IP, Source forge.
  9. ^ https://geti2p.net/en/blog/post/2014/02/08/0.9.11-Release
  10. ^ https://geti2p.net/en/blog/post/2014/03/31/0.9.12-Release
  11. ^ https://geti2p.net/en/blog/post/2014/05/22/0.9.13-Release
  12. ^ https://geti2p.net/en/blog/post/2014/07/26/0.9.14-Release
  13. ^ https://geti2p.net/en/blog/post/2014/08/09/0.9.14.1-Release
  14. ^ https://geti2p.net/en/blog/post/2014/09/20/0.9.15-Release
  15. ^ https://geti2p.net/en/blog/post/2014/11/01/0.9.16-Release
  16. ^ https://geti2p.net/en/blog/post/2014/11/30/0.9.17-Release
  17. ^ https://geti2p.net/en/blog/post/2015/02/22/0.9.18-Release
  18. ^ https://geti2p.net/en/blog/post/2015/04/12/0.9.19-Release
  19. ^ https://geti2p.net/en/blog/post/2015/06/02/0.9.20-Release
  20. ^ https://geti2p.net/en/blog/post/2015/07/31/0.9.21-Release
  21. ^ https://geti2p.net/en/blog/post/2015/09/12/0.9.22-Release
  22. ^ "SAM", API, I2P.
  23. ^ "BOB", API, Get I2P.
  24. ^ BOB: Basic Open Bridge API to the I2P router (official eepsite) {{citation}}: Check |url= value (help).
  25. ^ https://github.com/bitcoinj/bitcoinj/tree/master/orchid
  26. ^ I2P Bittorrent FAQ (forum), DE: i2p2.
  27. ^ The Hunting of the Snark Project – BitTorrent Application Suite, Klomp.
  28. ^ "How To for I2P Network Plugin", I2PHelper (setup tutorial), Vuze {{citation}}: |format= requires |url= (help).
  29. ^ "Rufus – BitTorrent Client". Sourceforge..
  30. ^ I2P-Bote, I2P.
  31. ^ Plugins, I2P
  32. ^ https://geti2p.net/en/docs/how/tech-intro#app.i2pmessenger, Introducing I2P, Nov 10, 2015 {{citation}}: |contribution-url= missing title (help)
  33. ^ I2PBerry.
  34. ^ Privacy Solutions project.
  35. ^ List of ongoing Privacy Solutions projects.
  36. ^ Active development, The Privacy Solutions
  37. ^ Android App Releases
  38. ^ The Nightweb Project.
  39. ^ Discontinued, Nightweb.
  40. ^ Official Anoncoin Information.
  41. ^ The Monero Project.
  42. ^ https://geti2p.net/en/about/intro
  43. ^ https://geti2p.net/en/docs/naming
  44. ^ https://geti2p.net/en/docs/how/tunnel-routing
  45. ^ https://geti2p.net/en/docs/how/network-database
  46. ^ https://geti2p.net/en/blog/post/2015/08/20/I2PCon_Mission_Accomplished