Comment désactiver la vérification de signature pour les add-ons Firefox?
5 réponses
il n'est possible de désactiver la vérification des addons que dans Nuit et Développeur canal. En d'autres termes, c'est pas possible dans les versions bêta et les versions standard.
about:config
(saisir dans la barre d'adresse)- Set
xpinstall.signatures.required
false
.
Pour compléter la réponse ci-dessus, je découvre firefox-autoconfig, qui consiste à installer un autoconfig.js
fichier <FIREFOX INSTALLATION DIR>/default/prefs
et ci.clg
fichier <FIREFOX INSTALLATION DIR>
c'est un moyen de le désactiver xpinstall.signatures.required
(et d'autres options aussi) définitivement et automatiquement lors de L'ouverture de Firefox (testé avec Firefox 45.0.1)
Vous verrez ceux contenus dans autoconfig.js
:
//
pref("general.config.filename", "ci.cfg");
pref("general.config.obscure_value", 0);
Et ceux contenus dans 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);
à partir de Firefox 47: les versions release et Beta de Firefox pour Desktop ne permettront pas l'installation d'extensions non signées, sans effet de surpassement.
pour plus d'information voir le Mozilla page Wiki sur l'Extension de Signature.
Désactiver les ajouter à la signature de vérifier dans Libération (tous) les versions de Firefox
j'ai d'abord trouvé cette solution pour désactiver le contrôle de signature d'ajout forcé ce post, qui est la source originale du code (quelque peu modifié) dans cette réponse. Faire ces changements vous permettra d'installer des add-ons non signés dans les profils en utilisant la distribution Firefox que vous modifiez. Pour la plupart des gens, ce sera votre installation principale Firefox. Toutefois, si vous avez installé plusieurs versions, vous aurez besoin de faire cette modification dans chaque installation. Cependant, une fois que vous aurez fait les modifications, elles resteront dans les mises à jour normales de Firefox.
vous devrez ajouter quelques fichiers dans le répertoire D'installation de Firefox. Vous pouvez trouver un liste de répertoire d'installation exemples pour Windows, Linux et Mac OS sur mozillaZine. Les répertoires d'installation les plus courants sont:
- fenêtres
- C:\Program Fichiers\Mozilla Firefox\
- C:\Program fichiers (x86)\Mozilla Firefox\
- Linux
- / usr/lib / firefox-
- / usr/lib / firefox-
- OSX
- /Applications / Firefox.app
ajouter le premier fichier
vous devez alors ajouter le code ci-dessous comme le fichier <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");
ajouter le second fichier
vous devez aussi ajouter le code ci-dessous comme le fichier <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()");
Résultats
avec la version actuelle de Firefox, j'utilise cette solution depuis un certain temps maintenant pour avoir quelques extensions que j'ai construites pour mon propre usage installé et pour tester de nouvelles versions d'extensions sur lesquelles je travaille (quand je veux tester dans le version de sortie au lieu de Firefox Developer Edition ou Nuit).
NOTE:about:addons
Firefox afficher (sous certaines conditions) l'Add-on tel qu'il est activé (Non grisé), mais avoir un texte indiquant que l'add-on "n'a pas pu être vérifié et a été désactivé". Le texte n'est pas exacte! Le complément est activé et le fonctionnement.
Comment ça marche
à l'intérieur de resource://gre/modules/addons/XPIProvider.jsm
const SIGNED_TYPES
est défini comme un Set
. Pour un add-on pour exiger la signature, son type doit être un membre de cette Set
. Set.prototype.clear()
méthode est utilisée pour effacer toutes les entrées de la Set
. Il n'en résulte aucun type supplémentaire nécessitant une signature ( code 1, code 2).
Si vous vouliez, vous pourriez individuellement désactiver la signature vérification de tout type: "webextension"
,"extension"
,"experiment"
, ou "apiextension"
.
Supprimer META-INF répertoire à partir de n'importe quelle extension modifiée
Les fichiers supplémentaires dans les sections ci-dessus éteindre l' condition que les extensions être signé. Si les fichiers de signature existent, la signature sera toujours vérifiée. Ainsi, si vous avez modifié une extension à partir d'une extension qui a été sélectionnée et que vous n'avez pas supprimé les fichiers de signature, l'extension échouera à la vérification de la signature. En d'autres termes, en réalité vérifier toute signatures est une étape distincte de l'obligation que la signature doit exister.
Si vous avez modifié une extension qui a été signé (vous pouvez dire qu'il avait été signé par l'existence d'un META-INF dans le répertoire racine de l'extension), alors vous aurez besoin de supprimer les fichiers de signature. Vous pouvez le faire en supprimant l' META-INF répertoire et tous les fichiers contenus dans ce répertoire.
1. Le code dans le blog met cet appel dans un try{}catch(){}
bloc. Il n'y a vraiment pas besoin de le faire. La seule chose qui n'est d'éviter toute erreur d'être signalés dans le Console Du Navigateur ( Ctrl -Maj - J, ou Cmd -Maj - J sur OSX). Il n'y a pas de code supplémentaire qui est désiré pour être exécuté si cela échoue. En outre, je préférerais pouvoir voir l'erreur dans la Console du navigateur si cela échoue afin de savoir qu'il a, en fait, échoué. Ne pas avoir la try{}catch(){}
n'a aucun effet négatif et permet de traquer le problème si, sur une future version de Firefox, les add-ons commencent à être désactivés parce qu'ils ne sont pas signés.
la solution de@Makyen fonctionne mais va désactiver la vérification de signature complètement:
Components.utils.import("resource://gre/modules/addons/XPIProvider.jsm", {})
.eval("SIGNED_TYPES.clear()");
Vous savoir si l'addon est signé.
au lieu de cela, je suggérerais ceci:
/* 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() {}");
il vous avertira quand vous essayez d'installer un addon non signé mais il fonctionnera quand même. L'addon est marqué comme désactivé about:addons
mais est en fait actif (vous pouvez désactiver/activer manuellement comme un addon normale).
Comment il fonctionne:
mustSign()
vérifie si la signature est requise pour ce type d'addon.verifySignatures()
est un callback utilisé pour vérifier les signatures à chaqueXPI_SIGNATURE_CHECK_PERIOD
secondes (c'est à dire une fois par jour)