Firefox Extensions - My Picks

Firefox Extensions

Mozilla Firefox is a popular, extensible, open source (mostly) web browser that is highly configurable and easy to use. Somewhat bare out of the box however, its functionality is easily extended with free add-ons, or 'extensions', of which there are many thousands in the Mozilla add-on repository at addons.mozilla.org (AMO).

Beware

With so many "free" add-ons you might be tempted to install lots of them, however i would strongly suggest installing only those you really like or need since the potential to break things and compromise browser security and your privacy increases with every add-on you install.

The Dangers of Browser Extensions

AMO Malware
A typical day at the Mozilla Firefox Add-ons repository, 2019.

Another problem is unethical extension developers who include unwanted and unnecessary functionality which is not relevant to the primary purpose of the add-on. Often this results in data collection, tracking your web activities, injecting unwanted content in pages, such as ads, or worse, all of which i categorize as malware.

The problem of malware at AMO has grown exponentially as a result of a very flawed automated review process for add-ons and the company's move to the WebExtension API which made it easy for unethical developers who have infected the Google Chrome Store with their garbage to port their add-ons to Firefox. Indeed, probably at least half of the add-ons at AMO are sketchy. Although the Web Extensions API is greatly limited as opposed to the older XUL/XPCOM extension API, tracking, data collection and advertising are permitted and, on occasion, far more dangerous add-ons escape detection.

Add-on selection guidelines

You've been warned! Many extensions are accompanied by a warning on their AMO pages which indicates that the extension is not monitored by Mozilla and therefore is more risky to install. While monitored extensions -- those with a 'recommended' label -- are scrutinized more carefully and may be more trustworthy in general, many others are perfectly fine as long as you trust the developer and/or review the code yourself.

Tool-bar or FOOL-bar? Be very wary of tool-bar add-ons since many of these contain 3rd party spyware/malware components for monetization purposes.

Who the hell are you??? Always check to see what other add-ons the developer has created and how those are rated. Be wary when the developer is named as a company and not an individual, or when their name is anonymous, such as "Firefox user" followed by a random number. See what kind of content is on the developers website if they link to one and look for marketing hype or unethical activity. Also be wary of developers that make it difficult or impossible to contact them or submit bug reports.

The 0-day 'bonus'. Never install newly released add-ons from a developer whom you're not familiar with, especially if it's their only add-on. Mozilla uses a deeply flawed automated system to evaluate add-ons, so wait at least a few days until others have had a chance to review it or flag it for removal. If the add-on quickly disappears or gets poor reviews, be thankful you didn't take the bait.

When "free" isn't. Always check the software license and be wary of developers who use a restrictive license. Most ethical developers will use a liberal, free software license, such as the General Public License (GPL) or the Mozilla Public License (MPL).

'We care about your privacy' ... LOL. If an add-on has a privacy policy, read it and see what data the add-on may collect, where it's sent, and how it's used. In general, if the document is a wall of text (long), it's probably a poor privacy policy. One of the best privacy policies i've run across is that written by the developer for the Stylus add-on:

Unlike other similar extensions, we don't find you to be all that interesting. Your questionable browsing history should remain between you and the NSA. Stylus collects nothing. Period.

Yes it can/no it can't. The Mozilla add-on website lists the permissions that add-ons require, though there seems to be some problems at this time in that all permissions used by an add-on may not be listed, or permissions which the add-on does not use may be listed, so don't trust this completely. That said, look for permissions that seem unnecessary given the expected functionality of the add-on.

What's under the hood? In general it's best to avoid developers that attempt to hide their source code. Most ethical developers will publish their work on platforms like GitLab, GitHub or Codeberg where people can submit proper bug reports and feature requests. In such cases there is usually a homepage and/or support link on the add-on page, or a link somewhere in the add-on settings, menus, etc., that leads to the code repository. If the source code is not published, you can still view it by decompressing the add-on or by using the excellent Extension source viewer (CRX Viewer) add-on.

You should always check is the extensions manifest.json file and you don't have to be a geek to do so. Open the address about:debugging#/runtime/this-firefox in Firefox (or just remember the address about:about from where you will find the debugging page) and click on the 'Manifest URL' link for the extension you want to inspect. What you want to look for are any network links for unexpected addresses. For example, an add-on like Maximize All Windows (Minimalist Version) only modifies the behavior of Firefox, therefore there shouldn't be any remote addresses in the manifest. On the other hand, an add-on like uBlock Origin needs to communicate with every tab you open, as well as be able to download fresh filter lists and so on, and so its manifest contains http://*/*, https://*/*. and <all_urls>. Other add-ons may be dedicated to a single website, such as BitChute, and so bitchute.com should be the only remote address in the manifest. Also see the Extension source viewer add-on below.

He said, she said. Always read the user reviews to see how well an add-on is liked and be wary if it is rated 3 stars or less, or not rated at all, or was rated highly by only a few people. Sometimes a developer will be the first to "review" their add-on, giving it 5 stars. Regardless of the rating however, always check the comments of the people that gave it the lowest rating to see if their gripes seem legitimate (many aren't) and whether they were addressed. That said, there are many add-ons that have been rated very highly by hundreds or thousands of people that contain malware, so don't give too much weight to user ratings alone.

But everybody's using it! Many developers of hugely popular add-ons have been contacted by malware distributing 3rd parties wanting to buy their work or influence its development. Adblock Plus by Eyeo GmbH (Wladimir Palant) is used by millions of people, yet it is a glaring example of an unethical developer who created an "ad blocking" extension which allows ads by default. For larger entities, Eyeo GmbH charges advertisers 30% of the revenue from Adblock Plus users who click the ads, so not only does Adblock allow ads, it's also spying on its users. Giorgio Maone, the developer of the hugely popular NoScript add-on, engaged in similar chicanery a while back.

Should i or shouldn't i? If you're not sure whether you'll like an add-on, test it by downloading the .xpi file, then opening about:debugging#/runtime/this-firefox in Firefox and clicking the 'Load Temporary Add-on' button.

Automatic update MALWARE install. Automatic checking for add-on updates is fine, but always disable automatic installation of updated add-ons. Before updating an add-on, read the version history to see what has changed and make sure the privacy policy, if there is one, remains strong. The problem with automatic add-on updates is that a developer may decide to monetize their work at any time and without warning, or sell their extension to an unethical party such as the developer of Stylish apparently did. Ingo Wennemaring, the much-liked developer of the once popular All-in-One Sidebar add-on, warned about this in a blog post:

It was always very important for me to be honest and fair to the users. I had very good offers to sell the extension, but I didn't want to see that AiOS turn into adware or spyware.

Have I got a DEAL FOR YOU! I would strongly suggest avoiding any add-on that asks for or requires personal information or other data which could be used to identify, track, or profile you, or which could be monetized in any way. Such extensions include, but are not limited to, those which promote coupons, discounts and free services, certain automatic form fillers, any add-on which store data remotely such as many password, bookmark and synchronization add-ons, cryptocurrency, banking and other financial related add-ons, website/service specific add-ons marketed by corporations and many VPN (Virtual Private Network) add-ons.

Hide and seek. Regarding VPN add-ons, there are 172 of them at the time of this writing and most of them are highly suspect, yet millions of clueless people use them. Furthermore, a VPN add-on for a web browser may protect only browser traffic while leaving all other network traffic unprotected, such as email and, potentially, DNS look-ups. If you want to use a VPN, and i would certainly recommend considering it, it should be incorporated at the system level or, even better, at the router level.

Add-ons

ClearURLs by Kevin R. [privacy/security]

ClearURLs automatically removes tracking parameters from clicked hyperlinks. This add-on is not needed if using uBlock Origin with the ClearURLs for uBo filter list (see the suggested settings for uBlock Origin page for more information).

Dark Background and Light Text by Mikhail Khvoinitsky [enhancement]

Dark Background and Light Text replaces Dark Reader as my preferred add-on for darkening the entire web. These 'darkify' add-ons, of which there are many, change the colors used by all websites to a darker theme and this one seems to be the best of those i have tested and i've tested many.

Caveats: All of these 'dark web' add-ons fail miserably in some cases and this one is no exception, however it seems to work better overall than all of the others i've tested and it does offer a few different styles that can be assigned to specific websites when the default style fails. Due to a shortcoming in the code, this add-on cannot be disabled for local content, such as paths beginning with file://.

Disable WebRTC by Chris Antaki [privacy]

Disable WebRTC adds a toolbar button to conveniently toggle several media.peerconnection.* preferences. Disabling WebRTC (Real-Time Communication over the web) is important for privacy reasons when using a proxy or VPN.

Enforce Browser Fonts by Jayesh Bhoot [enhancement]

Enforce Browser Fonts allows one to choose whether to use the fonts specified by the website, or those that you have defined in Firefox preferences (Language and Appearance). Personally i hate when websites override my personal font choices and this extension takes care of that. Enforce Browser Fonts defaults to enabled and will remember the websites for which you disable it.

Caveats: For the privacy minded who enable privacy.resistFingerprinting, forcing the use of your preferred fonts will increase the likelihood of your browser being uniquely identified. It can also uglify some websites.

Extension source viewer by Rob W [enhancement]

Extension source viewer is a handy and well thought out utility to quickly view the source code of a Firefox extension right from the Mozilla add-ons website without having to download and unpack it manually. The extension has the ability to search the contents of the files in the source code by prefixing the search with '!'.

Caveats: For advanced users.

Flagfox by Dave G [enhancement]

Flagfox is a neat utility that adds an icon to the address bar which represents the flag of the country in which the web server is located. When the icon is right-clicked, a context menu is revealed with many more tools, such as a WHOIS lookup, URL shortening services and more. You can also add your own services.

Caveats: If you choose to display the menu icons, they are not stored locally and have to be fetched the first time you open the menu which some might see as a privacy issue.

Format Link by Hiroaki Nakamura [enhancement]

Format Link offers flexible solutions for copying content and formatting it in different ways, such as HTML, markdown, plain text, , etc., before pasting it somewhere.. I don't like it as much as Link Text and Location Copier, however that add-on is unmaintained and buggy.

Caveats: Format Link is a little buggy and needs some attention, but it's still a better solution than Link Text and Location Copier. If you have trouble copying content, try pausing for just a second after initiating Format Link. I've found that if you switch tabs too soon, the content may not be placed on the clipboard.

LibRedirect by alefvanoon, ManeraKai [privacy]

LibRedirect redirects many websites, such as YouTube, Twitter, Instagram, Reddit, TikTok, etc., to alternative front-ends that are more respective of user privacy. While there are many such add-ons, LibRedirect is perhaps the best of them due to its many configuration options, its ability to automatically switch instances when a service is not responding, update the list of instances, add your own instances, etc..

Caveats: While most/all alternative front-ends are built with free, open source software and are more respective of user privacy, it is possible that those running the service may have modified the code to act in a malicious manner. Many/most of these alternative front-ends will work without enabling JavaScript however.

List Feeds by igorlogius [enhancement]

List Feeds detects news feeds (RSS, ATOM, etc.). Some time ago the M&Ms (Morons at Mozilla, corporate) decided to strip all support for detecting and reading news feeds at a crucial time when news feeds were never more important. Their excuse for doing so was a lack of money and user interest, however there is little doubt in my mind that this was done in order to sway people to get their news from "trusted" sources rather than independent journalists. List Feeds essentially restores and enhances the feed detection capability which Mozilla removed. Also see: How to access RSS feeds for websites that don't advertise one.

LocalCDN by nobody42 [privacy/security]

LocalCDN, a fork of Decentraleyes, can increase privacy and decrease page load time for many websites which depend on 3rd party Content Delivery Networks (CDNs). It accomplishes this by storing and loading several common JavaScript and font libraries locally instead of having to fetch them from the server.

From a privacy point of view, LocalCDN is not strictly needed if using the 'arkenfox' user.js or appropriate settings.

Caveats: Can break some websites, though this seems to happen very rarely in my experience. There are 'Filter HTML source code' and whitelist options to address such problems.

Mark-It by Matt [enhancement]

UPDATE: This extension is no longer available. I'm currently searching for a viable replacement. If anyone has any ideas,please  leave a comment.

Mark-It is a simple, handy add-on that replaces your new tab page with one that allows you to write notes in markup format. I find this add-on to be really handy for storing commonly used bookmarks, notes and text that i paste frequently in forums and such.

You could play with the CSS i use to divide the page into two columns for less wasted space, plus make some other changes. You'll need to open about:debugging#/runtime/this-firefox and replace <Internal UUID> in the first line with the the Internal UUID for Mark-It. If the CSS doesn't load, be sure toolkit.legacyUserProfileCustomizations.stylesheets is set to true in about:config:

Click to expand...
@-moz-document url("moz-extension://<Internal UUID>/newTab/newTab.html") {
    /* display notes */
    html.dark, body.dark, textarea.dark {
        background-color: #252525 !important;
        color: #c8c8c8 !important;
    }

    #markdownTarget {
        width: 90% !important;
        padding-left: 1% !important;
        padding-right: 1% !important;
        font-family: unset !important;
        font-size: unset !important;
    }

    a {
        color: #97ff8d !important;
        text-decoration: none !important;
    }

    code {
        background-color: #000 !important;
        color: #ffa93b;
    }

    ul, ol {
        padding: 0 !important;
        margin-left: 20px !important;
    }

    #changeModeButton {
        background-color: #929292 !important;
        left: unset !important;
        font-family: unset !important;
        right: 33px !important;
        bottom: 90px !important;
    }

    #savingIndicator {
        bottom: 0px !important;
        left: unset !important;
        right: 0px !important;
    }

    /*columns*/
    .left {
        display: block;
        float: left;
        width: 49%;
    }
    .right {
        display: block;
        float: right;
        width: 49%;
    }

    /* edit notes */
    textarea {
        width: 90% !important;
        padding-left: 5% !important;
        padding-right: 5% !important;
        font-size: unset !important;
        font-family: unset !important;
    }
}

mozlz4-edit by Siarhei Kuzeyeu [enhancement]

mozlz4-edit allows one to edit, format and otherwise manipulate several types of compressed files including the search.json.mozlz4 file which is where Firefox stores all of its search engine plugins. If this is too much for you, try the Search Engines Helper add-on below.

Caveats: For advanced users.

Privacy-Oriented Origin Policy by claustromaniac [privacy/security]

Privacy Oriented Origin Policy (POOP) helps protect your privacy by preventing Firefox from sending Origin headers, though how it works is configurable.

Caveats: For advanced users. May break some websites, though it is easily disabled and sites can be whitelisted. There is a lengthy discussion about what led to the development of this add-on on GitHub if you're interested.

Redirector by Einar Egilsson [enhancement]

Redirector automatically redirects selected pages, links and more to another resource of your choosing. For some examples of how you can use Redirector, see the Redirecting this to that section of the Firefox Tweaks and Fixes and Styles and Things page.

Reverse Image Search by Andreas Bielawski [enhancement]

Reverse Image Search is a privacy friendly add-on used to find different versions of a given image using 3rd party services such as TinEye. Reverse image searching is a great way to find higher resolution versions of an image or to find when an image may have first been published to the web, the latter of which can be beneficial for researchers. Reverse Image Search also allows to add custom services to its menu.

Scroll Up Folder by Bruce Bujon [enhancement]

Scroll Up Folder adds an icon in the address bar that, when clicked, opens a list of the segments of the current document address. Clicking the list items makes it really easy to navigate up to a higher level of the address without having to manually edit it.

Search Engines Helper by Soufiane Sakhi [enhancement]

Search Engines Helper makes it really easy to add, import and export custom search engines for Firefox. It also allows using base64 code (data URLs) for the site icons.

Skip Redirect by Sebastian Blask [privacy]

Redirects sometimes happen when you click on a hyperlink expecting to go directly to the destination and, instead, your request is passed through an intermediary. Redirects are often used to track your browsing history or display ads before you are forwarded to the target domain. Skip Redirect simply tries to bypass this annoying behavior. I would suggest keeping the notification enabled when Skip Redirect does its thing as this makes it easy to troubleshoot a problem.

Caveats: May break the functionality of some websites in which case they can be added to a whitelist.

Smart RSS Reader by zakius [enhancement]

Smart RSS Reader is a well-rounded, multi-pane news feed reader and a pretty good one at that. There are a few little niggles with it, but overall it functions very well and the developer is friendly and open to suggestions. If you subscribe to multiple feed from the same domain, i might suggest setting the "Concurrent downloads:" preference to "1" in order to potentially prevent problems retrieving feeds.

While there is no dark theme option for Smart RSS, it does have an option to add your own CSS. Here's my CSS for a dark theme if you wish to use it. This works for the vertical 3-pane layout:

Smart RSS Reader dark theme
/*
 * Smart RSS Reader - dark theme for 3-pane layout |feeds|titles|content| (30-DEC-2020)
 */

/*
 * GLOBAL
 */
html, body {
    color: lightgray;
    background: #2f2f2f;
}
.context-menu {
    background: black;
}
.region:not(.focused) .selected {
    background: black;
}
a {
    color: lightgreen;
}
#properties {
    background: black !important;
}
#properties input, #properties select {
    background: #67ff91 !important;
}

/* 
 * TOP TOOLBAR
 */
.toolbar {
    background: lightgreen;
}
.toolbar > .button {
    border: 1px solid #2f2f2f;
}
.input-search {
    background: black;
    color: white;
}
input[type="search"] {
    max-width: 260px;
    width: 260px;
    border: unset;
}

/*
 * FEEDS PANE
 */
.has-unread .source-title {
    font-weight: unset;
}
.source-title {
    font-size: unset;
}
.source-counter {
    color: black;
    background: lightgreen;
}
.sources-list-item {
    font-size: unset;    
}
.sources-list-item.selected:hover .source-title {
    color: white;
}
#indicator-progress {
    background: black !important;
}
#indicator-stop {
    background-color: red !important;
}

/*
 * TITLES PANE
 */
 .date-group {
    background: black;
}
.item-title {
    font-size: unset;
}
.full-headline > .item-title {
    white-space: break-spaces !important;
    overflow: hidden;
}
#article-list > .unvisited, .unvisited .articles-list-item-author {
    color: lightgray;
}
#article-list > .unread {
    font-weight: normal;
    color: lightgreen;
}
#article-list > .region:not(.focused) .selected {
    background: #2f2f2f;
    border-bottom-color: unset;
}
#article-list > .selected * {
    color: lightgray;
}
#article-list .item-author {
    color: darkgray;
    font-weight: normal;
}
#article-list .item-date {
    color: darkgray;
}

/*
 * CONTENT PANE
 */
#content h1 {
    color: #fdfdfd;
    font-size: 1rem;
    max-height: unset;
}
#content > header p {
    color: darkgray;
    padding-bottom: 10px;
}
#content > header .pin-button {
    opacity: 1;
}
#smart-rss-article-body {
    color: #c1c1c1;
    background: #2f2f2f;
    font-family: unset;
    font-size: unset;
    line-height:1.3;
}
#smart-rss-content > .more-link {
    color: lightgreen;
}
#smart-rss-content-footer {
    border-top: 2px dashed darkgray;
    margin-top: 20px;
}
#smart-rss-content-footer a {
    background: #2f2f2f;
}

Stylus by Armin Sebastian [enhancement]

Stylus is used to write, store and inject custom CSS styles into websites, or even the entire web if you wish. Though you can use FireMonkey for this, working with Stylus is so much nicer. Note: Do not use Stylish, a similar add-on which the developer sold to an unethical party.

Caveats: For advanced users that have at least a basic knowledge of CSS.

uBlock Origin by Raymond Hill [privacy/security]

uBlock Origin is a superior content filter (or firewall, if you like) that can replace several other content/ad blockers including Adblock Plus/Edge, NoScript, etc.. It is capable of using the same filter lists as Adblock Plus/Edge as well as many more that they cannot. Two of the most welcome differences with uBlock Origin is that it does not slow page loading to any noticeable degree and it uses less memory then the competition. Another major advantage is that it can block both 1st and 3rd party requests for images, scripts and frames when configured to use its advanced mode. See my Firefox Configuration Guide for Privacy Freaks and Performance Buffs article for more information regarding uBlock Origin. Lastly, use only uBlock Origin by Raymond Hill and not any other ripoff.

Caveats: For advanced users. As with any content filtering extension, uBlock Origin has the potential to break website functionality until it is configured correctly.

Web Archives by Armin Sebastian [enhancement]

Web Archives makes it easy to find archived version of webpages. It is fairly configurable, though it does not have an option to add your own archive resources, nor does it have an option to send a webpage to an archive, however i find the latter unnecessary since the archive sites i use allow you easily archive a page if one isn't isn't found.

Enabling add-ons for addons.mozilla.org

By default Firefox does not allow add-ons to run on https://addons.mozilla.org/. if you want to override this behavior you can add the the following preferences to your user.js file or your user-overrides.js file if you're using the 'arkenfox' user.js:

user_pref("privacy.resistFingerprinting.block_mozAddonManager", true);
user_pref("extensions.webextensions.restrictedDomains", "");

Troubleshooting add-on related issues

See Firefox Tweaks and Fixes and Styles and Things.

Listing removed add-ons

While i'm sure there's a more geeky way of listing extensions which one has removed, this one works for me: In your Firefox profile folder, navigate to /extensions/staged and there should be folders with the names of the removed extensions. You can delete this folder if you like.

Doing it without an add-on

The fewer add-ons you install, the better, and there's a lot you can do to customize Firefox without add-ons. See the Firefox Tweaks and Fixes and Styles and Things page.

Enhancing privacy and security

See: Firefox Configuration Guide for Privacy Freaks and Performance Buffs or The Firefox Privacy Guide For Dummies!

Giving back

If you like an add-on, or any other free and open source software, please donate to the developer. Trust me when i tell you that most developers of free software usually receive little or nothing for all the days/months/years of hard work they invest and the support they provide. Developers are usually very appreciative of a donation regardless of how small it may be.

Recent changes

9-Dec-2022

  • removed simple-modify-headers

110 thoughts on “Firefox Extensions - My Picks”

    1. hi Joey – i could upload the extension somewhere, but given that it was pulled from AMO for whatever reason, i might suggest finding another solution which is what i’m going to do

      if you search AMO for “markdown new tab page” you’ll find a few (more then a few if markdown isn’t a requirement), however i’m not really liking any of the ones i’m seeing so far for various reasons – your mileage may vary

      it used to be easy to set a custom file as a new tab page until the morons@mozilla.coporate decided it was a security issue (meanwhile you can download all the malware infested add-ons you want at AMO)

      you can still load a custom document on new tabs but some fooling around is required – one way is to run a local web server + an add-on that makes Firefox render markdown – i’m also looking at another solution but it depends on disabling sandboxing and i don’t know if that is browser-wide, or just for the autoconfig stuff – also it looks like the M@M’s may disable this feature too…

      * Firefox Linux: Get tabs to open with startpage
      * firefox.cfg no longer overwrite new tab content – solution. – r/firefox
      * mozilla.cfg not being applied in 62.0.2 version | Firefox for Enterprise Support Forum
      * Firefox – ArchWiki

Leave a Reply

Your email address will not be published. Required fields are marked *