{% extends "_layout.html" %} {% block title %}I2P Software Update Specification{% endblock %} {% block content %} Diese Seite wurde zuletzt im September 2010 aktualisiert und bezieht sich auf die Routerversion (I2P-Version) 0.8.
I2P setzt ein einfaches, aber sicheres System zur automatischen Softwareaktualisierung ein. Die Routerkonsole lädt in regelmäßigen Abständen eine Datei mit Neuigkeiten rund um I2P von einer konfigurierbaren URL. Für den Fall, dass der Server nicht erreichbar ist, ist eine Ersatz-URL fest einprogrammiert.
Der Inhalt der Neuigkeitendatei wird auf der Eingangsseite der Routerkonsole angezeigt. Zusätzlich enthält die Datei die neueste I2P-Versionsnummer. Wenn die Versionsnummer höher als die Routerversion ist, wird dem Benutzer angezeigt, dass eine neue Version verfügbar ist.
Wenn der Router entsprechend eingestellt ist, lädt er die neue Version herunter und installiert sie ggf. auch gleich.
Die Datei news.xml kann die folgenden Elemente enthalten:
<i2p.news date="$Date: 2010-01-22 00:00:00 $" /> <i2p.release version="0.7.14" date="2010/01/22" minVersion="0.6" />
Elemente können in XML-Kommentaren eingeschlossen werden, wenn sie nicht im Browser angezeigt werden sollen. Die Elemente i2p.release und version sind Pflicht. Alle anderen sind optional und werden derzeit nicht verwendet.
Der Nachrichtenquelle wird nur insoweit vertraut, als sie angibt, ob eine neue Version verfügbar ist. Die Aktualisierungs-URL, die Prüfsumme und alle anderen Informationen werden daraus nicht bezogen.
Die digital unterschriebene Aktualisierungsdatei ist eine Zip-Datei mit einem vorangestellten, 56 Byte langen Vorspann. Als Dateiname ist i2pupdate.sud üblich. Der Vorspann enthält:
Die Signatur deckt nur die Zip-Datei, nicht den Versionsvorspann ab. Die Signatur muss auf einen der fest in den Router einprogrammierten Öffentlichen DSA-Schlüssel der I2P-Projektverantwortlichen passen.
Beim Versionsvergleich wird [0-9]* als Hauptversion bzw. Unterversionen und '-', '_' und '.' als Trennzeichen interpretiert; alle anderen Zeichen werden ignoriert.
Der Router lädt die Aktualisierungsdatei mit Hilfe des eingebauten HTTP-Klienten und -Proxys von einer URL in einer konfigurierbaren I2P-URL-Liste. Es sind mehrere URLs fest einprogrammiert. Der Router überprüft, ob die Version in der Aktualisierungsdatei neuer als die installierte Version ist. Die Signatur wird selbstverständlich auch überprüft.
Die Zip-Datei wird im Verzeichnis $I2P, d.h. im I2P-Grundverzeichnis installiert.
Neuere Routerversionen unterstützen die Pack200-Komprimierung. Dateien im Zip-Archiv, die auf .jar.pack oder .war.pack enden, werden selbsttätig in eine Jar- bzw. War-Datei dekomprimiert. Aktualisierungsdateien, die Pack200-Dateien enthalten, haben üblicherweise die Endung ".su2". Pack200 verkleinert die Aktualisierungsdateien um ca. 60%.