2011-07-05 16 views
12

Estoy usando Firefox 5, y ya sé que las extensiones se encuentran en la subcarpeta extensions del Profile folder ... Sin embargo, necesito encontrar dónde se encuentra una extensión en particular (por ejemplo, CoLT); el problema es que la mayoría de las carpetas de extensión son nombradas por GUID, p.Firefox: busque la ubicación de un add-on/extensión específico?

extensions$ ls 
{232ac1d3-4d70-4919-8338-48c3d3f98afc} 
{29c4afe1-db19-4298-8785-fcc94d1d6c1d} 
{2bfc8624-5b8a-4060-b86a-e78ccbc38509} 
{33f141c0-3703-4a4c-b459-cec618a7dafd} 
... 

Por otra parte: "A partir de Gecko 2.0 (Firefox 4/Thunderbird 3.3/SeaMonkey 2.1), archivos XPI ya no son descomprimido cuando se instalan las extensiones En cambio, el XPI sí se coloca en el directorio de extensiones,. y los archivos se cargan directamente fuera del paquete "(Extension Packaging - MDN Docs) ...

y puesto XPI es básicamente un archivo ZIP, grepping través de la carpeta extensions buscando, por ejemplo, el nombre de la extensión:.

extensions$ grep -ri 'colt' . 

... no devolverá nada.

Entonces, ¿alguien sabe de un método (o una extensión) para decirme exactamente qué XPI (o carpeta sin empaquetar) es una extensión particular ubicada en/cargada?

+0

Sé que ya recibiste respuestas hace mucho tiempo, solo me gustaría añadir un comentario sobre 'zgrep'. No sé sobre su sistema: en mi Cygwin, el paquete 'gzip' también incluye' zgrep', que es un script simple de envoltura alrededor de 'grep' para permitir el almacenamiento en archivos zip. En su ejemplo, 'zgrep -i 'colt' *' haría el trabajo. Para hacer lo mismo que tú, generalmente zgrep como dije, luego 'grep -ir --include = install.rdf 'colt' *', para poder verificar las extensiones comprimidas y sin comprimir.Por supuesto, la respuesta about: support es mucho más fácil, de esta manera solo sería mejor si la necesita en un script. –

Respuesta

25

Escriba about:support#extensions-tbody en su barra de direcciones; esto mostrará (entre otras cosas) todas sus extensiones instaladas junto con sus ID. La ID de extensión determina el nombre de la carpeta/archivo en el directorio extensions. Tenga en cuenta que las extensiones no siempre están instaladas en su perfil; en caso de duda, los contenidos de extensions.ini en su perfil de Firefox deben aclarar las cosas.

Si usted quiere tener más "cómoda", se puede pegar el código siguiente en la consola del navegador:

Components.utils.import("resource://gre/modules/AddonManager.jsm", null).AddonManager.getAllAddons(addons => {addons.filter(addon => addon.type == "extension").forEach(addon => console.log(addon.name, addon.getResourceURI().spec))}); 

Esto utilizará complemento encargado API para mostrar los nombres y ubicaciones de instalación de toda su complementos.

+0

Impresionante @Wladimir Palant - muchas gracias, especialmente por el código JS "cómodo" :) Sabía que tenía que haber algo más fácil que la deshidratación :) ¡Salud! – sdaau

+0

Excelente consejo. Estoy intentando desinstalar el complemento logitech setpoint, que es una basura que nunca pedí y que no puedo eliminar. Deja de ser el malvado Logitech. Solo su fragmento de código me permitió ubicar su ubicación de instalación. No puedo creer que estaba fuera de la carpeta de perfil en los archivos de programa. Gracias. – Adamantus

+1

@WladimirPalant 'about: support # extensions-tbody' es una URL más al punto para recuperar la lista de extensiones de Firefox instaladas. Esa url mostrará inmediatamente la lista de extensiones sin desplazamiento, al menos en Firefox 50. –

1

Ah, bueno, aquí está, al menos algo, así que no reciben rodadora de nuevo :)

extensions$ for ix in *.xpi; do echo $ix; unzip -c $ix | grep -aoi ........colt.........; done 
... 
{e4a8a97b-f2ed-450b-b12d-ee082ba24781}.xpi 
{e6c4c3ef-3d4d-42d6-8283-8da73c53a283}.xpi 
content colt jar:chro 
hrome://colt/content/ 
:chrome/colt.jar!/loc 
... 

... lo que debe apuntar claramente que {e6c4c3ef-3d4d-42d6-8283-8da73c53a283}.xpi es el recipiente de la extensión CoLT ..

Tenga en cuenta que unzip -c se descomprime en terminal/stdout, con -a forzamos grep para hacer una búsqueda binaria, pero como eso puede volcar líneas enormes en el terminal, limitamos eso con -o para "emparejar solamente", y luego agregamos puntos con el significado de "unir cualquier personaje" alrededor del término de búsqueda para que podamos ver lo que sucede en las cercanías del partido.

usuarios No increíblemente amable, pero al menos funciona :) Aún esperando escuchar un método más sencillo para este ..

Salud!

+0

No funciona para localizar XPI sin comprimir (de todos modos, el OP solo tiene que usar esto como complemento), pero de todas formas es una muy buena manera de no tener que recurrir a 'zgrep', como yo. –

Cuestiones relacionadas