Hvad er XPI-filformatet?
Fil med filtypen .xpi indeholder et dataarkiv til installation af yderligere Mozilla-software. Installationspakken er et ZIP-arkiv komprimeret med deflate-metoden - den deler de samme PK magic bytes (50 4B 03 04) som en standard ZIP-fil. Navnet på filtypen .xpi er en forkortelse for Cross-Platform Install - XPInstall, som var navnet på den teknologi, der blev brugt i den oprindelige installationsproces.
.xpi-pakker bruges til at installere og udvide funktionaliteten i applikationer som:
- Firefox,
- SeaMonkey,
- Thunderbird.
.xpi-pakkefiler kan indeholde plugins, udvidelser, temaer eller ordbøger. Filen gemmer også metadata for installationen. I det ældre XPInstall-format betød dette en scriptfil install.js og en manifestfil install.rdf; moderne WebExtension-pakker (introduceret med Firefox 57 i 2017) bruger manifest.json sammen med JavaScript, HTML, CSS og ikon-aktiver. Formatet er tæt beslægtet med JAR-arkiver - begge er ZIP-containere med et specifikt internt layout.
Signerede .xpi-filer distribueret via addons.mozilla.org indeholder en META-INF/-mappe med en kryptografisk signatur fra Mozilla. Standardinstallationer af Firefox accepterer kun .xpi-filer, der er digitalt signeret af Mozilla. For at installere tredjepartspakker, der ikke er certificeret af Mozilla, skal brugere anvende en Developer Edition af Firefox og sætte indstillingen xpinstall.signatures.required til false på siden about:config. Pakken kan installeres ved at trække og slippe .xpi-filen over i browservinduet. Indholdet af en .xpi-pakke kan gennemses ved at ændre filens filtype til .zip og udpakke den med et hvilket som helst arkivværktøj.
Sikkerhed og tryghed
RISIKO: MEDIUMEn XPI installerer kode, der kører inde i din browser med de tilladelser, den anmoder om - en ondsindet udvidelse kan læse sider, opsnappe formulardata eller kapre din browsing. Det er netop derfor, Mozilla kræver signering: release-versioner af Firefox installerer kun tilføjelser, som Mozilla har gennemgået/signeret, hvilket blokerer det meste tilfældige malware. Risikoen stiger, når du omgår signering (Developer/Nightly-udgaver, about:debugging) eller installerer en .xpi udefra AMO - gør kun dette for tilføjelser, du har tillid til, og læs de anmodede tilladelser ved installation. Da det er en ZIP, kan du inspicere manifest.json (og dens 'permissions'-liste) med 7-Zip før installation. Uventede .xpi-filer i Downloads er sikre at slette; de er engangs-installationsfiler.
Formatdetaljer
kort fortaltProgrammer der åbner XPI-filer
Tekniske detaljer
dyb specifikation| MIME-type | application/x-xpinstall |
| Container-format | ZIP-arkiv; magic bytes 50 4B 03 04 („PK”) ved offset 0, identisk med en standard ZIP lokal fil-header |
| Moderne internt manifest | manifest.json som følger WebExtension API, introduceret med Firefox 57 (Quantum) i 2017 |
| Ældre internt manifest | install.rdf (RDF-metadata) og install.js (installationsscript), brugt af det tidligere XPInstall-system før WebExtension |
| Kryptografisk signatur | META-INF/-mappe, der indeholder Mozilla-udstedte signaturfiler; påkrævet for alle pakker distribueret via addons.mozilla.org |
| Signeringskrav | Release-channel Firefox afviser usignerede .xpi-filer; for at tillade usignerede installationer skal du bruge Developer Edition og sætte xpinstall.signatures.required=false i about:config |
| Understøttede indholdstyper | Browserudvidelser, temaer, ordbøger, sprogpakker og søge-plugins |
| Komprimering | deflate (standard ZIP-komprimering); individuelle poster kan også gemmes ukomprimeret i arkivet |
| Cross-browser kompatibilitet | WebExtension API deles med Chrome .crx og Edge-udvidelser; en manifest.json-udvidelse er i høj grad portabel på tværs af browsere |
| Relateret format | .crx (Chromium/Chrome-udvidelse) bruger et lignende ZIP-baseret layout, men foranvender en proprietær CRX-header før ZIP-dataene |
| Inspektionsmetode | Omdøb til .zip og åbn med enhver arkivstyring (7-Zip, WinRAR, osv.) for at gennemse interne filer uden specialværktøj |
| Værtsapplikationer | Mozilla Firefox (primær), Mozilla Thunderbird (mail-tilføjelser), SeaMonkey |
| Distributionskanal | addons.mozilla.org (AMO) - håndterer hosting, gennemgang og kodesignering af alle offentligt distribuerede pakker |
| Build- og pakkeværktøj | web-ext CLI - Mozillas officielle kommandolinjeværktøj til at bygge, linte, køre og signere .xpi-filer |
| Platformunderstøttelse | Cross-platform: Windows, macOS, Linux; også Android via Firefox for Android (Fenix) |
| Udgivet | 1990s (Mozilla/Netscape XPInstall); modern WebExtension XPIs since Firefox 57 (2017) |
| Åben standard | Ja · royaltyfri |
| Specifikation | extensionworkshop.com |