[[Vorlage(Archiviert)]] {{{#!vorlage Wissen [:Packprogramme: Archive entpacken] [:Terminal: Ein Terminal öffnen] [:Pakete_installieren: Installation von Programmen] }}} [[Inhaltsverzeichnis(1)]] [[Bild(./i2plogo.png, align=left)]] [:Archiv/I2P:] ist ein freies Softwareprojekt mit dem Ziel, ein anonymes/pseudonymes Netzwerk zu schaffen. Dieser Artikel beschreibt nur die Installation. Dieses ist auf verschiedene Arten möglich, je nachdem ob man einen Desktop-Rechner oder einen dezidierten Server nutzen möchte. Weitere Informationen zur Konfiguration und Nutzung sind dem Hauptartikel zu entnehmen. = Desktop-Rechner = == offizielle Paketquellen == Ab Ubuntu 18.04 ist i2p in den offiziellen Paketquellen vorhanden. {{{#!vorlage Paketinstallation i2p, ab Bionic }}} == Manuell == Nachdem [:Java/Installation:Java] installiert wurde, lädt man sich von der [https://geti2p.net/de/download offiziellen Webseite] {de} {dl} einen Installationsassistenten '''i2pinstall_VERSION.jar''' in der Linux-Variante (Pinguin-Symbol) herunter. Die dort angezeigte SHA256-Prüfsumme sollte anschließend mit der heruntergeladenen Datei verglichen werden (siehe auch [:Hashfunktionen:]): {{{#!vorlage Befehl sha256sum i2pinstall_VERSION.jar }}} [[Vorlage(Fremd, Software)]] Dann öffnet man ein Terminal und führt folgenden Befehl aus (`X.Y` durch die jeweilige Version ersetzen): {{{#!vorlage Befehl java -jar i2pinstall_VERSION.jar }}} Für Server bzw. einer Installation im Textmodus: {{{#!vorlage Befehl java -jar i2pinstall_VERSION.jar -console }}} Damit man I2P aus jedem Verzeichnis starten kann, bietet es sich an, mit folgendem Befehl einen symbolischen Link anzulegen: {{{#!vorlage Befehl mkdir -p ~/bin ln -s ~/i2p/i2prouter ~/bin/i2prouter }}} Nun startet man I2P mit dem Befehl: {{{#!vorlage Befehl i2prouter start }}} {{{ Starting I2P Service... Waiting for I2P Service....... running: PID:4082 }}} === Als Dienst einrichten === Möchte man I2P automatisch mit dem Einschalten des Rechners starten (empfohlen), bietet sich folgende Vorgehensweise an: 1. Die Datei '''~/i2p/i2prouter''' öffnen und bearbeiten. Die Zeile mit ''"RUN_AS_USER"'' suchen, abändern und speichern: {{{ RUN_AS_USER=i2psvc }}} Damit würde der I2P-Router als Benutzer `i2psvc` laufen (Benutzer ggf. vorher anlegen). Der I2P-Router sollte nie mit Root-Rechten laufen! 1. Nun wird mit dem Befehl: {{{#!vorlage Befehl sudo i2prouter install }}} I2P als Dienst mit einem Start-/Stopp-Skript '''/etc/init.d/i2p''' eingerichtet, bzw. es wird eine Unit für systemd erzeugt und kann mit {{{#!vorlage Befehl sudo systemctl daemon-reload sudo systemctl enable i2p }}} aktiviert werden, damit I2P automatisch mit dem Booten startet. Nach dem erstmaligen Start kann es bis zu 30 Minuten dauern, bis I2P ein funktionierendes Peer-Verzeichnis aufgebaut hat und voll funktionstüchtig ist. 1. Verknüpfung für alle Benutzer anlegen: {{{#!vorlage Befehl sudo ln -s ~/i2p/i2prouter /usr/local/bin/ }}} Zur Steuerung des I2P-Dienstes siehe [:Archiv/I2P:]. == PPA == I2P kann auch per "Personal Package Archiv" (PPA) installiert werden. Hier wird meist die neueste Version bereitgestellt. [[Vorlage(PPA, i2p-maintainers/i2p)]] Nach dem Aktualisieren der Paketquellen kann das folgende Paket installiert werden: {{{#!vorlage Paketinstallation i2p, ppa }}} = Server-Installation = Ein permanent laufender Server ist eine ideale Grundlage für I2P, da mit einem 24/7 laufenden I2P-Router das I2P-Netz sehr unterstützt wird und auch die eigene Anonymität erhöht wird. Im folgenden Abschnitt werden daher die wichtigsten Schritte für eine I2P-Installation auf einem Server ohne GUI gezeigt und wie man mit einem Clienten damit komfortabel arbeitet. Zuerst wird Java [:Java/Installation/OpenJDK: installiert]. Die kleinere Variante "headless" reicht aus: {{{#!vorlage Paketinstallation default-jre-headless }}} Danach [#offizielle-Paketquellen installiert man i2p]. Die grundlegende Konfiguration wird bei der Installation abgefragt. Hier gibt man an, dass I2P automatisch beim Systemstart gestartet werden soll ("YES") und unter welchem Benutzernamen es laufen soll. Der vorgeschlagene Benutzer lautet `i2psvc` und die Zuordnung von 128 MiB RAM können i.d.R. einfach übernommen werden. Diese Konfiguration wird in '''/etc/default/i2p''' gespeichert. Zusätzlich wird ein Start-Skript '''/etc/init.d/i2p''' erstellt und der I2P-Router gestartet. Möchte man die Konfiguration später noch anpassen, lautet der Befehl: {{{#!vorlage Befehl sudo dpkg-reconfigure -plow i2p }}} == Weboberfläche des I2P-Routers konfigurieren == Der I2P-Router stellt eine Weboberfläche als Frontend zur Statusanzeige und Konfiguration bereit: * [http://localhost:7657/console] Um diese Webseite, die zunächst nur lokal auf dem Server erreichbar ist, mit einem Client-Rechner zu erreichen, baut man einen SSH-Tunnel zum Server auf. Beispiel für eine Konfiguration auf dem Client, die man über die Datei '''~/.ssh/config''' vornimmt: {{{ HostName SERVERNAME_ODER_IP-ADRESSE LocalForward 7657 localhost:7657 LocalForward 4444 localhost:4444 }}} Auf dem Port `7657` läuft die Web-Oberfläche des I2P-Routers, Port `4444` dient für den I2P-HTTP-Proxy. Analog können weitere Port-Weiterleitungen bei Bedarf konfiguriert werden: * 7659 email:smtp * 7660 email:pop3 * 6668 IRC * 4445 I2P-HTTPS-Proxy Sind diese in der '''~/.ssh/config''' gespeichert, kann vom Client-Rechner eine SSH-Verbindung mit diesen Weiterleitungen gestartet werden: {{{#!vorlage Befehl ssh SERVERNAME }}} Nun wechselt man am Client zum Webbrowser der Wahl und nutzt die Adresse [http://localhost:7657/console], um die die Weboberfläche des I2P-Routers auf dem Servers anzuzeigen. Beim erstmaligen Start kann es bis zu 30 Minuten dauern, bis I2P ein funktionierendes Peer-Verzeichnis aufgebaut hat und voll funktionstüchtig ist. Auch nach einem Reboot oder einer längeren Offline-Zeit des Servers kann es 20-30 Minuten dauern, bis alle I2P-Dienste wieder flott laufen. Nach einer Port-Änderung wird der I2P-Router automatisch neu gestartet. == Server im LAN == Falls der I2P-Router im LAN steht (z.B. im Nachbarzimmer), kann auf einen SSH-Tunnel verzichtet werden. Dies sollte allerdings nur in vertrauenswürdigen Subnetzen gemacht werden. Normalerwiese sind die I2P-Dienste (HTTP Proxy, POP3, SMTP usw.) nur lokal auf dem Server erreichbar. In der I2P-Router Web-Oberfläche kann dies geändert werden, am Beispiel für den I2P HTTP Proxy: 1. [http://localhost:7657/i2ptunnelmgr] 1. Den Tunnel "I2P HTTP Proxy" wird mit der Schaltfläche "STOP" beenden 1. Dann wechselt man per Mausklick auf "I2P HTTP Proxy" in die Konfiguration dieses Tunnels 1. ''"Erreichbar von"'' ändert man von `127.0.0.1` auf die IP-Adresse des Servers: {{{ 127.0.0.1 Dienst nur lokal auf dem Server erreichbar, Standardeinstellung 192.168.x.y Dienst im lokalen Subnetz verfügbar 0.0.0.0 Dienst von allen Adressen erreichbar, nicht empfohlen! }}} 1. Konfiguration speichern 1. Der Tunnel "I2P HTTP Proxy" wird mit dem Schaltfläche "Start" wieder gestartet. Nun ist der "I2P HTTP Proxy" im gesamten Subnetz verfügbar, man braucht keinen SSH-Tunnel mit Portweiterleitung mehr. Diese Änderungen werden in der Datei '''~/.i2p/i2ptunnel.config''' gespeichert - siehe Zeilen "interface=". Zusätzlich muss man die Datei '''~/.i2p/clients.config''' ändern: {{{ # ursprüngliche Zeile: clientApp.0.args=7657 ::1,127.0.0.1 ./webapps/ # Ändern in: clientApp.0.args=7657 192.168.x.y ./webapps/ }}} = Update = Die I2P-Software wird permanent weiterentwickelt. Das betrifft sowohl Erweiterungen als auch Anpassungen an das wachsende Netz sowie Fehlerbereinigungen. Updates erscheinen alle paar Wochen und werden im [https://geti2p.net/de/blog/ Blog] {de} angekündigt (auch als Newsfeed abonnierbar). * Wurde I2P manuell installiert, erscheint bei neuen Veröffentlichungen innerhalb der Weboberfläche des I2P-Routers eine Update-Schaltfläche. Nach dem Herunterladen muss der I2P-Router über die Schaltfläche am linken Rand neu gestartet werden. * Bei der Installation aus dem PPA erfolgt ein Update wie üblich über die Paketverwaltung. {{{#!vorlage Hinweis Dabei wird der I2P-Router via `sudo service i2p stop` hart gestoppt, was vermieden werden sollte. Empfohlen wird daher, vorher den I2P-Router entweder über die Weboberfläche ordentlich herunterzufahren oder alternativ im Terminal mit `sudo service i2p graceful` zu beenden. }}} * Als dritte Variante kann man auch manuell aktualisieren. Dazu lädt man die Datei [https://geti2p.net/de/download i2pupdate_VERSION.zip] {de} {dl} herunter, benennt sie in '''i2pupdate.zip''' um und verschiebt sie in das Installationsverzeichnis von I2P (die Archivdatei muss nicht entpackt werden!). Dann öffnet man die Weboberfläche und startet den I2P-Router neu. {{{#!vorlage Hinweis Ein manuelles Update kann nicht durchgeführt werden, wenn i2p aus den offiziellen Paketquellen installiert wurde. }}} = Links = * [:Archiv/Howto/I2P_auf_dem_Raspberry_Pi_2:] - 07/2015 * [:Archiv/I2P:] - Hauptartikel # tag: Internet, Sicherheit, Java, P2P, Anonymität, SecureMail, Filesharing, Bittorrent