Приветствую!
Не устанавливает дополнение - "не может быть установлено так как оно несовместимо firefox 58"
Как обойти защиту в версии 58 и разрешить установку дополнений?
config.js и config-prefs.js поместил в нужные папки.
Спасибо!
Отредактировано firepox (04-12-2017 21:18:08)
Отсутствует
firepox, воспользуйся версией 58 Developer Edition - там разрешены и установка, и использование старых дополнений. По факту далеко не все, конечно, работают, но это уже другой разговор.
config.js и config-prefs.js поместил в нужные папки.
Нафига? Это отключает проверку цифровой подписи, а тут речь о глобальной блокировке дополнений не на WebExtension. Плюс "шаманство" с config.js и config-prefs.js перестало работать, если не ошибаюсь, ещё с 55-ой версии.
Отредактировано Stanislav1989 (04-12-2017 21:27:17)
Отсутствует
Решение то существует?)
Да, в первом предложении написал.
58 Developer Edition
По сути, эта та же бета, но не заблокирована работа старых дополнений.
Отсутствует
Плюс "шаманство" с config.js и config-prefs.js перестало работать, если не ошибаюсь, ещё с 55-ой версии.
Оно и на 58 работает. Вот только оно разное.
firepox, можете выложить config.js — сравню со своим? Может отличия есть?
Отсутствует
// 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
в девелоперской версии - "не может быть установлено так как оно несовместимо firefox 58"
Отредактировано firepox (04-12-2017 22:31:52)
Отсутствует
firepox, у меня точно такое же, но пока не встречал тех, которые не устанавливаются. Думал может другое...
Тогда если только так:
при наличии этих двух файлов присутствует и отрицательный эффект - невозможно установить/обновить некоторые расширения и Firefox выдает ошибку "это дополнение не может быть установлено так как оно по-видимому повреждено". При возникновении этой ошибки закройте Firefox, удалите эти два файла (предварительно сделайте резервную копию файлов!) и запустите Firefox. Установите нужное вам дополнение, закройте Firefox и верните эти файлы обратно в папки.
Хотя вроде про другую ошибку...
Там ещё про настройки говорилось, не знаю уж, влияют они или нет...
extensions.allow-non-mpc-extensions = true
extensions.legacy.enabled = true
xpinstall.signatures.required = false (для 58).
Отредактировано Coroner (04-12-2017 22:39:31)
Отсутствует