Convertir xpi a crx

Convertir XPI a CRX

Portar una extensión XPI de Firefox a un origen compatible con Chromium; luego empaquetarla e implementarla como CRX.

Cómo convertir un archivo xpi a crx

  • Internet

Un complemento de Firefox o Thunderbird suministrado como un XPI no se puede instalar directamente en Chrome, Edge, Brave u otros navegadores basados en Chromium. Un paquete CRX solo es útil después de que el código fuente de la extensión se haya hecho compatible con la plataforma de extensiones del navegador de destino.

Qué contienen los archivos XPI

XPI es el formato de paquete de complementos de Mozilla, usado principalmente por Firefox y Thunderbird. La mayoría de los XPIs actuales son archivos tipo ZIP que contienen manifest.json, JavaScript, HTML, iconos, archivos de localización y otros recursos de la extensión.

Firefox Add-ons distribuye XPIs firmados. Los complementos antiguos pueden, en su lugar, usar install.rdf, chrome.manifest, overlays de XUL o código de bootstrap heredado; estas tecnologías no son compatibles con Chromium y requieren una rede­sarrollo en lugar de un reprocesado.

Qué proporcionan los archivos CRX

CRX es el formato de paquete de extensiones firmado de Chromium. Los navegadores Chromium actuales crean paquetes CRX3, cuya clave de firma determina el ID de la extensión; conservar esa clave es necesario para publicar actualizaciones con el mismo ID.

CRX es principalmente útil para la implementación en navegadores gestionados y servicios de actualización privados. Chrome Web Store acepta un ZIP del código fuente compatible de la extensión para su publicación, no un CRX ya preparado, y las instalaciones normales de Chrome generalmente bloquean la instalación directa de archivos CRX descargados.

Preparar el código fuente de la extensión

  1. Copie y extraiga el XPI en una carpeta de trabajo. Use 7-Zip en Windows, o ejecute unzip addon.xpi -d addon-src en macOS o Linux. Renombrar una copia de addon.xpi a addon.zip también permite extraerla con herramientas estándar de archivos.
  2. Verifique manifest.json. Un complemento que contenga solo archivos heredados de Mozilla no puede convertirse en una extensión funcional de Chromium sin un port del código fuente.
  3. Adapte el manifiesto y el código para el navegador de destino. Elimine o aísle configuraciones del manifiesto solo para Firefox como browser_specific_settings, reemplace permisos y APIs no compatibles y use Manifest V3 cuando sea necesario. Las presentaciones actuales en Chrome Web Store requieren Manifest V3; la disponibilidad de Manifest V2 en navegadores Chromium depende de la versión del navegador y la política empresarial.
  4. Revise las diferencias de API. El código de Firefox que usa browser.* puede requerir cambios específicos o webextension-polyfill para la compatibilidad con Chromium. Las APIs solo de Firefox, las páginas privilegiadas, el comportamiento del proxy, las capacidades de tema y los nombres de permisos pueden no tener un equivalente en Chromium.
  5. Pruebe la carpeta descomprimida antes de empaquetar. Abra chrome://extensions, edge://extensions o la página equivalente del navegador; habilite Developer mode; elija Load unpacked; y seleccione addon-src. Resuelva primero errores del manifiesto, del service-worker, de permisos y del tiempo de ejecución.

Crear el paquete CRX

Use el navegador Chromium de destino o Chromium para empaquetar la carpeta probada. En la página de extensiones, habilite Developer mode, seleccione Pack extension, elija la carpeta raíz de la extensión y cree una nueva clave o seleccione la clave existente .pem.

Una alternativa desde la línea de comandos es chromium --pack-extension=/full/path/addon-src. En Windows, use el ejecutable instalado del navegador, por ejemplo chrome.exe --pack-extension="C:\work\addon-src". El empaquetado crea un archivo .crx y, para un paquete nuevo, una clave privada .pem.

Mantenga el archivo PEM en privado y respaldado. Vuelva a compilar con la misma clave, por ejemplo chromium --pack-extension=/full/path/addon-src --pack-extension-key=/full/path/addon-src.pem. Una clave nueva crea un ID de extensión nuevo y rompe la continuidad de las actualizaciones.

Límites de despliegue y conversión

La firma de un XPI no se puede reutilizar para la firma CRX. Extraer un XPI proporciona archivos de código fuente, no una firma Chromium transferible ni una identidad de extensión.

Para la distribución pública en Chrome, cargue el ZIP del código fuente compatible en Chrome Web Store. Para dispositivos gestionados por una organización, implemente el CRX mediante la política de instalación de extensiones empresarial del navegador y, cuando sea necesario, una URL de actualización aprobada.

Los conversores de archivo en línea no pueden portar APIs del navegador, validar el comportamiento de la extensión ni generar una identidad de firma de uso prolongado utilizable. No suba el código fuente de la extensión ni claves privadas .pem a un sitio web de conversión; use herramientas locales como 7-Zip y Chrome, Edge o el empaquetador de extensiones de Chromium.

Simplemente, es imposible convertir XPI a CRX directamente.
Por lo tanto, no existe un convertidor de xpi a crx o un convertidor en línea gratuito de .xpi a .crx.

XPI vs CRX: comparación de formatos

Cómo se comparan los formatos XPI y CRX en las propiedades que más importan para esta conversión.

Comparación de los formatos de archivo XPI y CRX
Propiedad .XPI Mozilla Add-on Package .CRX Chrome Extension Package
Se abre en un navegador web No No
Legible como texto plano No No
Formato de texto Ninguno Ninguno
Imágenes No No
Elementos interactivos
Edición posterior Limitado No editable directamente
Tamaño de archivo típico Pequeño Muy pequeño
Estándar abierto No
Introducido 2004 2009
Desarrollador Mozilla Foundation Google
Tipo MIME application/x-xpinstall

Otras conversiones de archivos .xpi

Conversión inversa

Convertir a .crx
desde otros formatos

Compartir en redes sociales: