I2P

From The Hidden Wiki
Jump to navigationJump to search

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.

32/64bit Linux, Windows, OS X, BSD and Android is available for I2P. Using ports list link is https://geti2p.net/en/faq#ports and download link is https://geti2p.net/en/download. iMule is P2P software for I2P network. iMule is similar to eDonkey and eMule.

I2P is an anonymous network. It can be used for anonymous P2P softwares, For example, iMule. And you have to encrypt your data by an encryption software, e.g., TrueCrypt.

Install and use

Install and use in Linux, FreeBSD, and OS X

Download source code(i2psource_0.9.15.tar.bz2) from https://geti2p.net/en/download by Tor Browser Bundle. And unzip the file. Then you need ant and jdk(Java Development Kit) for I2P install.

In terminal

sudo apt-get install ant
sudo apt-get install openjdk-7-jdk

And

cd i2p-0.9.15

(build.xml file is located at i2p-0.9.15 folder)


And if you use 32 bit Linux

ant pkg

If you use 64 bit Linux

ant installer-linux
ant installer-freebsd
ant installer-osx

This work needs long time.(Maybe 20 minutes)

i2pinstall_0.9.15-0_linux-only.jar file is created.

In terminal

java -jar i2pinstall_0.9.15-0_linux-only.jar

You can start I2P by the command in the terminal

./i2prouter start

(in i2p folder)

or

./runplain.sh

Other install method in Linux

In Ubuntu Linux(32/64bit)

Type each lines in the terminal.

sudo apt-add-repository ppa:i2p-maintainers/i2p

sudo apt-get update

sudo apt-get install i2p


Starting I2P by typing the line

i2prouter start


Type the address in Firefox

https://127.0.0.1:7657

Using Konqueror instead of Firefox

For Ubuntu, search konqueror in the Ubuntu Software Center and install that.

(cf. https://geti2p.net/en/about/browser-config )

Proxy Setting


Settings -> Configure Konqueror -> Web Browsing -> Proxy -> Manually specify the proxy settings


HTTP Proxy: 127.0.0.1 Port: 4444

SSL Proxy: 127.0.0.1 Port: 4445

Exceptions: 127.0.0.1,localhost

(If you can type only one in the Exceptions, you just type 127.0.0.1)


If you don't use Ubuntu,

https://www.konqueror.org/download/

Type the below line in the terminal for installing of Konqueror.

sudo apt-get install konqueror


Starting Konqueror by typing below line in the terminal

konqueror


JavaScript is dangerous, so you shouldn't use JavaScript.

Settings -> Configure Konqueror -> Web Browsing -> Java & JavaScript -> JavaScript

Clear check of 'Enable JavaScript globally'

Using IceCat instead of Firefox

Download IceCat from https://www.gnu.org/software/gnuzilla/

Unzip by a right button of your mouse.

Type commands in the terminal

cd icecat-24.0/

./icecat

IceCat's Proxy setting is same to Firefox.

How to update

In terminal

cd i2p/Uninstaller
java -jar uninstaller.jar

And recompile new version of I2P source code.

Other update method

If you installed I2P by apt-get, you have to use this method.


first, exit I2P.


Type in the terminal

sudo apt-get update
sudo apt-get install --reinstall i2p 


Refer https://geti2p.net/en/download

Other install method in OS X and BSD

Install by using Java

Download that file and double-click it (if that works) or type java -jar i2pinstall_0.9.12.jar in a terminal to run the installer. On some platforms you may be able to right-click and select "Open with Java".


Command line (headless) install:

Download the graphical installer file above and run java -jar i2pinstall_0.9.12.jar -console from the command line.

Install and use in Windows

https://geti2p.net/en/download

Download i2pinstall_0.9.13_windows.exe and install I2P


https://www.mozilla.org/en-US/firefox/new/

Download and install Firefox


https://geti2p.net/en/about/browser-config

Settings -> Advanced -> Network -> Connection -> Settiings -> Manual proxy configuration


Manual proxy configuration

HTTP Proxy: 127.0.0.1 Port: 4444

SSL Proxy: 127.0.0.1 Port: 4444

No Proxy for: localhost, 127.0.0.1

I2P install in Android

Go to https://geti2p.net/en/download


Download apk file from 'Outside I2P'( https://download.i2p2.de/android/current/i2p.apk ) or 'F-Droid'( https://f-droid.org/repository/browse/?fdid=net.i2p.android.router )


Install apk file to your Android device.

Post-install work

After running the installer on windows, simply click on the "Start I2P" button which will bring up the router console( https://localhost:7657/index.jsp ), which has further instructions.


On Unix-like systems, I2P can be started as a service using the "i2prouter" script, located in the directory you selected for I2P. Changing to that directory in a console and issuing "sh i2prouter status" should tell you the router's status. The arguments "start", "stop" and "restart" control the service. The router console( https://localhost:7657/index.jsp ) can be accessed at its usual location. For users on OpenSolaris and other systems for which the wrapper (i2psvc) is not supported, start the router with "sh runplain.sh" instead.


When installing for the first time, please remember to adjust your NAT/firewall if you can, bearing in mind the Internet-facing ports I2P uses, described here( https://geti2p.net/ko/faq#ports ) among other ports. If you have successfully opened your port to inbound T*****, also enable inbound T***** on the configuration page( https://localhost:7657/confignet.jsp ).


Also, please review and adjust the bandwidth settings on the configuration page( https://localhost:7657/config.jsp ), as the default settings of 96 KBps down / 40 KBps up are fairly slow.


If you want to reach eepsites via your browser, have a look on the browser proxy setup( https://geti2p.net/ko/about/browser-config ) page for an easy howto.


(cf. https://geti2p.net/ko/download )

Technical design

I2P is beta software since 2003.<ref>See announcements https://geti2p.net/en/blog/</ref> Developers emphasize that there are likely to be bugs in the software and that there has been insufficient peer review to date.<ref>Template:Cite web</ref> 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 T*****, 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)<ref>https://invisibleip.sourceforge.net/iip/</ref> 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, killyourtv and Complication have continued to lead development efforts, and are assisted by numerous contributors.<ref>"Status Update 01 2008".</ref>

I2P services

Local Services

Eepsites(I2P sites)

Torrent tracker sites

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.

These softwares can be downloaded from https://echelon.i2p/

General networking

  • I2PTunnel is an application embedded into I2P that allows arbitrary T*****/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.<ref>SAM - I2P.</ref>

Chat

File sharing

eDonkey2000 compatible

  • 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.
  • Nachtblitz : simple file sharing iMule compatible

BitTorrent compatible

  • I2Prufus old : bittorrent client, SAM, inactive dev
  • I2P Rufus : modified by Blub
  • Robert : bittorrent client, active, BOB(BOB: Basic Open Bridge API to the I2P router, opening possibilities!, https://bob.i2p/ ). Using maggot: link
  • PyBit : bittorrent client, needs PySamLib
  • I2P-bt : simple bittorrent for I2P


  • 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.<ref>I2P Bittorrent FAQ. i2p2.de forum.</ref> I2PSnark, included in the I2P install package, is a port of the BitTorrent client named Snark.<ref>The Hunting of the Snark Project - BitTorrent Application Suite. klomp.org.</ref> Vuze, formerly known as Azureus, is a BitTorrent client that includes a plugin for I2P, allowing anonymous swarming through this network.<ref>Azureus: Plugin Details for I2P Network Plugin. azureus.sourceforge.net.</ref><ref>I2P Howto (setup tutorial). azureus.sourceforge.net.</ref> 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 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.<ref>Rufus - BitTorrent Client : Home. rufus.sourceforge.net.</ref> Robert (P2P Software) is the most actively maintained I2PRufus fork. And there is "I2P-Transmission".

Etc.

  • I2Phex is a port of the popular Gnutella client Phex to I2P. It is stable and fairly functional.
  • Pebcache : webcache for gnutella, made by blub
  • JWebcache : simple webcache for gnutella by complication
  • OFS(OurFileSystem) : another peer to peer file/message sharing software

E-mail

  • I2P has a free pseudonymous e-mail service run by an individual called Postman. Susimail is a web-based e-mail 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 [email protected] and public internet email users from a [email protected] address.
  • I2P-Bote is an I2P plugin, fully decentralized and distributed e-mail system.<ref>https://i2pbote.i2p.us</ref> It supports different identities and does not expose e-mail headers. Currently (2014), it is still in beta version and can only be accessed via its web application interface, but POP support is planned. All bote-mails are transparently end-to-end encrypted and, optionally, signed by the sender's private key, thus removing the need for PGP or other privacy software. I2P-Bote offers additional anonymity by allowing for the use of mail relays with variable length delays. As it is decentralized, there is no e-mail server that could link different e-mail identities as communicating with each other (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 node - the user's ip is still hidden by I2P) the mail is destined. The original sender can have gone offline long before the mail becomes available on the other side. No accounts need to be registered, all you have to do in order to use it is install and connect it, and create a new identity. I2P-Bote can be installed as a router plugin (i2p-link)

Instant messaging

  • VERY OLD I2P Messenger
  • I2Pmessenger QT
  • SIC : a simple chat client
  • I2PTalk : simple .NET messenger
  • I2P-Messenger is a simple Qt-based, serverless, end-to-end-encrypted instant messenger for I2P. 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.

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.

Android

  • Early builds of a I2P Router application for Android can be found at the development forums inside the I2P network.
  • Nightweb is an Android application that utilizes I2P and Bittorrent to share blog posts, photos, and other similar content.<ref>The Nightweb Project nightweb.net</ref> It can also be run as a desktop application. It is no longer in development.<ref>[1] nightweb.net</ref>

Bitcoin

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.
.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.
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. You may read : node (networking).
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).

See also

Software :

References

<references />

External links