Tor Browser is based on Firefox, and this repository contains our fork of Mozilla's [mozilla-central](https://hg.mozilla.org/mozilla-central/).
From this code, we build both Tor Browser for desktop (TBB, Tor Browser Bundle) and [GeckoView](https://mozilla.github.io/geckoview/), which is the rendering engine for Tor Browser for Android (TBA).
Every time a new Firefox version is released, we create four new branches on this project, then we reapply our patch set on top of it.
Therefore, the repository does not have a mainline, and we work concurrently on four branches:
1. Tor Browser stable for desktop
2. Tor Browser alpha for desktop
3. Geckoview stable
4. Geckoview alpha
While Mozilla keeps the codebase for Firefox and GeckoView united, we keep it separate for some reasons:
* desktop is based on the ESR channel, Android on the rapid release one;
* while many patches are the same, others are incompatible between the two platforms or are implemented differently because of architectural differences.
Tor Launcher controls the Tor process underlying the browser networking.
It was born as an addon and also provided the network configuration UI. Now it is a built-in extension, and the configuration UI has been moved into the Tor Browser repository.
_Not to be confused with torbrowser-launcher, which is not an Application Team's project._
Fenix is the codename of Firefox for Android. This repository contains the code to build Tor Browser Android from the patched GeckoView and Android Components.
Like other repositories, it does not have a mainline. Each branch is a version released by Mozilla, with our patch set applied.
[Mozilla Android Components](https://mozac.org/) is a collection of independent, reusable Android library components to make it easier to build browsers and browser-like applications.
It is another of the pieces used to build TBA.
Like Fenix and GeckoView, each branch is a MozAC version, plus Tor Browser patches.