others - Javascript - 如何禁用Firefox插件的签名检查?

95 3

从42版本开始,Firefox默认拒绝安装签名的插件,如何禁用这个验证?

时间: 原作者:

150 3

只有在夜间版本和开发人员通道中才能禁用插件验证,换句话说,在Beta版本和标准版本中是不可能的。

  • 转到about:config (将它输入地址栏),
  • xpinstall.signatures.required设置为false

更多信息在 https://wiki.mozilla.org/Addons/Extension_Signing

原作者:
107 5

为了完成上面的回答,我发现 firefox-autoconfig,这包括安装一个 autoconfig.js文件,<FIREFOX INSTALLATION DIR>/default/prefs<FIREFOX INSTALLATION DIR>中的一个ci.clg文件,是一种在Firefox开启(使用Firefox 45.0.1测试)时自动禁用xpinstall.signatures.required (还有其他选项)的方法,

你将在autoconfig.js中看到这些内容:

 

//


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


pref(" general.config.obscure_value" , 0);



以及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);



原作者:
135 2

从Firefox 47开始:Firefox for Desktop的发行版和Beta版将不允许安装未签名的扩展,没有覆盖。

有关更多信息,请参见 Mozilla页面上的扩展签名

原作者:
113 4

@Makyen's解决方案有效,但是,将完全禁用签名检查:

 

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


 . eval(" SIGNED_TYPES.clear()" );



您将无法获得插件是否已签名的信息。

相反,我建议这样做:

 

/* 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() {}" );



当你尝试安装一个未签名的插件时它仍然会发出警告,但是,它仍然会工作,插件在about:addons中被标记为已禁用,但是,实际上是活动的(您可以像普通插件一样手动禁用/启用它)。

它的工作方式:

  • mustSign()检查此类型的插件是否需要签名。

  • verifySignatures()是一个用于在每个XPI_SIGNATURE_CHECK_PERIOD秒内检查签名的回调(即。 每天一次)

原作者:
...