I2P Documentation Project/New Install Walkthrough

Aus i2pwiki.mk16.de
Zur Navigation springen Zur Suche springen

WARNING: WORK IN PROGRESS!

This page guides you to on how to setup java I2P on an normal computer (not Android/Mobile). If you're completely new to I2P, you may want to read Welcome to I2P.


TL;DR Version[Bearbeiten]

http://stats.i2p/cgi-bin/newhosts.txt
http://i2p-projekt.i2p/hosts.txt
http://inr.i2p/export/alive-hosts.txt
http://no.i2p/export/alive-hosts.txt
  • I2P takes a while to integrate. Using it now won't give you an good experience. Give it some time, watch the "Known" peers count and the bandwidth usage go up.
  • On your browser, preferably in an separate browser profile, open the proxy settings and set the HTTP proxy to 127.0.0.1:4444 and the HTTPS proxy to 127.0.0.1:4445. For safety, disable JavaScript in the browser.
  • Using any IRC client, connect to 127.0.0.1:6668 to connect to the IRC2P network. For a start, you can join the channel #i2p (/join #i2p).


Installing and starting the I2P Router[Bearbeiten]

Get I2P from https://geti2p.net. Please use the HTTPS-version for security. You also need to install the Java Runtime Environment (JRE). At the time of writing (June 2017), please use Java 8, because Java 9 is still in beta and I2P doesn't even support it properly. You might heard that Java is insecure, however, they mean the Java Applets that run in the browser (kinda like Flash), but most modern browsers doesn't even support it anymore.

After installing and started I2P, your browser should open. If it doesn't, navigate to http://127.0.0.1:7657/ by yourself.

Windows[Bearbeiten]

Go to https://geti2p.net/en/download#windows and download the Windows version and run it.

TODO: Do the Windows version. Many new users probably use Windows, so it is important that this should be complete.

Ubuntu (and derivatives)[Bearbeiten]

Users using Ubuntu (or derivatives like Linux Mint) can use the official repository. You need to have root access (e. g. via sudo). Open an terminal and run the following line:

sudo apt-add-repository ppa:i2p-maintainers/i2p && sudo apt-get update && sudo apt-get install i2p

The first command (apt-add-repository ppa:i2p-maintainers/i2p) adds the I2P-repository to your list of repositories to fetch from, so your package manager knows about it. The second command (apt-get update) updates your local copy of the repository data so you get all the information about the packages the new repository provides. The last command (apt-get install i2p) installs I2P. Simple enough!

Run i2prouter start to start the router, or replace start with stop to stop it. Do not run as root! It uses an service wrapper, however, if you don't want that, replace i2prouter with i2prouter-nowrapper.

For more information, you might want to look at https://geti2p.net/en/download/debian#ubuntu (http://i2p-projekt.i2p/en/download/debian#ubuntu).

Debian[Bearbeiten]

Version Lines
Wheezy
deb https://deb.i2p2.de/ wheezy main
deb-src https://deb.i2p2.de/ wheezy main
Jessie
deb https://deb.i2p2.de/ jessie main
deb-src https://deb.i2p2.de/ jessie main
Stretch
deb https://deb.i2p2.de/ stretch main
deb-src https://deb.i2p2.de/ stretch main
Testing/
Unstable
deb https://deb.i2p2.de/ unstable main
deb-src https://deb.i2p2.de/ unstable main

Users using Debian can use the official repository. You need to have root access (e. g. via sudo) in order to edit the files and install I2P.

Create and edit the file /etc/apt/sources.list.d/i2p.list and insert these lines in the table, depending on your currently running version.

Open the terminal and run wget https://i2p-projekt.i2p/_static/i2p-debian-repo.key.asc && sudo apt-key add i2p-debian-repo.key.asc to download the key and add it to the package manager, so it can verify the packages. If wget is unavailable, use curl https://i2p-projekt.i2p/_static/i2p-debian-repo.key.asc -o i2p-debian-repo.key.asc.

Run sudo apt-get update to fetch the information about the packages, including the newly added repository. If fetching fails, you might need to install apt-transport-https, so you can fetch from HTTPS urls. Just run sudo apt-get install apt-transport-https, and then rerun the previously mentioned command.

Lastly, install I2P and the keyring using sudo apt-get install i2p i2p-keyring.

Run i2prouter start to start the router, or replace start with stop to stop it. Do not run as root! It uses an service wrapper, however, if you don't want that, replace i2prouter with i2prouter-nowrapper.

For more information, you might want to look at https://geti2p.net/en/download/debian#debian (http://i2p-projekt.i2p/en/download/debian#debian).

Mac OS X and any other unix variants[Bearbeiten]

Visit http://geti2p.net/en/download#unix and download the i2pinstall.jar-file. Run it by either opening it as usual (if your setup supports it) or run the command java -jar i2pinstall.jar. (Replace i2pinstall.jar with the actual file).

If you want to install it headless, run java -jar i2pinstall.jar -console.

TODO: Walk through it. Also, does it install system-wide or just for the current user?

Run i2prouter start to start the router, or replace start with stop to stop it. Do not run as root! It uses an service wrapper, however, if the wrapper does not support your system (e. g. OpenSolaris), run sh runplain.sh.


Basic Setup[Bearbeiten]

The router's start page is located at http://127.0.0.1:7657/. The left side contains various information. Click on the logo on the upper left corner to go to the actual console (http://127.0.0.1:7657/console), where you can configure stuff. The sidebar also acts as a navigation.

Networking[Bearbeiten]

Look at the "Network" indicator, which should say "OK". If it is, you are free to skip this chapter.

If it says "Firewalled", I2P will continue to function, however it is probably slower. I2P is an Peer to Peer (P2P) network, kinda like BitTorrent, so it is better when the peers can directly connect to you. For most cases, this is resolved by opening the UDP and TCP-port on your router/firewall. Look in http://127.0.0.1:7657/confignet under "UDP Configuration" in the "UDP port"-box to see what port you need to open, as they are random. By default, the TCP port is the same as the UDP port. Never share the ports with others!

For other messages/cases, look at http://127.0.0.1:7657/confignet#help. If it doesn't change, I2P is probably starting up. Just wait, you can continue with the other configuration. You'd might want to read the FAQ entry about ports: http://geti2p.net/en/faq#ports (http://i2p-projekt.i2p/en/faq#ports). (TODO: Maybe mirror it here?)

TODO: What about UPnP? Does it ever work?

Bandwidth[Bearbeiten]

The default bandwidth settings are too low. Visit http://127.0.0.1:7657/config and set the settings to your actual connection speed. If you are unsure how fast your connection is, test it using e. g. https://testmy.net. Set the Share Ratio to something high, 80% should be sufficient.

Lastly, click on the button "Save changes", to, well, save your configuration.

Addressbook[Bearbeiten]

On the clearnet, you got DNS, where you query a server about a certain domain and it'll give you an IP Address. On I2P, you've got an addressbook, which is a local copy of all the domain names and their addresses. This way is more secure, because with DNS, the server knows what site you wanted to visit, but with an addressbook, you just pull the entire list of domains from an server and the server doesn't know what site you're visiting, because the lookup is done locally.

Go to your addressbook (http://127.0.0.1:7657/susidns/subscriptions) and make sure it contains the following entries:

http://stats.i2p/cgi-bin/newhosts.txt
http://i2p-projekt.i2p/hosts.txt
http://inr.i2p/export/alive-hosts.txt
http://no.i2p/export/alive-hosts.txt

Add them if necessary and click "Save". It may take a while until it fetched all the addresses.

TODO: Should we use the b32-addresses?

Just Wait[Bearbeiten]

If you haven't let it run for a few hours, it is now a good time to let it run. Grab some coffee, read some articles, or just start the browsing/chatting if you're willing to wait.

A few things to look out for:

  • In the peers-section on the left, keep an eye out for "Known" peers. On an fresh install, it'll be around 100-200 peers or so. A router that's functioning properly will gather thousands of known peers in a few hours the first time you run it and it will remember them afterwards if restarted. It's a good indicator things are looking well.
  • In the Bandwidth section, the "3 sec" indicator should have some activity, ranging from 5kbps to hundreds of kbps to even megabytes - the more traffic that's passing through your router, the more hidden your connection is. 1kbps is basically no activity, it either needs more time or better network settings.


Setting up applications[Bearbeiten]

To actually use I2P, you need to setup applications for it. 2 of the important things are described in the following chapters.

Browser[Bearbeiten]

Edit the proxy settings of your browser of choice to use 127.0.0.1:4444 as the HTTP proxy and 127.0.0.1:4445 as the HTTPS proxy. Generally, you want to use an separate browser profile, so possible clearnet stuff won't leak into I2P. Be sure to disable JavaScript.

In Firefox, click on the hamburger menu on the top right, select "Preferences", select "Advanced" on the left, click on the "Network" tab, and click the button "Setting..." under "Connection". In the newly window, select "Manual proxy configuration" and configure it as above. Let other fields be empty. The port is number after the column (:). Be sure the box "Use this proxy server for all protocols" is empty.

TODO: Add for other browsers, notably Internet Explorer Chromium.

IRC[Bearbeiten]

Download any IRC client. If you like it in the terminal, choose weechat or irssi. If you like it as a GUI application, use HexChat, pdigin or whatever you like.

Choose any nickname and realname. Connect to 127.0.0.1:6668. Now you're in IRC2P, the "official" IRC network in I2P.

Join #i2p using /join #i2p. You can also give some feedback to this document in #i2pdocs. Run /list to get an lengthy list of channels you can join, or just create a channel by yourself by joining an non-existent channel (it is created automatically) and advertise it in #i2p-chat.


What now?[Bearbeiten]

You successfully set up I2P. However, there's more. Outside of visiting eepsites and chatting over IRC, you can: (TODO: Link them)

  • Setup forum application (Syndie, aktie...)
  • Share files by either torrenting, using eMule, ...
  • Setup an I2P-Mail (centralized) or use I2P-Bote (dcentralized)
  • Create your own service (eepsite, ...)
  • Use existing service (aka how to use tunnels)