See the revision history at the end of this document.
When 'free' software isn't
I suggest reading The Mozilla Monster as a primer.
Have you ever wondered how Mozilla gets paid by the privacy-hating mega-monopolies like Google? Simple; when you use the default search engine plugins that are packaged with the browser, parameters similar to these are added to your search query:
client=firefox name="appid" value="ff" name="hspart" value="mozilla"
These parameters inform the search engine that you're using a Firefox/Mozilla product and that's all it takes for Mozilla to rake in millions annually. From my point of view that wouldn't be a problem were Mozilla an ethical company, but in my view that is far from the truth. If you do not wish to support unethical companies like Google, or want to punish Mozilla for doing so (as well as many other stupid things) read on...
Types of search engines
The two primary types of search engines are meta search engines and search indexes and it is important to understand the difference. Google, Yahoo and Bing for example use software "robots" called "crawlers" to discover and index web content. In other words these companies actively seek out updated and fresh content to store in their databases so it's ready for you to find. On the other hand, meta search engines do not index the web and instead rely upon third parties such as Google and Bing to provide their search results. When you use these so-called "alternative" search engines, such as DuckDuckGo, Startpage, Searx, etc., you are still subject to the filter bubbles and censorship that is employed by the corporate giants. That said, privacy-respecting meta search engines still make sense since they offer a method to access the data-harvesting corporate giants without the privacy violations that accessing them directly would incur. Understand though that they are not true alternatives as they are often described, but rather proxies. These alternative search engines are also subject to local laws, such as secret surveillance requests issued by a government.
Indexing the web involves storing massive amounts of data which is an incredibly expensive proposition that requires significant resources and infrastructure and this is why the much smaller meta search companies like DuckDuckGo, Startpage, Qwant and others rely heavily upon corporations like Alphabet's Google and Microsoft's Bing. There are better alternatives that both respect your privacy and are censorship resistant however. Ever hear of a peer-to-peer distributed search engine? Imagine a free, open-source, decentralized search engine where the web index is created and distributed by ordinary people using personal computers, each storing a piece of the whole. This is what the developers behind YaCy have done with their search engine and i think it's a great way to escape the filter bubbles created by big tech, however YaCy is not yet a viable alternative.
For a list of alternative search engines, see Alternative Search Engines That Respect Your Privacy.
Adding search engines to Firefox
To mitigate potential risks to your anonymity posed by the default Firefox search engines, simply disable all of them and use alternatives. One easy way to add a search engine to Firefox is to find one you like and then right-click the address bar and click the "Add..." menu item. Most search engines can be added to Firefox in the same way, but there are additional methods also. The Mycroft Project hosts tens of thousands of preconfigured search engine plugins for a variety of web browsers, the top 100 of which are listed here. They also have a form for writing your own search plugins. Although it is not possible to review the code from the main listing of search plugins, you can use their submission form to do so by mousing over the plugin name to reveal its numeric ID, then filling in that ID in their submission form page.
Another easy way to add a custom search engine to Firefox is with the Search Engines Helper add-on by Soufiane Sakhi which offers a bit more control than the above method, including the ability to define the website icon path or base64 code (a binary-to-text encoding scheme that encodes the site icon in text form). The advantage of using a base64 encoded version of the site icon is that the browser won't have to fetch the icon from the server. A great on-line resource for converting an icon to base64 code is the Base64 Encoder utility which can accept the icon URL or an uploaded file.
Yet another way to add custom search engines to Firefox is by using the mozlz4-edit add-on by 'serj_kzv'. This slick extension allows you to edit the
search.json.mozlz4
search plugin file directly from within Firefox, though a browser restart is necessary before the changes are realized. This file is located in your Firefox profile directory and it is here that Firefox stores the code for all of its search engine plugins. If you use this tool, be careful not to touch the default search engines in the file, else all your changes will be lost. Instead you can create copies of the default engines and sanitize the copies.
Manually editing search.json.mozlz4
If you would rather avoid the hassle of manually editing the default Firefox search engine plugins, see the 'Pre-sanitized search plugins' section below where you can download my
search.json.mozlz4
file.
If you don't want to sanitize the default Firefox search engine plugins you should at least use something like the ClearURLs add-on or the ClearURLs for uBo list (requires uBlock Origin) which strips the tracking parameters from the search engine result links. You should also disable JavaScript for the search engine web page if possible. For this i would recommend uBlock Origin by Raymond Hill.
If you have already added custom search engines to Firefox, create a copy of
search.json.mozlz4
and work with the copy, reason being that if you mess up, Firefox will will delete all of your search plugins and restore only the default ones. If you don't want to see or use the default ones, simply disable them in the search preferences of Firefox rather than removing them from the plugin file. And no, as far as i know you cannot remove the default search engine plugins but disabling them should be every bit as good. If you don't know where your Firefox profile is located, load about:config in the address bar and you'll figure it out.
To edit the
search.json.mozlz4
file you first need to decompress it. There's at least a few utilities available that will handle this, but i might suggest using the mozlz4-edit Firefox add-on by 'serj_kzv' since it's easy to use and it provides a basic code editor with syntax highlighting. To sanitize the default search engine plugins that are packaged with Firefox, copy the entries and edit the copies. Be sure to give the copies a different name since no two plugins can share the same name.
Download pre-sanitized search plugins
If you'd rather avoid sanitizing the default search engine plugins, you can download a pre-sanitized copy of my personal
search.json.mozlz4
file that should work for Firefox version 57 and up ("up" meaning until the next time Mozilla decides to break everything again). The download contains the default engines which come with the U.S. English version of Firefox 98, plus the sanitized versions of them, plus a pile of additional search engines i personally use. All in all there's over 40 search engine plugins which you can then reorder or hide in your Firefox Search preferences.
Download: search.json.mozlz4.zip
Install: Backup your existing
search.json.mozlz4
file, then extract the the one from the archive to your Firefox profile directory and restart Firefox.
When you use the search engines you'll notice that all of the alternative search plugins are tagged as follows:
[index]
= search engines that actively crawl the web in order to build their own index. These engines are especially valuable in thwarting the censorship practiced by Google, Bing, DuckDuckGo, etc..
[hybrid]
= search engines which index their own content as well as relying upon 3rd parties, often Bing.
[special]
= special purpose search engines, such as those used to find satellite images or out of print books and those that cater to a specific websites like the Internet Archive.
Any engines which are not tagged are the default search engines, all of which you can/should disable in Firefox's preferences.
Removing Firefox system add-ons
In addition to search engine plugins, Mozilla also packages system add-ons with Firefox, installs them without your permission, and doesn't provide an easy way to remove or disable all of them. These system add-ons have been used for quite controversial purposes in the past. To remove them, see the 'System add-ons' section of the Firefox Configuration Guide for Privacy Freaks and Performance Buffs.
Resources
Special mention goes to 'Thorin-Oakenpants' (aka 'Pants') as well as the 'arkenfox' crew and their GitHub repository where they host an excellent privacy-centric user.js for Firefox and its derivatives, as well as an extensive Wiki full of valuable information.
Resources at 12bytes.org:
External resources:
- mozlz4-edit Firefox add-on by serj_kzv
- Measuring Search in Firefox | Firefox Data
- followonsearch/METRICS.md at master · mozilla/followonsearch · GitHub
- Firefox: How to remove all System Add-ons? | Techdows
- Addressing default search engine privacy · Issue #88 · arkenfox/user.js/arkenfox/user.js · GitHub
- list: Search Engines [for Wiki] · Issue #118 · arkenfox/user.js/arkenfox/user.js · GitHub
- OpenSearch
- Specifications/OpenSearch/1.1/Draft 5 - OpenSearch
- Creating OpenSearch plugins for Firefox
- Mycroft Project: Search Engine Plugins - Firefox IE Chrome
- The Ultimate Guide to the Google Search Parameters
- 5 Best Search Engines That Respect Your Privacy - BestVPN.com
- Duck Duck Go: Illusion of Privacy
- Neat URL :: Add-ons for Firefox
- User.js file - MozillaZine Knowledge Base
- Whoogle Search
Recent changes
21-Mar-2022
- added a link to the 'ClearURLs for uBo' filter list