Was ist das XPI-Dateiformat?
Dateien mit der .xpi-Erweiterung enthalten ein Datenarchiv zur Installation zusätzlicher Mozilla-Software. Das Installationspaket ist ein ZIP-Archiv, das mit der deflate-Methode komprimiert wird - es teilt dieselben PK-Magicbytes (50 4B 03 04) wie eine Standard-ZIP-Datei. Der Name .xpi steht für Cross-Platform Install - XPInstall, dem Namen der Technologie, die beim ursprünglichen Installationsprozess verwendet wurde.
.xpi-Pakete werden zur Installation und Erweiterung der Funktionalität von Anwendungen wie diesen verwendet:
- Firefox,
- SeaMonkey,
- Thunderbird.
.xpi-Paketdateien können Plugins, Erweiterungen, Themes oder Wörterbücher enthalten. Die Datei speichert auch Installationsmetadaten. Im alten XPInstall-Format bedeutete das eine Skriptdatei install.js und eine Manifest-Datei install.rdf; moderne WebExtension-Pakete (eingeführt mit Firefox 57 im Jahr 2017) verwenden manifest.json zusammen mit JavaScript-, HTML-, CSS- und Icon-Ressourcen. Das Format ist eng mit JAR-Archiven verwandt - beide sind ZIP-Container mit einem bestimmten internen Aufbau.
Signierte .xpi-Dateien, die über addons.mozilla.org verteilt werden, enthalten ein META-INF/-Verzeichnis mit einer kryptografischen Mozilla-Signatur. Standard-Firefox-Installationen akzeptieren nur .xpi-Dateien, die digital von Mozilla signiert wurden. Um Pakete von Drittanbietern zu installieren, die nicht von Mozilla zertifiziert sind, müssen Benutzer eine Entwicklerversion von Firefox verwenden und die Option xpinstall.signatures.required auf der Seite about:config auf false setzen. Das Paket kann durch Ziehen der .xpi-Datei auf das Browserfenster installiert werden. Der Inhalt eines .xpi-Pakets kann durch Ändern der Dateierweiterung in .zip und Entpacken mit einem Archivierungswerkzeug durchsucht werden.
Sicherheit
RISIKO: MEDIUMEine XPI installiert Code, der in Ihrem Browser mit den angeforderten Berechtigungen läuft - eine bösartige Erweiterung kann Seiten lesen, Formulardaten erfassen oder den Browser kapern. Genau deshalb schreibt Mozilla das Signieren vor: Release-Firefox installiert nur von Mozilla geprüfte/signierte Add-ons, was die meiste beiläufige Malware blockiert. Das Risiko steigt, wenn Sie das Signieren umgehen (Developer/Nightly-Editionen, about:debugging) oder eine .xpi von außerhalb von AMO installieren - tun Sie das nur für Add-ons, denen Sie vertrauen, und lesen Sie die angeforderten Berechtigungen bei der Installation. Da es ein ZIP ist, können Sie manifest.json (und die Liste der 'permissions') mit 7-Zip prüfen, bevor Sie installieren. Unerwartete .xpi-Dateien im Download-Ordner können bedenkenlos gelöscht werden; sie sind einmalige Installationspakete.
Formatdetails
kurz gefasstProgramme zum Öffnen von XPI-Dateien
Technische Details
technische Spezifikation| MIME-Typ | application/x-xpinstall |
| Containerformat | ZIP-Archiv; magische Bytes 50 4B 03 04 („PK“) bei Offset 0, identisch mit einem Standard-ZIP-Local-File-Header |
| Modernes internes Manifest | manifest.json gemäß der WebExtension-API, eingeführt mit Firefox 57 (Quantum) im Jahr 2017 |
| Legacy-internes Manifest | install.rdf (RDF-Metadaten) und install.js (Installationsskript), verwendet vom XPInstall-System vor WebExtension |
| Kryptografische Signatur | META-INF/-Verzeichnis mit von Mozilla ausgestellten Signaturdateien; für alle über addons.mozilla.org vertriebenen Pakete erforderlich |
| Signieranforderung | Release-Kanal-Firefox lehnt nicht signierte .xpi-Dateien ab; um nicht signierte Installationen zuzulassen, Developer Edition verwenden und xpinstall.signatures.required=false in about:config setzen |
| Unterstützte Inhaltstypen | Browser-Erweiterungen, Themes, Wörterbücher, Sprachpakete und Suchplugins |
| Komprimierung | deflate (Standard-ZIP-Komprimierung); einzelne Einträge können auch unkomprimiert im Archiv gespeichert werden |
| Browserübergreifende Kompatibilität | Die WebExtension-API wird mit Chrome .crx und Edge-Erweiterungen geteilt; eine manifest.json-Erweiterung ist weitgehend browserübergreifend portierbar |
| Verwandtes Format | .crx (Chromium/Chrome-Erweiterung) verwendet ein ähnliches ZIP-basiertes Layout, stellt aber eine proprietäre CRX-Kopfzeile vor die ZIP-Daten |
| Prüfmethode | In .zip umbenennen und mit einem beliebigen Archivmanager öffnen (7-Zip, WinRAR usw.), um interne Dateien ohne Spezialwerkzeuge zu durchsuchen |
| Host-Anwendungen | Mozilla Firefox (primär), Mozilla Thunderbird (Mail-Add-ons), SeaMonkey |
| Vertriebskanal | addons.mozilla.org (AMO) - übernimmt Hosting, Prüfung und Code-Signierung aller öffentlich vertriebenen Pakete |
| Build- und Paketierungswerkzeug | web-ext CLI - Mozillas offizielles Befehlszeilenprogramm zum Erstellen, Überprüfen, Ausführen und Signieren von .xpi-Dateien |
| Plattformunterstützung | Plattformübergreifend: Windows, macOS, Linux; auch Android über Firefox für Android (Fenix) |
| Veröffentlicht | 1990s (Mozilla/Netscape XPInstall); modern WebExtension XPIs since Firefox 57 (2017) |
| Offener Standard | Ja · lizenzgebührenfrei |
| Spezifikation | extensionworkshop.com |