Translation(s): English - Italiano - Русский - Español


Firefox

What is Firefox?

Firefox is a free and open-source web browser developed by the Mozilla Foundation.

From Debian Etch through Debian Jessie, Mozilla Firefox was not available in Debian with the official name or branding. Instead, a free-software fork named Iceweasel was provided. Starting in Debian Stretch, Mozilla Firefox is again available in Debian. See the article The end of the Iceweasel Age for a discussion of how the issue began and was eventually resolved.

Installing Firefox

Firefox ESR

On Debian Stable or Testing, you can install Firefox ESR by typing the following commands in your terminal :

apt update
apt install firefox-esr

Firefox Stable, Beta and Nightly

To install Firefox stable (or "rapid") on unstable:

apt update
apt install firefox

If you want to install Firefox Stable, Beta or Nightly on your Debian Stable, you can do it by following those steps.

  1. Download the Firefox version you want directly from the official website

    (Stable), Beta, Nightly).

  2. Uncompress the archives in the */opt* folder if you want to install it system-wide (you will need to have root privilege) or in your home folder if you only want to install it for your current user.
  3. Create a .desktop file named *firefox-stable.desktop* (replace *stable* with *beta* or *nightly*) in */usr/share/applications* if you want to install it system-wide (you will need to have root privilege) or in *.local/share/applications* if you only want to install it for your current user.

Creating a .desktop file for firefox

Here is an example of a .desktop file :

[Desktop Entry]
Name=Firefox ''Your version''
Comment=Web Browser
GenericName=Web Browser
X-GNOME-FullName=Firefox ''Your version'' Web Browser
Exec=/path/to/firefox/firefox %u
Terminal=false
X-MultipleArgs=false
Type=Application
Icon=/path/to/firefox/browser/chrome/icons/default/default128.png
Categories=Network;WebBrowser;
MimeType=text/html;text/xml;application/xhtml+xml;application/xml;application/vnd.mozilla.xul+xml;application/rss+xml;application/rdf+xml;image/gif;image/jpeg;image/png;x-scheme-handler/http;x-scheme-handler/https;
StartupWMClass=Firefox
StartupNotify=true

As you can see, you will need to change the name accordingly to the version of Firefox you want to install. You will also need to change the path to the executable and the icon. Optionally you can add a name, a comment, a Genericname and a X-GNOME-?FullName for an other language than english. To do so, you will need to add the country two letter code. between two square brackets right after the variable name (e.g. Comment[fr]=Navigateur Web).

If you want to be able to launch Firefox from the command line, you need to create a symlink to the firefox executable in some folder that is included in your PATH variable, such as /usr/local/bin. For example, if you uncompressed the downloaded archive in /opt, you would do it like this:

sudo ln -s /opt/firefox/firefox /usr/local/bin/

If you want to use your manually installed Firefox as the chosen alternative (see DebianAlternatives) for x-www-browser, you can do this as follows:

sudo update-alternatives --install /usr/bin/x-www-browser x-www-browser /opt/firefox/firefox 200
sudo update-alternatives --set x-www-browser /opt/firefox/firefox

Using flatpak

Unofficial builds are provided by Fedora at https://firefox-flatpak.mojefedora.cz/

sudo apt install flatpak
sudo flatpak remote-add --from gnome https://sdk.gnome.org/gnome.flatpakrepo
sudo flatpak remote-add --from org.mozilla.FirefoxRepo https://firefox-flatpak.mojefedora.cz/org.mozilla.FirefoxRepo.flatpakrepo

Then for "developer edition" (aka "beta"):

flatpak install org.mozilla.FirefoxRepo org.mozilla.FirefoxDevEdition

and running:

flatpak run org.mozilla.FirefoxRepo org.mozilla.FirefoxNightly

For "nightlies" (aka "alpha"):

flatpak install org.mozilla.FirefoxRepo org.mozilla.FirefoxNightly

And running:

flatpak run org.mozilla.FirefoxRepo org.mozilla.FirefoxNightly

There are no stable builds for Firefox in Flatpak yet, see this bug report for details.

Using snap

Mozilla provides an official Snap package for Firefox:

sudo apt install snapd
sudo snap install firefox
snap run firefox

Several Firefox Versions

Note: Debian (...,8=jessie,9=stretch) delivers an own password manager and syncs it _NOT_ with the default Firefox implementation.

When using several installations keep in mind that all passwords do not exists for the other Firefox Versions. (Hacks are possible for some Versions. E.g: Symlinks to the master password files if the software stucture hasn't changed!)

When using *.desktop files to start a different version you need to extend your profiles.ini and extend the .desktop file to get it work.

Example of a $HOME/.mozilla/firefox/profiles.ini file eg using also Firefox 39.0.0 (Downloaded and extracted in: $HOME/.mozilla/firefox/firefox-39-0-0.ext) :

[General]
StartWithLastProfile=1

[Profile0]
Name=default
IsRelative=1
Path=a1b2c3d4e5f6.default
Default=1

[Profile1] 
Name=39-0-0
IsRelative=1 
Path=firefox-39-0-0.ext

Example of a .desktop file for the 39.0.0 Version :

[Desktop Entry]
Name=Firefox '39.0.0'
Comment=Web Browser
GenericName=Web Browser
X-GNOME-FullName=Firefox '39.0.0' Web Browser
Exec=/home/YOUR-USERNAME/.mozilla/firefox/firefox-39-0-0.ext/firefox -P 39-0-0 --new-instance %u
Terminal=false
X-MultipleArgs=false
Type=Application
Icon=/home/YOUR-USERNAME/.mozilla/firefox/firefox-39-0-0.ext/your-icon.png
Categories=Network;WebBrowser;
MimeType=text/html;text/xml;application/xhtml+xml;application/xml;application/vnd.mozilla.xul+xml;application/rss+xml;application/rdf+xml;image/gif;image/jpeg;image/png;x-scheme-handler/http;x-scheme-handler/https;
StartupWMClass=Firefox
StartupNotify=true

The secrets are:

    The shell arguments of each Firefox installation to be veryfied first and to be set to the desktop file.
    After starting a different version the very first time: Yo must disable the automated update to keep the selected version (Even with security holes of that version).

Automatic connections

Firefox makes a number of automated connections to Mozilla's (and other's) servers without explicitly asking the user for approval. Mozilla documents that list in the How to stop Firefox from making automatic connections page. Here is a table of the above parameters and how Debian diverges from the upstream default:

Feature

Parameter

Mozilla

Debian

Auto-update checking

app.update.enabled

true

false

Auto-update search engines

browser.search.update

true

true

Blocklist updating

extensions.blocklist.enabled

true

true

Anti-phishing and malware protection lists

browser.safebrowsing.downloads.remote.enabled

true

true

Tracking protection

privacy.trackingprotection.enabled

false

false

Secure website certificates (OCSP)

security.OCSP.enabled

1

1

Link prefetching

network.prefetch-next

true

true

DNS prefetching

network.dns.disablePrefetch

false (means enabled)

false

Speculative pre-connections

network.http.speculative-parallel-limit

6

0

Add-on list prefetching

N/A (can't be turned off)

enabled

enabled

Extensions update check

extensions.update.enabled

true

true

Live Bookmarks updating

N/A (user-enabled)

none by default

none by default

Downloads restarted

N/A (user-enabled)

N/A

N/A

Search plugin icon loading

?

?

?

Firefox Sync

? (needs user to opt-in)

N/A

N/A

Snippets

browser.aboutHomeSnippets.updateUrl

enabled

enabled

Geolocation for default search engine

browser.search.geoip.url

enabled

enabled

"What's new" page

browser.startup.homepage_override.mstone

enabled

enabled

Add-on metadata updating

extensions.getAddons.cache.enabled

enabled

enabled

Telemetry

browser.selfsupport.url

N/A?

N/A?

Telemetry

toolkit.telemetry.enabled

false in releases, true in nightly

false? there are other parameters

Telemetry coverage

toolkit.telemetry.coverage.opt-out

not present (means enabled)

not present

?OpenH264 plugin download

media.gmp-gmpopenh264.enabled

true

false

WebRTC

multiple

enabled

enabled?

Send Video To Device

browser.casting.enabled

false

N/A?

Captive portal detection

network.captive-portal-service.enabled

true

true

Loopback connection

can't be disabled

disabled on Linux

disabled

The above list may be out of date. It was created on 2018-09-23 from the upstream page by looking at an empty profile on Firefox ESR 60.2.1esr-1.

Mozilla's documentation itself may be missing some parameters as well.

A machine-readable version of the above can be copy-pasted at will in your user.js from Anarcat's firefox-tmp script.

?TorBowser does something similar and we should look at their user.js to see if there's anything relevant here. Alternatively, one can just directly use TorBrowser instead, of course.

See also