How to install or use unsigned extensions in newer versions of Firefox

The Problem

Recently Mozilla made a change to Firefox so that, as of version 48, all extensions (add-ons) must be signed in order to be installed or used.

I discovered this after updating from Firefox v40 to v50 and having literally all of my extensions disabled, with the very helpful message “[This extension] could not be verified for use in Firefox and has been disabled”.

What’s worse is that there is absolutely no option to over-ride this behavior, even for advanced users. Another case of “Mozilla knows best”, of course, and another nail in the coffin of user choice.

To use unsigned addons, Mozilla says you should use a Firefox developer version (“Nightly”), an Extended Support Release (ESR) or their “unbranded” browser which has an ugly black icon and no name.

All of these are, of course, unacceptably inflexible solutions which act as a giant middle finger to the user. But there is a way you can continue to use the branded version of Firefox while still using any unsigned addons.

The Solution

Firstly, with thanks to a post by user chaser__ on Reddit, do the following:
1. Browse to about:config and set the following preferences to false:

xpinstall.signatures.required
xpinstall.whitelist.required

2. Open your Firefox program folder (%programfiles%/Mozilla Firefox) and create a file called config.js with the following content (including leading comment line (“//”)):

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

3. From the same folder, open defaults/pref and create a file called config-prefs.js:

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

4. Now close and restart Firefox and you will be able to install unsigned addons.

If you have a number of existing unsigned addons you’d like to continue using, then you can either manually reinstall them or see our post on How to re-enable unsigned addons in Firefox 50 without reinstalling them manually.

How to change Firefox bookmark icons (favicons) without extensions or addons!

Now that the Bookmark Favicon Changer extension for Firefox no longer works, you need an alternative way to customize the favicons of your bookmark items. And here it is!

1

1. Open up Firefox’s behind-the-scenes “profile” folder on your computer. On Windows 7/8, this is located at:

C:\Users\Your_Username\AppData\Roaming\Mozilla\Firefox\Profiles\Your_Profile_Folder

2. In that folder, create a new directory called “chrome”, if it doesn’t already exist.

3. Inside the “chrome” folder, create a new file called “userChrome.css”.

4. Open up userChrome.css and paste the following CSS code:

/* First line of userChrome.css must be this: */
@namespace url("http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul");

/* Custom favicon for this bookmark */
.bookmark-item[label="BOOKMARK_NAME_HERE"] image {
    width:0!important;
    height:0!important;
    padding: 0 0 16px 16px !important;
    background:url(BASE_64_STRING_HERE)!important; 
}

2

5. In the above code, there’s a few things you have to to edit:

i) Replace “BOOKMARK_NAME_HERE” with the title of your bookmark as it appears on your bookmark bar (e.g. “Reddit”).
You must supply a label, even if you don’t want any label to appear – see below for how to make this happen.

ii) Replace “BASE_64_STRING_HERE” with a base64-encoded string of your desired favicon, which you can obtain by uploading the icon to a website like this one.

3

6. You must give your bookmark a label in step 5 for this to work – but if you don’t want your icon to have a label (text), just add some more code:

/* Hide the text of this bookmark */
.bookmark-item[label="BOOKMARK_NAME_HERE"] {
    margin-right: 0px !important;
    width: 22px !important;
}
.bookmark-item[label="BOOKMARK_NAME_HERE"] > .toolbarbutton-text {
    display: none !important;
}
.bookmark-item[label="BOOKMARK_NAME_HERE"] image {
    margin-left: 4px !important;
}

Remember to replace “BOOKMARK_NAME_HERE” with your (now invisible) bookmark label!

4

7. Save the file and restart Firefox.

5

Done.