>Форум Mozilla Россия http://forum.mozilla-russia.org/index.php >Firefox http://forum.mozilla-russia.org/viewforum.php?id=4 >не может быть установлено так как оно несовместимо firefox 58 http://forum.mozilla-russia.org/viewtopic.php?id=72863 |
firepox > 04-12-2017 21:16:30 |
Приветствую! Не устанавливает дополнение - "не может быть установлено так как оно несовместимо firefox 58" Как обойти защиту в версии 58 и разрешить установку дополнений? Спасибо! |
Stanislav1989 > 04-12-2017 21:23:14 |
firepox, воспользуйся версией 58 Developer Edition - там разрешены и установка, и использование старых дополнений. По факту далеко не все, конечно, работают, но это уже другой разговор. firepox пишет
Нафига? Это отключает проверку цифровой подписи, а тут речь о глобальной блокировке дополнений не на WebExtension. Плюс "шаманство" с config.js и config-prefs.js перестало работать, если не ошибаюсь, ещё с 55-ой версии. |
firepox > 04-12-2017 21:25:36 |
Stanislav1989 |
Stanislav1989 > 04-12-2017 21:31:59 |
firepox пишет
Да, в первом предложении написал. Stanislav1989 пишет
По сути, эта та же бета, но не заблокирована работа старых дополнений. |
firepox > 04-12-2017 22:04:07 |
Stanislav1989 остаюсь на на 56) |
Coroner > 04-12-2017 22:26:37 |
Stanislav1989 пишет
Оно и на 58 работает. Вот только оно разное. |
firepox > 04-12-2017 22:31:00 |
скрытый текст Выделить код Код:// try {(code => { var {classes: Cc, interfaces: Ci, utils: Cu} = Components; var jsval, evl = true, re = e => Cu.reportError(e), imp = name => {try { return Cu.import(`resource://gre/modules/addons/${name}.jsm`, {}); } catch(ex) {}} if ((jsval = imp("AddonSettings"))) { jsval.AddonSettings = {ADDON_SIGNING: false, REQUIRE_SIGNING: false, ALLOW_LEGACY_EXTENSIONS: true}; try {evl = jsval.eval("this") === jsval;} catch(ex) {evl = false;} } lockPref("extensions.allow-non-mpc-extensions", true); var jsvals = ["XPIProvider", "XPIInstall"].map(imp).filter(i => i); if (evl) return jsvals.forEach(jsval => {try {jsval.eval(code);} catch(ex) {re(ex);}}); var sl = Cc["@mozilla.org/moz/jssubscript-loader;1"].getService(Ci.mozIJSSubScriptLoader); Cu.importGlobalProperties(["URL", "Blob"]); var url = URL.createObjectURL(new Blob([(code)])); jsvals.forEach(jsval => {try {sl.loadSubScript(url, jsval);} catch(ex) {re(ex);}}); })(String.raw` try {SIGNED_TYPES.clear();} catch(ex) {}; "verifyZipSignedState" in this && (signedState => { var re = /\x06\x03U\x04\x03\x14[\s\S](\{[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}\}|[a-z0-9-\._]*\@[a-z0-9-\._]+)0\x82\x02"0\r\x06\t/i; var getUUID = () => { var gen = Cc["@mozilla.org/uuid-generator;1"].getService(Ci.nsIUUIDGenerator); return (getUUID = () => gen.generateUUID().toString())(); } var getURI = file => { var jsval = Cu.import("resource://gre/modules/addons/XPIProvider.jsm", {}); return (getURI = file => jsval.getURIForResourceInFile(file, "META-INF/mozilla.rsa"))(file); } var getId = file => { var result, is = {close() {}}, sis = {close() {}}; try { is = Services.io.newChannelFromURIWithLoadInfo(getURI(file), null).open(); sis = Cc["@mozilla.org/scriptableinputstream;1"].createInstance(Ci.nsIScriptableInputStream); sis.init(is); var str = sis.readBytes(sis.available()); var match = str.match(re); if (match) result = match[1]; } catch(ex) {} sis.close(); is.close(); return result || getUUID(); } verifyZipSignedState = function verifyZipSignedState(aFile, aAddon) { if (aAddon.id || aAddon._installLocation.name == KEY_APP_TEMPORARY) return Promise.resolve({signedState, cert: null}); var root = !AppConstants.MOZ_REQUIRE_SIGNING && Services.prefs.getBoolPref(PREF_XPI_SIGNATURES_DEV_ROOT, false) ? Ci.nsIX509CertDB.AddonsStageRoot : Ci.nsIX509CertDB.AddonsPublicRoot; return new Promise(resolve => { var callback = {openSignedAppFileFinished(rv, zipReader, cert) { zipReader && zipReader.close(); resolve({signedState, cert: cert || {commonName: getId(aFile)}}); }}; gCertDB.openSignedAppFileAsync(root, aFile, callback.wrappedJSObject = callback); }); } })(AddonManager.SIGNEDSTATE_NOT_REQUIRED); `)} catch(err) {Components.utils.reportError(err);} 04-12-2017 22:31:52 |
Coroner > 04-12-2017 22:37:06 |
firepox, у меня точно такое же, но пока не встречал тех, которые не устанавливаются. Думал может другое... Тогда если только так:
Хотя вроде про другую ошибку... Там ещё про настройки говорилось, не знаю уж, влияют они или нет... |