Konwertuj xpi do crx

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

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

  1. Skopiuj i rozpakuj XPI do katalogu roboczego. W systemie Windows użyj 7-Zip, albo uruchom unzip addon.xpi -d addon-src na macOS lub Linux. Zmiana nazwy kopii addon.xpi na addon.zip również umożliwia rozpakowanie przy użyciu standardowych narzędzi do archiwów.
  2. 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.
  3. 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.
  4. Przejrzyj różnice w API. Kod Firefoksa używający browser.* może wymagać ukierunkowanych zmian lub webextension-polyfill dla 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.
  5. Zanim spakujesz, przetestuj rozpakowany katalog. Otwórz chrome://extensions, edge://extensions lub 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.

Porównanie formatów plików XPI i CRX
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 Google
Typ MIME application/x-xpinstall

Dodatkowe formaty dla konwersji pliku
xpi

Konwersja odwrotna

Konwersja do .crx
z innych formatów

Udostępnij w mediach społecznościowych: