Instalar WebExtensions en Firefox desde la línea de comando

Encontré la pregunta ¿Cómo instalar el complemento de Firefox desde la línea de comandos en scripts? que parece funcionar para las extensiones de Firefox (es decir, las que tienen un archivo install.rdf ), pero ¿qué pasa con WebExtensions (extensión con un archivo manifest.json en su lugar)?

Por favor mira:

  • Instalación de extensiones
  • Personalización de Firefox: incluye extensiones con su distribución de Firefox

La pregunta que enlazas en askubuntu: ¿Cómo instalar el complemento de Firefox desde la línea de comandos en scripts? está varios años desactualizado, pero tiene buena información.

En este punto, la mayoría de los complementos de Mozilla, incluidos todos los complementos de Firefox WebExtension, se instalan manualmente colocando el archivo .xpi del .xpi en el directorio apropiado con el nombre correcto para la extensión sin desempaquetar (descomprimir) los contenidos. [También puedes instalarlos descargándolos en Firefox, arrastrando y soltando el .xpi en Firefox / Thunderbird, etc.]

Puede determinar los complementos que se deben desempaquetar desempacando el archivo .xpi del .xpi y mirando el archivo install.rdf para ver si tiene true . Todas las WebExtensions no tienen este archivo y se instalan sin desempaquetar.

El archivo .xpi debe llamarse [extensionID].xpi . Puede encontrar la ID de extensión desde el archivo install.rdf (complementos no WebExtension). En ese archivo, usted está buscando ThisEntireStringIsTheAddOnsID

Para WebExtension, la ID se encuentra en el archivo manifest.json en la propiedad de aplicaciones :

 "applications": { "gecko": { "id": "ThisEntireStringIsTheAddOnsID" } }, 

Para los dos ejemplos anteriores, el archivo .xpi debe renombrar a ThisEntireStringIsTheAddOnsID.xpi

Si el archivo install.rdf incluye true , los archivos en .xpi deben desempaquetar (descomprimir) y colocar en un subdirectorio bajo el directorio de extensiones. En el ejemplo anterior de install.rdf (de nuevo, las WebExtensions no se desempaquetarán), el directorio se llamaría: ThisEntireStringIsTheAddOnsID

Directorios de extensión:

Los directorios de extensión donde coloca el archivo .xpi o el directorio desempaquetado son (información parcialmente copiada de MDN ):

Para todos los usuarios que ejecutan una versión particular de Firefox:
[Firefox install directory]/browser/extensions/

Firefox le pedirá al usuario que confirme la instalación del complemento cuando se ejecute esa versión de Firefox. El usuario no podrá eliminar la extensión, solo desactivarla. La extensión no se actualizará automáticamente.

Para todos los usuarios que ejecutan una versión particular de Firefox:
[Firefox install directory]/distribution/extensions

La extensión se instalará para todos los usuarios / perfiles la primera vez que se ejecute el perfil con esa versión de Firefox. La extensión se copiará en el directorio de extensions del perfil y el usuario podrá eliminarla además de deshabilitarla. No se le pedirá al usuario que confirme la instalación. La extensión copiada a cada perfil se actualizará automáticamente junto con todas las demás extensiones instaladas para ese perfil. No debe descomprimir ningún archivo .xpi en este directorio. Si el archivo necesita ser desempaquetado, Firefox lo hará automáticamente cuando la extensión esté instalada en cada perfil.

Para el perfil específico de un usuario en particular:
[profile directory]/extensions/

En Windows:
Todos los perfiles para un usuario específico:
%appdata%\\Mozilla\\Extensions\\{ec8030f7-c20a-464f-9b0e-13a3a9e97384}\

Los directorios de perfil se encuentran en:
\\Mozilla\\Firefox\\Profiles\\*

OSX:
Para todos los usuarios:
/Library/Application Support/Mozilla/Extensions/{ec8030f7-c20a-464f-9b0e-13a3a9e97384}/

Solo para un usuario específico, colóquelo en la jerarquía de carpetas de la biblioteca de ese usuario:
~/Library/Application Support/Mozilla/Extensions/{ec8030f7-c20a-464f-9b0e-13a3a9e97384}/

Linux:
Para todos los usuarios:
/usr/lib/Mozilla/extensions/{ec8030f7-c20a-464f-9b0e-13a3a9e97384}/

o
/usr/lib64/Mozilla/extensions/{ec8030f7-c20a-464f-9b0e-13a3a9e97384}/

o
/usr/share/Mozilla/extensions/{ec8030f7-c20a-464f-9b0e-13a3a9e97384}/

Solo para un usuario específico:
~/.Mozilla/extensions/{ec8030f7-c20a-464f-9b0e-13a3a9e97384}/

NOTA:

La opción -install-global-extension mencionada en la pregunta / respuesta que vinculó se eliminó de Firefox a partir de Gecko 1.9.2 (hace mucho tiempo).