Konwertuj XPI na CRX
Przenieś rozszerzenie XPI Firefoxa na źródło zgodne z Chromium, a następnie spakuj je i wdroż jako CRX.
Jak konwertować xpi do crx
- Internet
- Ocena: 3.5/5
Dodatek do Firefox lub Thunderbird dostarczany jako XPI nie może zostać zainstalowany bezpośrednio w Chrome, Edge, Brave ani innych przeglądarkach opartych na Chromium. Pakiet CRX jest przydatny tylko wtedy, gdy źródło rozszerzenia zostanie dostosowane do platformy rozszerzeń docelowej przeglądarki.
Co zawierają pliki XPI
XPI to format pakietu dodatków Mozilli, używany przede wszystkim przez Firefox i Thunderbird. Większość obecnych XPIs to archiwa oparte na ZIP, zawierające manifest.json, JavaScript, HTML, ikony, pliki lokalizacji oraz inne zasoby rozszerzenia.
Dodatki do Firefoksa dystrybuowane są jako podpisane XPIs. Starsze dodatki mogą zamiast tego wykorzystywać install.rdf, chrome.manifest, nakładki XUL lub przestarzały kod bootstrap; te technologie nie są obsługiwane przez Chromium i wymagają przebudowy, a nie jedynie przepakowania.
Co zapewniają pliki CRX
CRX to podpisany format pakietu rozszerzeń Chromium. Obecne przeglądarki Chromium tworzą pakiety CRX3, a klucz podpisujący determinuje identyfikator rozszerzenia; zachowanie tego klucza jest niezbędne do publikowania aktualizacji pod tym samym ID.
CRX jest przede wszystkim przydatny do wdrożeń w środowiskach zarządzanych oraz prywatnych usług aktualizacji. Chrome Web Store przyjmuje ZIP zawierający zgodne źródło rozszerzenia do publikacji, a nie gotowy plik CRX, a standardowe instalacje Chrome zazwyczaj blokują bezpośrednią instalację pobranych plików CRX.
Przygotuj źródło rozszerzenia
- Skopiuj i rozpakuj XPI do katalogu roboczego. W systemie Windows użyj 7-Zip, albo uruchom
unzip addon.xpi -d addon-srcna macOS lub Linux. Zmiana nazwy kopiiaddon.xpinaaddon.ziprównież umożliwia rozpakowanie przy użyciu standardowych narzędzi do archiwów. - Sprawdź
manifest.json. Dodatek zawierający wyłącznie przestarzałe pliki Mozilli nie może stać się działającym rozszerzeniem Chromium bez przeniesienia kodu źródłowego. - Dostosuj manifest i kod do przeglądarki docelowej. Usuń albo odseparuj ustawienia manifestu specyficzne dla Firefoksa, takie jak
browser_specific_settings, zastąp nieobsługiwane uprawnienia i API oraz użyj Manifest V3, gdy jest wymagane. Obecne zgłoszenia do Chrome Web Store wymagają Manifest V3; dostępność Manifest V2 w przeglądarkach Chromium zależy od wersji przeglądarki i polityki dla przedsiębiorstw. - Przejrzyj różnice w API. Kod Firefoksa używający
browser.*może wymagać ukierunkowanych zmian lubwebextension-polyfilldla zgodności z Chromium. API dostępne tylko w Firefoksie, strony uprzywilejowane, zachowanie proxy, możliwości motywów oraz nazwy uprawnień mogą nie mieć odpowiednika w Chromium. - Zanim spakujesz, przetestuj rozpakowany katalog. Otwórz
chrome://extensions,edge://extensionslub odpowiednią stronę w przeglądarce; włącz Tryb programisty; wybierz Load unpacked; i wskażaddon-src. Najpierw rozwiąż błędy związane z manifeście, service workerem, uprawnieniami i środowiskiem uruchomieniowym.
Utwórz pakiet CRX
Użyj docelowej przeglądarki opartej na Chromium albo samego Chromium, aby spakować przetestowany katalog. Na stronie rozszerzeń włącz Tryb programisty, wybierz Pack extension, wskaż katalog główny rozszerzenia i utwórz nowy klucz lub wybierz istniejący klucz .pem.
Alternatywą wiersza poleceń jest chromium --pack-extension=/full/path/addon-src. W systemie Windows użyj zainstalowanego pliku wykonywalnego przeglądarki, na przykład chrome.exe --pack-extension="C:\work\addon-src". Pakowanie tworzy plik .crx, a dla nowego pakietu także prywatny klucz .pem.
Przechowuj plik PEM prywatnie i wykonuj kopię zapasową. Zbuduj ponownie z użyciem tego samego klucza, na przykład chromium --pack-extension=/full/path/addon-src --pack-extension-key=/full/path/addon-src.pem. Nowy klucz tworzy nowy identyfikator rozszerzenia i przerywa ciągłość aktualizacji.
Ograniczenia wdrożenia i konwersji
Nie można ponownie wykorzystać podpisu XPI do podpisywania CRX. Rozpakowanie XPI udostępnia pliki źródłowe, a nie przenośny podpis Chromium ani tożsamość rozszerzenia.
Dla publicznej dystrybucji w Chrome wgraj zgodny plik ZIP ze źródłem do Chrome Web Store. Dla urządzeń zarządzanych przez organizację wdrażaj CRX przez politykę instalacji rozszerzeń w przeglądarce i, jeśli to konieczne, zatwierdzony adres URL aktualizacji.
Internetowe konwertery archiwów nie przenoszą API przeglądarek, nie walidują działania rozszerzenia ani nie generują użytecznej długoterminowej tożsamości podpisu. Nie wgrywaj źródła rozszerzenia ani prywatnych kluczy .pem na stronę konwertującą; zamiast tego używaj narzędzi lokalnych takich jak 7-Zip i Chrome, Edge lub wbudowanego w Chromium narzędzia do pakowania rozszerzeń.
Krótko mówiąc, nie da się bezpośrednio przekonwertować XPI na CRX.
Dlatego nie istnieje tak zwany konwerter xpi na crx ani darmowe narzędzie online do konwersji .xpi na .crx.
Porównanie formatu XPI z CRX
Jak formaty XPI i CRX wypadają w porównaniu pod względem najważniejszych cech dla tej konwersji.
| Cecha | .XPI Mozilla Add-on Package | .CRX Chrome Extension Package |
|---|---|---|
| Otwiera się w przeglądarce internetowej | Nie | Nie |
| Czytelny tekstowo | Nie | Nie |
| Formatowanie tekstu | Brak | Brak |
| Obrazy | Nie | Nie |
| Elementy interaktywne | Tak | Tak |
| Dalsza edycja | Ograniczone | Nie do bezpośredniej edycji |
| Typowy rozmiar pliku | Mały | Bardzo mały |
| Otwarty standard | Tak | Nie |
| Wprowadzono | 2004 | 2009 |
| Twórca | Mozilla Foundation | |
| Typ MIME | application/x-xpinstall | — |