allo- / ffprofile

A tool to create firefox profiles with personalized defaults.
GNU Affero General Public License v3.0
755 stars 56 forks source link
django firefox privacy security

Firefox Profilemaker

The Firefox profile maker is a web application for creating Firefox profiles with preconfigured defaults. The focus lies on privacy and removing unnecessary features. It disables intrusive features like telemetry, allows disabling web features that may be used for fingerprinting the browser, and contains some additional options for controversial features like Pocket.

If you are just looking to create a profile, you can find the service running this code at ffprofile.com. This repository contains the code to run your own instance, i.e., to add your own settings to it or simply so you don't have to trust the website but can generate your profile locally.

The project and website are not affiliated with or endorsed by Mozilla.

Installation

The project uses python Django. For running it locally, the Django test server should be sufficient. The project doesn't use database features, but it requires the session framework, which uses, depending on the configuration, a database backend. Using the simple SQLite database is sufficient.

After creating a Django project and adding the app, one needs to provide the Firefox addons that will be included in profiles as XPI files in a extensions folder at the path from where you run the project. The Extensions need to be named like in their install.rdf / manifest.json file because otherwise Firefox won't install them.

The current URLs and names are:

About the project

The project aims to provide a way to create a profile with privacy defaults, but instead of importing a long user.js file without knowing what the options do, every option should have a short description, and the users should be able to understand why they would want to enable or disable the option and what are the possible side effects. There is no one-size-fits-all, so the tool aims to provide a wizard to create a personalized profile.

Keeping it simple enough implies that it cannot contain everything. If there are too many options, people will not have the time to read every description and weigh the cost and benefits. So I try to keep the project focused on the relevant privacy options.

Some things we currently do not include are:

This should not prevent you from creating such settings. There is already basic support for profiles, and it is planned to add a function to choose multiple profiles, e.g., security, privacy, classic ui or similar combinations. When it is implemented, such settings can be included in secondary profiles.

The bug tracker contains some infrastructure issues for these things and some issues tagged as other profile? which may be implemented sometime.

You're also welcome to add the options in an own fork. That's one of the reasons why the project is provided as open source. I may then pick up some of the options you implement at a later point in time.