Skip to content
GitLab
Projects Groups Topics Snippets
  • /
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in
  • T Team
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Issues 6
    • Issues 6
    • List
    • Boards
    • Service Desk
    • Milestones
  • Monitor
    • Monitor
    • Incidents
  • Analytics
    • Analytics
    • Value stream
  • Wiki
    • Wiki
  • Snippets
    • Snippets
  • Activity
  • Create a new issue
  • Issue Boards
Collapse sidebar

Admin message

GitLab has been upgraded GitLab 16, please report any issues!

  • The Tor Project
  • Applications
  • Team
  • Wiki
  • Development information
  • Codebases

Codebases · Changes

Page history
Create Development Information/Codebases authored Apr 07, 2022 by Pier Angelo Vendrame's avatar Pier Angelo Vendrame
Hide whitespace changes
Inline Side-by-side
Development-Information/Codebases.md 0 → 100644
View page @ 1789c382
Like many large software projects, Tor Browser integrates many distinct codebases.
# Tor Browser
[Repository](https://gitlab.torproject.org/tpo/applications/tor-browser)
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.
# Torbutton
[Repository](https://gitlab.torproject.org/tpo/applications/torbutton)
Torbutton is the component in Tor Browser that takes care of application-level security and privacy concerns in Firefox.
It was born as a Firefox addon, but now it is a built-in extension.
# Tor Launcher
[Repository](https://gitlab.torproject.org/tpo/applications/tor-launcher)
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
[Repository](https://gitlab.torproject.org/tpo/applications/fenix)
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.
# Android Components
[Repository](https://gitlab.torproject.org/tpo/applications/android-components)
[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.
# Tor Android Service
[Repository](https://gitweb.torproject.org/tor-android-service.git/)
It is the Tor controller for Android.
# Tor Browser Build
[Repository](https://gitlab.torproject.org/tpo/applications/tor-browser-build)
It is the repository we use to create reproducible builds of Tor Browser for desktop and Android and manage all their dependencies.
It is based on [RBM (Reproducible Build System)](https://rbm.torproject.org/).
# Tor Browser Bundle Testsuite
[Repository](https://gitlab.torproject.org/tpo/applications/tor-browser-bundle-testsuite)
It contains a test suite for Tor Browser.
\ No newline at end of file
Clone repository
  • Design Documents
    • Bridge URI RFC
  • Development Information
    • Codebases
    • Tor Browser
      • Building
  • Legacy Wiki
    • TeamMeetingTorSummer2016Meeting
    • TorBrowserAndroid
      • Roadmap
  • Previous Priorities
  • Previous Roadmaps
  • Team Meeting Priorities 2023
  • Tor Friendly Applications Best Practices
  • Home