recomendadas para ons mejores habilitar extensiones complementos actualizar firefox firefox-addon add-on signing

ons - ¿Cómo puedo desactivar la comprobación de firmas para los complementos de Firefox?



habilitar complementos firefox (5)

Desde la versión 42, Firefox, por defecto, se niega a instalar complementos sin firmar. ¿Cómo desactivo esta verificación?


Deshabilitar comprobación de firma de complementos en Versión (todas) las versiones de Firefox

Inicialmente encontré esta solución para deshabilitar la comprobación forzada de firmas complementarias en esta publicación de blog , que es la fuente original del código (algo modificado) en esta respuesta. Hacer estos cambios le permitirá instalar complementos sin firmar en los perfiles usando la distribución de Firefox que modifique. Para la mayoría de las personas, esta será tu instalación principal de Firefox. Sin embargo, si ha instalado varias versiones, deberá realizar esta modificación en cada instalación. Sin embargo, una vez que realice las modificaciones, se mantendrán a través de las actualizaciones normales de Firefox.

Tendrá que agregar un par de archivos dentro del directorio de instalación de Firefox. Puede encontrar una lista de ejemplos de directorios de instalación para Windows, Linux y Mac OS en mozillaZine . Los directorios de instalación más comunes son:

  • Windows
    • C: / Archivos de programa / Mozilla Firefox /
    • C: / Archivos de programa (x86) / Mozilla Firefox /
  • Linux
    • / usr / lib / firefox- <versión>
  • OSX
    • / Aplicaciones / Firefox.app

Agregar primer archivo

A continuación, debe agregar el siguiente código como el archivo <Install directory>/defaults/pref/disable-add-on-signing-prefs.js (Windows: <Install directory>/defaults/pref/disable-add-on-signing-prefs.js ):

//This file should be placed in the defaults/pref directory (folder) //within the Firefox installation directory with the with the name: // disable-add-on-signing-prefs.js pref("general.config.obscure_value", 0); pref("general.config.filename", "disable-add-on-signing.js");

Agregar segundo archivo

También necesita agregar el siguiente código como el archivo <Install directory>/disable-add-on-signing.js (Windows: <Install directory>/disable-add-on-signing.js ): 1

//This file should be placed in the Firefox installation directory //(folder) with the with the name: // disable-add-on-signing.js Components.utils.import("resource://gre/modules/addons/XPIProvider.jsm", {}) .eval("SIGNED_TYPES.clear()"); Components.utils.import("resource://gre/modules/addons/XPIInstall.jsm", {}) .eval("SIGNED_TYPES.clear()");

Resultados

Con la versión de lanzamiento actual de Firefox, he estado utilizando esta solución por un tiempo para tener instaladas algunas extensiones que he construido para mi propio uso y para probar nuevas versiones de extensiones en las que estoy trabajando (cuando quiero probar en la versión de lanzamiento en lugar de Firefox Developer Edition o Nightly ).

NOTA: en about:addons Firefox puede mostrar (bajo ciertas condiciones) el complemento como habilitado (no atenuado), pero tiene texto que indica que el complemento "no se pudo verificar y se ha deshabilitado". ¡El texto no es exacto! El complemento está habilitado y funcionando.

Cómo funciona

Dentro del resource://gre/modules/addons/XPIProvider.jsm la const SIGNED_TYPES se define como un Set . Para que un add-on requiera la firma, su tipo debe ser miembro de ese Set . El método Set.prototype.clear() se usa para borrar todas las entradas del Set . Esto no genera ningún tipo de complemento que requiera la firma ( código 1 , código 2 ).

Si lo desea, puede desactivar individualmente el control de firma para cualquiera de los tipos: "webextension" , "extension" , "experiment" o "apiextension" .

Elimine el directorio META-INF de cualquier extensión modificada

Los archivos adicionales en las secciones anteriores desactivan el requisito de que las extensiones deben estar firmadas. Si los archivos de firma existen, la firma aún se verificará. Por lo tanto, si ha modificado una extensión desde una que fue chamuscada y no ha eliminado los archivos de firma, la extensión fallará la verificación de la firma. En otras palabras, realmente verificar cualquier firma existente es un paso separado del requisito de que la firma debe existir.

Si ha modificado una extensión que se ha firmado (puede ver que ha sido firmado por la existencia de un directorio META-INF en el directorio raíz de la extensión), deberá eliminar los archivos de firma. Puede hacerlo eliminando el directorio META-INF y todos los archivos contenidos en ese directorio.

1. El código en el blog pone esta llamada en un bloque try{}catch(){} . Realmente no hay necesidad de hacerlo. Lo único efectivo que hace es evitar que se informe de cualquier error en la Consola del navegador ( Ctrl - Shift - J , o Cmd - Shift - J en OSX). No hay código adicional que se desea ejecutar si esto falla. Además, preferiría poder ver el error en la consola del navegador si esto falla para saber que, de hecho, ha fallado. No tener el try{}catch(){} no tiene ningún efecto negativo y permite rastrear el problema si, en alguna versión futura de Firefox, los complementos comienzan a deshabilitarse debido a que no están firmados.



La solución de @ Makyen funciona pero desactivará por completo la comprobación de firmas:

Components.utils.import("resource://gre/modules/addons/XPIProvider.jsm", {}) .eval("SIGNED_TYPES.clear()");

No tendrá la información de si el complemento está firmado.

En cambio, sugeriría esto:

/* Let unsigned addons live! */ Components.utils.import("resource://gre/modules/addons/XPIProvider.jsm", {}) .eval("function mustSign(aType) { return false; }"); Components.utils.import("resource://gre/modules/addons/XPIProvider.jsm", {}) .eval("XPIProvider.verifySignatures = function() {}");

Todavía lo advertirá cuando intente instalar un complemento sin firmar, pero funcionará de todos modos. El complemento está marcado como deshabilitado en about:addons pero de hecho está activo (puede desactivarlo / habilitarlo manualmente como un complemento normal).

Cómo funciona:

  • mustSign() comprueba si se requiere la firma para este tipo de complemento.

  • verifySignatures() es una devolución de llamada utilizada para verificar firmas cada XPI_SIGNATURE_CHECK_PERIOD segundos (es decir, una vez por día)


Para completar la respuesta anterior, descubro firefox-autoconfig , que consiste en instalar un archivo autoconfig.js en <FIREFOX INSTALLATION DIR>/default/prefs y un archivo ci.clg en <FIREFOX INSTALLATION DIR> que es una forma de deshabilitar xpinstall.signatures.required (y otras opciones también) de manera definitiva y automática cuando se abre Firefox (probado con Firefox 45.0.1)

Verá esos contenidos en autoconfig.js :

// pref("general.config.filename", "ci.cfg"); pref("general.config.obscure_value", 0);

Y esos contenidos en ci.cfg :

// Disable checking if firefox is default browser lockPref(''browser.shell.checkDefaultBrowser'', false); // Disable restoring session lockPref(''browser.sessionstore.resume_from_crash'', false); // Disable extension signature check lockPref(''xpinstall.signatures.required'', false); // Allow extensions to be installed without user prompt pref("extensions.autoDisableScopes", 0); pref("extensions.enabledScopes", 15); // Disable updater lockPref("app.update.enabled", false); // make absolutely sure it is really off lockPref("app.update.auto", false); lockPref("app.update.mode", 0); lockPref("app.update.service.enabled", false); // Prevent closing dialogs lockPref("browser.showQuitWarning", false); lockPref("browser.warnOnQuit", false); lockPref("browser.tabs.warnOnClose", false); lockPref("browser.tabs.warnOnCloseOtherTabs", false); // Disable Add-ons compatibility checking clearPref("extensions.lastAppVersion"); // Don''t show ''know your rights'' on first run pref("browser.rights.3.shown", true); //Disable plugin checking lockPref("plugins.hide_infobar_for_outdated_plugin", true); clearPref("plugins.update.url"); // Disable health reporter lockPref("datareporting.healthreport.service.enabled", false); // Disable all data upload (Telemetry and FHR) lockPref("datareporting.policy.dataSubmissionEnabled", false); // Disable crash reporter lockPref("toolkit.crashreporter.enabled", false); Components.classes["@mozilla.org/toolkit/crash-reporter;1"].getService(Components.interfaces.nsICrashReporter).submitReports = false; // Browser Console command line pref("devtools.chrome.enabled", true);


Solo es posible deshabilitar la verificación de complementos en los canales Nightly y Developer . En otras palabras, no es posible en versiones Beta y versiones estándar .

  1. Vaya a about:config (ingréselo en la barra de direcciones)
  2. Establezca xpinstall.signatures.required en false .

Más en https://wiki.mozilla.org/Addons/Extension_Signing