दिलचस्प पोस्ट
निश्चित सी पुस्तक गाइड और सूची Match_parent और fill_parent के बीच अंतर क्या है? इस संकेतक के माध्यम से मुझे टेम्प्लेट बेस वर्ग के सदस्यों का उपयोग क्यों करना है? रन सेट टाइम टाइम केवल जब टैब सक्रिय है एफएफपीपीई जानकारी को मित्रवत तरीके से प्राप्त करें मटैब में गति-कुशल वर्गीकरण लिंक और स्क्रिप्ट टैग्स में सीएसएस और जावास्क्रिप्ट यूआरएल को "? V = 1" को क्या जोड़ता है? सी ++ में मुख्य () में recurse क्या कानूनी है? XmlDocument का उपयोग करते हुए XML विशेषता पढ़ें DOCTYPE क्या है? ब्राउज़र आकार / आकार बदलने के आधार पर Jquery Change Height CSS @ font-face – क्या करता है "src: local ('☺')" मतलब है? अधिकतम राशि उपन्यासकार? सशर्त शामिल होने के साथ ईएफ प्रश्न Android पर किसी आशय के माध्यम से किसी भी प्रकार की फ़ाइल को चुनें

फ़ायरफ़ॉक्स ऐड-ऑन के लिए मैं हस्ताक्षर जांच कैसे अक्षम करूं?

संस्करण 42 से, फ़ायरफ़ॉक्स, डिफ़ॉल्ट रूप से, अहस्ताक्षरित ऐड-ऑन स्थापित करने से इनकार करता है। मैं इस सत्यापन को कैसे अक्षम करूं?

वेब के समाधान से एकत्रित समाधान "फ़ायरफ़ॉक्स ऐड-ऑन के लिए मैं हस्ताक्षर जांच कैसे अक्षम करूं?"

नाइटली और डेवलपर चैनल में एडसन सत्यापन को अक्षम करना संभव है। दूसरे शब्दों में यह बीटा संस्करणों और मानक रिलीज में संभव नहीं है

  1. इसके about:config जाओ about:config (पता बार में दर्ज करें)
  2. सेट xpinstall.signatures.required false करने के लिए।

https://wiki.mozilla.org/Addons/Extension_Signing पर अधिक

उपर्युक्त उत्तर को पूरा करने के लिए, मुझे फ़ायरफ़ॉक्स-एटोकॉन्फ़िग का पता चलता है, जिसमें <FIREFOX INSTALLATION DIR>/default/prefs ci.clg में एक autoconfig.js फ़ाइल और <FIREFOX INSTALLATION DIR>/default/prefs एक ci.clg फ़ाइल स्थापित करना शामिल है जो कि xpinstall.signatures.required अक्षम करने का एक तरीका है xpinstall.signatures.required (और अन्य विकल्प भी) निश्चित रूप से और स्वचालित रूप से जब फ़ायरफ़ॉक्स खोला जाता है (फ़ायरफ़ॉक्स 45.0.1 के साथ परीक्षण किया गया है)

आप 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); 

फ़ायरफ़ॉक्स 47 के रूप में: डेस्कटॉप के लिए रिलीज़ और बीटा संस्करण फ़ायरफ़ॉक्स के लिए अहस्ताक्षरित एक्सटेंशन को स्थापित करने की अनुमति नहीं होगी, बिना ओवरराइड के

अधिक जानकारी के लिए एक्सटेंशन साइनिंग पर मोज़िला विकी पृष्ठ देखें।

फ़ायरफ़ॉक्स के रिलीज (सभी) संस्करणों में ऐड-ऑन साइनिंग चेक को अक्षम करें

इस ब्लॉग पोस्ट में मजबूर एड-ऑन हस्ताक्षर जांच को अक्षम करने के लिए मुझे शुरू में यह समाधान मिला, जो इस उत्तर में कुछ हद तक संशोधित कोड के लिए मूल स्रोत है। इन परिवर्तनों को आप फ़ायरफ़ॉक्स वितरण का उपयोग करके अहस्ताक्षरित ऐड-ऑन को प्रोफाइल में स्थापित करने की अनुमति देगा। अधिकांश लोगों के लिए, यह आपकी मुख्य फ़ायरफ़ॉक्स स्थापना होगी। हालांकि, अगर आपने एकाधिक संस्करण स्थापित किए हैं, तो आपको प्रत्येक अधिष्ठापन में यह संशोधन करना होगा। हालांकि, एक बार जब आप संशोधन करते हैं, तो वे सामान्य फ़ायरफ़ॉक्स अपडेट के माध्यम से रहेंगे।

आपको फ़ायरफ़ॉक्स स्थापना निर्देशिका के अंदर कुछ फाइलें जोड़नी होगी। आप मोज़िलाज़न पर विंडोज, लिनक्स, और मैक ओएस के लिए इंस्टॉलेशन निर्देशिका उदाहरण की एक सूची पा सकते हैं। सबसे आम स्थापित निर्देशिका हैं:

  • विंडोज
    • सी: \ प्रोग्राम फ़ाइलें \ मोज़िला फ़ायरफ़ॉक्स \
    • सी: \ प्रोग्राम फ़ाइलें (x 86) \ मोज़िला फ़ायरफ़ॉक्स \
  • लिनक्स
    • / Usr / lib / firefox- <version>
  • OSX
    • /Applications/Firefox.app

पहली फ़ाइल जोड़ें

फिर आपको नीचे <Install directory>/defaults/pref/disable-add-on-signing-prefs.js (विंडोज: <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"); 

दूसरी फ़ाइल जोड़ें

आपको नीचे दिए गए कोड को फाइल के रूप में जोड़ना होगा <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()"); 

परिणाम

फ़ायरफ़ॉक्स के वर्तमान रिलीज़ संस्करण के साथ, मैं थोड़ी देर के लिए इस समाधान का उपयोग कर रहा हूं, मेरे खुद के इस्तेमाल के लिए कुछ एक्सटेंशन स्थापित किए गए हैं और मैं उन एक्सटेंशनों के नए संस्करणों का परीक्षण कर रहा हूं जिन पर मैं काम कर रहा हूं (जब मैं परीक्षण करना चाहता हूं रिलीज़ संस्करण के बजाय फ़ायरफ़ॉक्स डेवलपर संस्करण या रात )

नोट: इसके about:addons फ़ायरफ़ॉक्स ऐड-ऑन (कुछ परिस्थितियों में) सक्षम (ग्रिड-आउट नहीं) के रूप में दिखा सकता है , लेकिन पाठ में कहा गया है कि ऐड-ऑन "सत्यापित नहीं किया जा सकता है और अक्षम किया गया है"। पाठ सही नहीं है! ऐड-ऑन सक्षम और कार्य करना है

यह काम किस प्रकार करता है

resource://gre/modules/addons/XPIProvider.jsm भीतर resource://gre/modules/addons/XPIProvider.jsm const SIGNED_TYPES को एक Set रूप में परिभाषित किया गया है साइन-इन की आवश्यकता के लिए एक ऐड-ऑन के लिए, इसका प्रकार उस Set का सदस्य होना चाहिए। Set.prototype.clear() विधि Set से सभी प्रविष्टियों को रिक्त करने के लिए उपयोग किया जाता है यह कोई ऐड-ऑन प्रकार नहीं है, जिस पर हस्ताक्षर करने की आवश्यकता है ( कोड 1 , कोड 2 )।

यदि आप चाहें, तो आप किसी भी प्रकार के हस्ताक्षर चेक को व्यक्तिगत रूप से अक्षम कर सकते हैं: "webextension" , "extension" , "experiment" , या "apiextension"

किसी भी संशोधित एक्सटेंशन से मेटा- INF निर्देशिका निकालें

उपरोक्त अनुभागों में अतिरिक्त फ़ाइलें एक्सटेंशन को हस्ताक्षरित होने की आवश्यकता को बंद कर देते हैं अगर हस्ताक्षर फाइल मौजूद हैं, तो हस्ताक्षर अभी भी सत्यापित हो जाएगा। इस प्रकार, यदि आपने उस एक्सटेंशन से एक एक्सटेंशन को संशोधित किया है जो गाना गया था और हस्ताक्षर फ़ाइलों को नहीं निकाला है, तो एक्सटेंशन हस्ताक्षर सत्यापन विफल करेगा। दूसरे शब्दों में, वास्तव में किसी भी मौजूदा हस्ताक्षर की जांच की आवश्यकता से एक अलग कदम है कि हस्ताक्षर मौजूद होना चाहिए।

यदि आपने एक एक्सटेंशन संशोधित किया है जिस पर हस्ताक्षर किए गए थे (आप यह बता सकते हैं कि यह एक्सटेंशन की रूट निर्देशिका में मेटा-आईएनएफ़ निर्देशिका के अस्तित्व के द्वारा हस्ताक्षरित किया गया है), तो आपको हस्ताक्षर फ़ाइलों को हटाने की आवश्यकता होगी। आप इसे एमईटीए-आईएनएफ़ निर्देशिका और उस निर्देशिका में निहित सभी फाइलों को निकालकर ऐसा कर सकते हैं।


1. ब्लॉग में कोड इस कॉल को एक try{}catch(){} ब्लॉक में डालता है वास्तव में ऐसा करने की कोई ज़रूरत नहीं है एकमात्र प्रभावशाली बात यह है कि ब्राउज़र कंसोल ( CtrlShiftJ , या सीएमडीशिफ्टजे OSX पर) की रिपोर्ट से होने वाली किसी भी त्रुटि को रोकता है। यदि ऐसा विफल हो जाता है तो कोई अतिरिक्त कोड चलाया जाना अपेक्षित है। इसके अलावा, मैं ब्राउज़र कंसोल में त्रुटि देखने में सक्षम होना पसंद करता हूं अगर यह पता करने में विफल हो जाता है कि वास्तव में, असफल रहा है। try{}catch(){} नहीं try{}catch(){} पास कोई नकारात्मक प्रभाव नहीं है और समस्या को ट्रैक करने परमिट की अनुमति नहीं है, अगर फ़ायरफ़ॉक्स के कुछ भविष्य के संस्करण पर, ऐड-ऑन को हस्ताक्षर नहीं किए जाने के कारण निष्क्रिय किया जा रहा है।

@ मक्केन का समाधान काम करता है लेकिन हस्ताक्षर जांच पूरी तरह से अक्षम कर देगा:

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

आपके पास इस बारे में जानकारी नहीं होगी कि क्या addon हस्ताक्षरित है।

इसके बजाय मैं यह सुझाव देता हूं:

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

यह अभी भी आपको चेतावनी देगा जब आप एक अहस्ताक्षरित addon स्थापित करने का प्रयास करेंगे लेकिन यह वैसे भी काम करेगा। एडऑन को निष्क्रिय करने के about:addons में के रूप में चिह्नित किया गया about:addons लेकिन वास्तव में सक्रिय है (आप सामान्य ऐडियन की तरह मैन्युअल रूप से इसे अक्षम / सक्षम कर सकते हैं)

यह काम किस प्रकार करता है:

  • mustSign() जांच करता है कि इस प्रकार के mustSign() लिए हस्ताक्षर आवश्यक है या नहीं।

  • verifySignatures() एक कॉलबैक है जो हर XPI_SIGNATURE_CHECK_PERIOD सेकंड (अर्थात् प्रति दिन एक बार)