Skip to content

Phoenix is a suite of configurations & advanced modifications for Mozilla Firefox, designed to put the user first - with a focus on privacy, security, freedom, & usability.

License

Notifications You must be signed in to change notification settings

celenityy/Phoenix

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Phoenix

Phoenix is a suite of configurations & advanced modifications for Mozilla Firefox, designed to put the user first - with a focus on privacy, security, freedom, functionality, & usability.


Phoenix works by leveraging Firefox's AutoConfig & Enterprise Policies functionality, and is installed on top of your standard, official Firefox installation. This allows us to go above and beyond what a simple user.js file can offer, without the security risks of using a fork. For example, forks often fall behind on Firefox updates, which can leave users open to severe, detrimental vulnerabilities. Phoenix's approach allows users to continue receiving immediate updates, directly from Mozilla.

Phoenix's approach also provides users with a seamless experience that is accessible and easy to use. Gone are the days of creating override files, manually keeping track of updates, resetting old preferences, & adding your user.js file to each and every profile you make. Not only is Phoenix the most effective & comprehensive approach to configuring Firefox, it is also the most accessible & easiest to use.

Phoenix's settings & changes to Firefox are carefully considered based on extensive research & studying of Firefox's inner workings. For an incomplete, non-exhaustive list of Phoenix's features & enhancements, see here.

Phoenix is designed to maintain website compatibility and to avoid breakage as much as possible, while still substantially improving privacy & security compared to vanilla Firefox & most other web browsers. For users who are fine with breakage and want to go even further in enhancing their privacy & security, Phoenix also offers a Hardened extension. This is completely optional and recommended for advanced users. For more information on Phoenix's compatibility with websites & known issues, see here.

You should also see here for a comparison between Phoenix, standard Firefox, Arkenfox, Betterfox, LibreWolf, & various other widely used projects of similar nature.

Phoenix also disables various anti-features & strives to put the user back in control of their browsing experience. Additionally, Phoenix includes quality of life enhancements, performance improvements, and other 'goodies' where possible and where it doesn't compromise user privacy or security.

At the end of the day, above all else:

Phoenix is designed from the ground up to always put the user first.

Important

⚠️ All users MUST read the Wiki here before proceeding. The Important & Limitations pages are of extra importance!!

Note

This project is hosted on both Codeberg (which is the primary & preferred place to contribute) & GitHub.

Note

Thunderbird users should consider taking a look at Dove - Phoenix's sister project.


📖Glossary

Click me

💪Motivation

Believe it or not, in the not so distant past, browsers were designed to put the user first. There's a reason that another word to refer to them is user agent...

Sadly, this time has passed. The majority of browser marketshare is now controlled by Google, an ad surveillance company. In all fairness to Google, they do put their customers first - it's just that their customers are the advertisers they siphon data to, not users like you and me. And this is the company behind the engine powering nearly every modern web browser in the world. Talk about a conflict of interest...

Unfortunately, most ot the competition is no better - Just take a look at Microsoft & the 800 ad companies they share your data with...

It doesn't have to be this way.

🚀Install

Phoenix currently provides official support for:

  • Arch Linux
  • Fedora Linux (39-41)
  • macOS

Important

⚠️ macOS users must have Homebrew installed, and must grant Terminal the App Management Permission.

Important

⚠️ Flatpak & Snap packages of Firefox are currently not supported.

Other platforms have unfortunately proven difficult to support, though progress is being made. Contributions are always welcome and appreciated.

If your platform is supported, simply run the following command in your terminal to install Phoenix:

sudo bash -c "$(wget -O- https://phoenix.celenity.dev/install.sh 2>/dev/null)"

If you would like to use Phoenix on an unsupported platform, see 📛Manual Installation.


👋Uninstall

If Phoenix isn't right for you - no worries!

Simply run the following command in your terminal to uninstall Phoenix:

sudo bash -c "$(wget -O- https://phoenix.celenity.dev/uninstall.sh 2>/dev/null)"

Please leave us feedback on the way out, so we can improve for the future!


🔥Hardened

For advanced users who would like to go above & beyond when protecting their privacy & security, at the cost of occasional breakage, Phoenix offers a Hardened extension.

Tip

Unlike Phoenix's standard default configuration, Hardened is profile specific. This means that you can use our Hardened config as needed when you desire the extra protection, & revert back to Phoenix's standard config through another profile for everything else.

Personally, if you're up for it, I would highly recommend trying out the Hardened config, and setting overrides as needed.

Tip

Phoenix makes it very easy to set overrides through your about:config. No more manual override files! ;)

You can see here for a list of known sites that have issues or quirks with Phoenix's Hardened extension, and what you need to toggle to fix them.

Hardened Installation

1: Install Phoenix via the script for your platform of choice above.

2: After installation is complete, locate the Hardened user.js file on your device.

Depending on your operating system, it will be located at:

GNU/Linux

/etc/firefox/phoenix/userjs/hardened/user.js

macOS

System

/opt/homebrew/opt/phoenix-osx/userjs/macos/hardened/user.js

User

/opt/homebrew/opt/phoenix-osx-user/userjs/macos/hardened/user.js

If you use any of the Firefox-UI-Fix CSS skins with Firefox, you should instead use use the user.js file at the following locations:

GNU/Linux

/etc/firefox/phoenix/userjs/ui-fix/hardened/user.js

macOS

System

/opt/homebrew/opt/phoenix-osx/userjs/macos/ui-fix/hardened/user.js

User

/opt/homebrew/opt/phoenix-osx-user/userjs/macos/ui-fix/hardened/user.js

3: Find your Firefox profile's directory. This depends on your platform, but an easy way to find it is by navigating to about:profiles, and it'll be the path listed beside Root Directory. For example's sake, we'll say our profile's directory is /home/user/.mozilla/firefox/153acxao.default-release. Yours will be different, and you should replace this path on the next step with your actual profile directory's path.

4: Simply move (or copy & paste) your user.js file to your profile's directory! You can either drag and drop it manually, or run the command below. For example's sake, we'll say our user.js is located at /etc/firefox/phoenix/userjs/hardened/user.js. Yours may be different, and you should replace this path on the next step with the actual location of your user.js as described above.

mv /etc/firefox/phoenix/userjs/hardened/user.js /home/user/.mozilla/firefox/153acxao.default-release/user.js

Important

⚠️ macOS (User) users must edit the user.js file and replace phoenix-osx with phoenix-osx-user. This will be simplified & handled better in the future.

Congratulations, you're done. Similar to the rest of the Phoenix project, your hardened config will automatically update with the rest of Phoenix via your package manager, and you can set any overrides you wish through the about:config. You can just sit back, relax, & enjoy.

💡Specialized Configs

It should also be noted that Phoenix contains specialized configurations for Discord, Twitter, and YouTube. These configs are designed to be used in their own, separate Firefox profile, and provide means to safely and easily use these privacy-invasive services.

The installation of these configs is the same as Hardened, with the only exception being the location of the user.js file. You can find the location of these user.js files at the following locations:

Discord

GNU/Linux

/etc/firefox/phoenix/userjs/discord/user.js

macOS

System:

/opt/homebrew/opt/phoenix-osx/userjs/macos/discord/user.js

User:

/opt/homebrew/opt/phoenix-osx-user/userjs/macos/discord/user.js

Discord (Firefox-UI-Fix)

GNU/Linux

/etc/firefox/phoenix/userjs/ui-fix/discord/user.js

macOS

System:

/opt/homebrew/opt/phoenix-osx/userjs/macos/ui-fix/discord/user.js

User:

/opt/homebrew/opt/phoenix-osx-user/userjs/macos/ui-fix/discord/user.js

Twitter

GNU/Linux

/etc/firefox/phoenix/userjs/twitter/user.js

macOS

System:

/opt/homebrew/opt/phoenix-osx/userjs/macos/twitter/user.js

User:

/opt/homebrew/opt/phoenix-osx-user/userjs/macos/twitter/user.js

Twitter (Firefox-UI-Fix)

GNU/Linux

/etc/firefox/phoenix/userjs/ui-fix/twitter/user.js

macOS

System:

/opt/homebrew/opt/phoenix-osx/userjs/macos/ui-fix/twitter/user.js

User:

/opt/homebrew/opt/phoenix-osx-user/userjs/macos/ui-fix/twitter/user.js

Twitter

GNU/Linux

/etc/firefox/phoenix/userjs/twitter/user.js

macOS

System:

/opt/homebrew/opt/phoenix-osx/userjs/macos/twitter/user.js

User:

/opt/homebrew/opt/phoenix-osx-user/userjs/macos/twitter/user.js

YouTube

GNU/Linux

/etc/firefox/phoenix/userjs/youtube/user.js

macOS

System:

/opt/homebrew/opt/phoenix-osx/userjs/macos/youtube/user.js

User:

/opt/homebrew/opt/phoenix-osx-user/userjs/macos/youtube/user.js

YouTube (Firefox-UI-Fix)

GNU/Linux

/etc/firefox/phoenix/userjs/ui-fix/youtube/user.js

macOS

System:

/opt/homebrew/opt/phoenix-osx/userjs/macos/ui-fix/youtube/user.js

User:

/opt/homebrew/opt/phoenix-osx-user/userjs/macos/ui-fix/youtube/user.js

📛Manual Installation

Caution

This is NOT recommended for most users.

By default, Phoenix is installed & updated via your operating system's package manager. This allows for fast, easy updates & fixes as needed, right with the rest of your system!

However, if this is not desirable for you & your situation, or you would simply like to use Phoenix on an unsupported operating system, you can manually install Phoenix with the following steps:

1: Download phoenix.cfg from here. You can right click and select Save page as from your browser, or you can run the following command in your terminal:

wget https://phoenix.celenity.dev/phoenix.cfg

2: Download phoenix.js from here. You can right click and select Save page as from your browser, or you can run the following command in your terminal:

wget https://phoenix.celenity.dev/defaults/pref/phoenix.js

3: Download policies.json from here. You can right click and select Save page as from your browser, or you can run the following command in your terminal:

wget https://phoenix.celenity.dev/policies.json

4: Locate your Firefox installation directory. This will vary depending on your platform. An easy way to find it id by navigating to about:support & checking the directory next to Application Binary. For example, on Fedora Linux, I see /usr/lib64/firefox/firefox next to Application Binary. This means our installation directory is /usr/lib64/firefox.

Caution

Unless you're on Fedora Linux, your directory will probably be different, and you should replace this directory on the following steps with your actual installation directory.

5: Move phoenix.cfg to the root of your installation directory. You can either drag and drop it manually, or run the following command, assuming /usr/lib64/firefox is your installation directory:

sudo mv phoenix.cfg /usr/lib64/firefox/phoenix.cfg

6: For macOS & Flatpak users: If it does not already exist, in the root of your installation directory, create a folder named defaults, and inside this new defaults folder, create another folder titled pref. You can do this manually through your file explorer, or assuming /usr/lib64/firefox is your installation directory (it won't be), you could run the following command:

sudo mkdir -p /usr/lib64/firefox/defaults/pref

For GNU/Linux users: If it does not already exist, you will want to create a folder named firefox located in your system's etc directory. Inside this firefox folder, create a new folder named defaults, and inside this new defaults folder, create another folder titled pref. This will work regardless of your distribution - even Snaps are supported. You can also just run the command below:

sudo mkdir -p /etc/firefox/defaults/pref

On macOS & GNU/Linux, you'll also want to ensure that the folder you created has proper permissions:

For macOS users: - assuming /usr/lib64/firefox is your installation directory (it won't be)

sudo chmod 744 /usr/lib64/firefox/defaults/pref

For all non-Flatpak GNU/Linux users:

sudo chmod 655 /etc/firefox/defaults/pref

7: Move phoenix.js to the pref folder that you just created. Assuming your installation directory is /usr/lib64/firefox, you can run the following command:

sudo mv phoenix.js /usr/lib64/firefox/defaults/pref/phoenix.js

For all non-Flatpak GNU/Linux users:

sudo mv phoenix.js /etc/firefox/defaults/pref/phoenix.js

8: On macOS & Windows, in the root of your installation directory, create a folder named distribution. You can do this manually through your file explorer, or assuming /usr/lib64/firefox is your installation directory, you can run the following command:

sudo mkdir -p /usr/lib64/firefox/distribution

GNU/Linux users should instead create a policies folder inside of a firefox folder located in /etc. This will work regardless of your distribution, and even for Snaps.

sudo mkdir -p /etc/firefox/policies

On macOS & GNU/Linux, you'll also want to ensure that the folder you created has proper permissions:

For macOS users: - assuming /usr/lib64/firefox is your installation directory (it won't be)

sudo chmod 744 /usr/lib64/firefox/distribution

For all non-Flatpak GNU/Linux users:

sudo chmod 655 /etc/firefox/policies

9: Finally, those on Windows & macOS should move policies.json to the distribution folder that you just created. Assuming your installation directory is /usr/lib64/firefox, you can run the following command:

sudo mv policies.json /usr/lib64/firefox/distribution/policies.json

GNU/Linux users should instead move policies.json to their /etc/firefox/policies folder they just created.

sudo mv policies.json /etc/firefox/policies/policies.json

Congratulations, you're done. Enjoy Phoenix, and be sure to keep up with updates!


🤔Using Hardened or a Specialized Config

With a manual installation of Phoenix, if you would like to use Phoenix's Hardened extension, or one of our specialized configs, you'll need to follow these steps.

1: Download the .cfg file of your choice from here. For this example, we'll use youtube.cfg. Simply replace mentions of youtube.cfg below with the configuration you would like to use.

You can right click and select Save page as from your browser on the .cfg file, or you can run the following command in your terminal:

wget https://phoenix.celenity.dev/configs/youtube.cfg

2: Store the .cfg file you just downloaded somewhere safe that you can remember. For this example, we'll keep it simple and say I chose to save youtube.cfg at ~/youtube.cfg. Replace mentions of ~/youtube.cfg below with the actual location of your file.

You can either drag and drop the file manually, or run the command below:

mv youtube.cfg ~/youtube.cfg

3: Download the user.js file located here.

You can right click and select Save page as from your browser on the user.js file, or you can run the following command in your terminal:

wget https://phoenix.celenity.dev/user.js

4: Edit the user.js file you just downloaded, and replace file://put_your_cfg_file_location_here with the location of your .cfg file from Step 2.

Assuming our file is still located at ~/youtube.cfg and our username is user, we'll change the contents of the user.js file we downloaded to:

user_pref("autoadmin.global_config_url", "file:///home/user/youtube.cfg");

5: Find your Firefox profile's directory. This depends on your platform, but an easy way to find it is by navigating to about:profiles, and it'll be the path listed beside Root Directory. For example's sake, we'll say our profile's directory is /home/user/.mozilla/firefox/153acxao.default-release. Yours will be different, and you should replace this path on the next step with your actual profile directory's path.

6: Simply move (or copy & paste) your user.js file to your profile's directory! You can either drag and drop it manually, or run the command below. For example's sake, we'll say our user.js is located at ~/Downloads/user.js. If this is not the path of your downloaded user.js file from Step 3, replace it with its actual location.

mv ~/Downloads/user.js /home/user/.mozilla/firefox/153acxao.default-release/user.js

💜Attribution

Huge thank you to the following projects & individuals for making Phoenix possible. Please show them support!

And of course...