celenity/Phoenix
8
198
Fork
You've already forked Phoenix
18

[ENHANCEMENT] Enable method to exclude certain profiles from Phoenix defaults #137

Open
opened 2025年06月05日 00:28:01 +02:00 by aescgar · 4 comments

Main question/feature request:

How can we implement a way to exclude a specified Firefox profile from the Phoenix defaults? Is there a way through the AutoConfig/Centralized Management/policies/etc. setup Phoenix uses? Or is it possible to achieve this through a user.js/---.cfg file that uses Mozilla defaults, perhaps (like making a "mozilla-stock.cfg" specialized config)?

Explanation:

Phoenix is a step above certain alternatives due to the automated method of updating as opposed to having to manually update user.js files. However, the manual user.js method allows leaving one profile untouched by any project customizations while still having one or multiple protected/locked-down profiles. This would be useful, for instance, when a user wants to have a standard Phoenix profile, an extended/hardened profile, a YouTube profile, and just one nearly Mozilla-default profile. Of course, there are privacy and security risks in using such a profile, but this project is all about putting "user" back in "user agent," right? Giving users options. As it stands, there is no way to even achieve this without uninstalling Phoenix completely. I know we can tweak things through the user.js > ---.cfg method, but that's only useful for small deviations from Phoenix defaults and does not allow having a profile that ignores Phoenix settings.

With a manual user.js setup (not Phoenix), you have two ways of setting up a profile, which I will refer to as whitelisting and blacklisting:

  1. Whitelisting: Start profile with project-defined settings (all problematic Mozilla settings disabled/fixed) >>> whitelist settings/features by adding tweaks to an override file as needed (for personal preference or to access sites like YouTube)
  2. Blacklisting: Start profile with no project-defined settings/user.js (Mozilla stock profile) >>> if desired, blacklist "features" by adding tweaks to about:config or to a user.js file.

With Phoenix, there is only whitelisting. You cannot have one profile that starts as Mozilla stock and is tweaked from there. It is not feasible (or really even possible) to hand-craft a user.js file with all of the Mozilla defaults and then adjust from there. Instead, users are left with having to go the nuclear option of uninstalling Phoenix completely and being entirely exposed on all profiles. I believe it would be beneficial to give users a way to use the Phoenix standard or extended profiles on a daily basis but have the ability to open a stock profile when absolutely necessary. This is pretty critical for me, and I'd love to figure out how to do this so I can stick with Phoenix instead of going back to user.js options. I'm not saying it should be included out-of-the-box or recommended, per se, but documenting how to achieve this would be great.

## Main question/feature request: How can we implement a way to exclude a specified Firefox profile from the Phoenix defaults? Is there a way through the AutoConfig/Centralized Management/policies/etc. setup Phoenix uses? Or is it possible to achieve this through a user.js/---.cfg file that uses Mozilla defaults, perhaps (like making a "mozilla-stock.cfg" specialized config)? ## Explanation: Phoenix is a step above certain alternatives due to the automated method of updating as opposed to having to manually update user.js files. However, the manual user.js method allows leaving one profile untouched by any project customizations while still having one or multiple protected/locked-down profiles. This would be useful, for instance, when a user wants to have a standard Phoenix profile, an extended/hardened profile, a YouTube profile, and just one nearly Mozilla-default profile. Of course, there are privacy and security risks in using such a profile, but this project is all about putting "user" back in "user agent," right? Giving users options. As it stands, there is no way to even achieve this without uninstalling Phoenix completely. I know we can tweak things through the user.js > ---.cfg method, but that's only useful for small deviations from Phoenix defaults and does not allow having a profile that ignores Phoenix settings. With a manual user.js setup (not Phoenix), you have two ways of setting up a profile, which I will refer to as whitelisting and blacklisting: 1. Whitelisting: Start profile with project-defined settings (all problematic Mozilla settings disabled/fixed) >>> whitelist settings/features by adding tweaks to an override file as needed (for personal preference or to access sites like YouTube) 2. Blacklisting: Start profile with no project-defined settings/user.js (Mozilla stock profile) >>> if desired, blacklist "features" by adding tweaks to about:config or to a user.js file. With Phoenix, there is _only whitelisting_. You cannot have one profile that starts as Mozilla stock and is tweaked from there. It is not feasible (or really even possible) to hand-craft a user.js file with all of the Mozilla defaults and then adjust from there. Instead, users are left with having to go the nuclear option of uninstalling Phoenix completely and being entirely exposed on all profiles. I believe it would be beneficial to give users a way to use the Phoenix standard or extended profiles on a daily basis but have the ability to open a stock profile when absolutely necessary. This is pretty critical for me, and I'd love to figure out how to do this so I can stick with Phoenix instead of going back to user.js options. I'm not saying it should be included out-of-the-box or recommended, per se, but documenting how to achieve this would be great.
Author
Copy link

Additional note: My original comment targeted the user.js/---.cfg files, but the same thoughts apply for the policies.json situation. It is even more of an issue for that because I don't know of a way to add a per-user policies.json file like you can do for user.js.

Additional note: My original comment targeted the user.js/---.cfg files, but the same thoughts apply for the policies.json situation. It is even more of an issue for that because I don't know of a way to add a per-user policies.json file like you can do for user.js.

Thanks for the issue here, you made a lot of valid points (I can also tell you've taken the time to read the documentation/understand the project - which I really appreciate :)).

How can we implement a way to exclude a specified Firefox profile from the Phoenix defaults? Is there a way through the AutoConfig/Centralized Management/policies/etc. setup Phoenix uses?

So currently, this isn't really possible AFAIK. That being said: If you did a manual installation, you could technically do the opposite (for the preferences) - you could just set certain profiles to use Phoenix - but you'd then lose the ability to use the specialized configs/Extended (unless you manually combine the standard Phoenix config file with the specialized config/Extended file).

To accomplish this, you'd want to follow the Manual Installation steps - except you'd want to copy phoenix.cfg to somewhere safe, and replace the phoenix.cfg in Firefox's installation directory with an empty file (contents shouldn't matter, as long as there is a file called phoenix.cfg, located at the right place in Firefox's installation directory). You'd then want to follow the steps for Using Extended or a Specialized Config Manually - except you'd edit the user.js file to point to the location of the real phoenix.cfg file that you copied to somewhere safe above.

This would allow you to only use Phoenix's preferences in profiles that you copy the user.js file you just created to; but like I said, this has drawbacks, such as breaking specialized configs/Phoenix Extended (unless like I said above - you manually combine the contents of your real phoenix.cfg file with the contents of your desired specialized config/Extended), and in general this approach would require more time/maintenance and work - and it's definitely not something we'd recommend.

Or is it possible to achieve this through a user.js/---.cfg file that uses Mozilla defaults, perhaps (like making a "mozilla-stock.cfg" specialized config)?

This might be possible, and it'd likely be a superior approach to what I described above (as you'd still be able to install/use Phoenix normally, while also using Firefox's defaults on profiles you choose). My only concern would be the extra time/maintenance required with a config like this, but I think this could be worth pursuing, so I'll see if it's viable.

Phoenix is a step above certain alternatives due to the automated method of updating as opposed to having to manually update user.js files. However, the manual user.js method allows leaving one profile untouched by any project customizations while still having one or multiple protected/locked-down profiles. This would be useful, for instance, when a user wants to have a standard Phoenix profile, an extended/hardened profile, a YouTube profile, and just one nearly Mozilla-default profile. Of course, there are privacy and security risks in using such a profile, but this project is all about putting "user" back in "user agent," right? Giving users options. As it stands, there is no way to even achieve this without uninstalling Phoenix completely. I know we can tweak things through the user.js > ---.cfg method, but that's only useful for small deviations from Phoenix defaults and does not allow having a profile that ignores Phoenix settings.

That's completely fair.

I think in general, a lot of what we're trying to do is remove the need for a Mozilla-default profile - due to the effort we've made to prevent breakage and make things as seamless as possible for users (Ex. a friend recently expressed how they don't even really notice Phoenix is installed, due to how little it interferes with their browsing...). So that's where I'm really trying to find balanced/reasonable defaults that work for most users.

But the key word there is most - and as you said yourself, this project is definitely focused on giving users options and control over their browsing experience, so if users want to have a separate profile with Mozilla's default prefs for whatever reason they may have, I think they should be able to (even if we don't recommend it).

With Phoenix, there is only whitelisting. You cannot have one profile that starts as Mozilla stock and is tweaked from there. It is not feasible (or really even possible) to hand-craft a user.js file with all of the Mozilla defaults and then adjust from there. Instead, users are left with having to go the nuclear option of uninstalling Phoenix completely and being entirely exposed on all profiles.

You could technically create a set-up like this with the approach I described above, but that approach of course has drawbacks and is far from ideal, due to the reasons mentioned above.

I believe it would be beneficial to give users a way to use the Phoenix standard or extended profiles on a daily basis but have the ability to open a stock profile when absolutely necessary... and I'd love to figure out how to do this so I can stick with Phoenix instead of going back to user.js options. I'm not saying it should be included out-of-the-box or recommended, per se, but documenting how to achieve this would be great.

I agree, this is worth looking into and seeing if we can find a solution.

This is pretty critical for me

How so? I'm interested to learn more about/understood your use case here (To be clear, regardless of your use case, I still think this is a valid concern and something worth addressing).

Additional note: My original comment targeted the user.js/---.cfg files, but the same thoughts apply for the policies.json situation. It is even more of an issue for that because I don't know of a way to add a per-user policies.json file like you can do for user.js.

Yeah, AFAIK it's unfortunately not possible to use separate policies on a per-profile basis - and I doubt it ever will be possible, due to the design/intended use for policies (enterprise). So I don't think there's much we can do about that (but you never know - maybe we can find some of hack/creative work-around...) - but the good news is that the majority of Phoenix's customization/changes are set in the preferences, so even if you're using the policies alongside a profile with Mozilla's default prefs, you'd still be sticking to most of Mozilla's default settings, with minimal changes from Phoenix (but obviously the intention here is to stick to all of Mozilla's default settings - so this would definitely still not be ideal).

It's also worth noting that we set environment variables to disable Mozilla's Crash Reporter (and to explicitly enable Wayland on Linux) - so if you wanted a truly pure/vanilla Firefox experience, you'd also want to remove those globally - which would also prevent them from working on Phoenix profiles. But as a potential work-around, you could maybe just specify those variables on a per-profile basis via custom desktop shortcuts? (Ex. you could create shortcuts for your standard Mozilla-default profile, your standard Phoenix one, Phoenix Extended, YouTube, etc. - and you could set the shortcuts for the Phoenix profiles to export the variables, while not exporting them on your Mozilla-default profile).


So I think the best/recommended solution here (at least for now) would be to just have 2 Firefox installations; one with Phoenix and one without. But this is obviously not ideal due to the extra inconvenience/maintenance necessary, and just may not be possible in certain environments.

I think this is a very valid enhancement request, and this is something I'd definitely like to find a solution here. It'll definitely require some time and thought though to come up with the best approach; and I'm definitely open to ideas from you (or anyone else who stumbles upon this issue and has something to add).

Thanks for the issue here, you made a lot of valid points *(I can also tell you've taken the time to read the documentation/understand the project - which I really appreciate :))*. > How can we implement a way to exclude a specified Firefox profile from the Phoenix defaults? Is there a way through the AutoConfig/Centralized Management/policies/etc. setup Phoenix uses? So currently, this isn't really possible AFAIK. **That being said**: If you did a manual installation, you could technically do the opposite *(for the preferences)* - you could just set certain profiles to use Phoenix - but you'd then lose the ability to use the specialized configs/`Extended` *(unless you manually combine the standard Phoenix config file with the specialized config/`Extended` file)*. To accomplish this, you'd want to follow the [`Manual Installation` steps](https://codeberg.org/celenity/Phoenix#manual-installation) - except you'd want to copy `phoenix.cfg` to somewhere safe, and replace the `phoenix.cfg` in Firefox's installation directory with an empty file *(contents shouldn't matter, as long as there is a file called `phoenix.cfg`, located at the right place in Firefox's installation directory)*. You'd then want to follow the [steps for `Using Extended or a Specialized Config Manually`](https://codeberg.org/celenity/Phoenix#using-extended-or-a-specialized-config-manually) - except you'd edit the `user.js` file to point to the location of the **real** `phoenix.cfg` file that you copied to somewhere safe above. This would allow you to only use Phoenix's preferences in profiles that you copy the `user.js` file you just created to; but like I said, this has drawbacks, such as breaking specialized configs/Phoenix `Extended` *(unless like I said above - you manually combine the contents of your real `phoenix.cfg` file with the contents of your desired specialized config/`Extended`)*, and in general this approach would require more time/maintenance and work - and it's definitely not something we'd recommend. > Or is it possible to achieve this through a user.js/---.cfg file that uses Mozilla defaults, perhaps (like making a "mozilla-stock.cfg" specialized config)? This *might* be possible, and it'd likely be a superior approach to what I described above *(as you'd still be able to install/use Phoenix normally, while also using Firefox's defaults on profiles you choose)*. My only concern would be the extra time/maintenance required with a config like this, but I think this could be worth pursuing, so I'll see if it's viable. > Phoenix is a step above certain alternatives due to the automated method of updating as opposed to having to manually update user.js files. However, the manual user.js method allows leaving one profile untouched by any project customizations while still having one or multiple protected/locked-down profiles. This would be useful, for instance, when a user wants to have a standard Phoenix profile, an extended/hardened profile, a YouTube profile, and just one nearly Mozilla-default profile. Of course, there are privacy and security risks in using such a profile, but this project is all about putting "user" back in "user agent," right? Giving users options. As it stands, there is no way to even achieve this without uninstalling Phoenix completely. I know we can tweak things through the user.js > ---.cfg method, but that's only useful for small deviations from Phoenix defaults and does not allow having a profile that ignores Phoenix settings. That's completely fair. I think in general, a lot of what we're trying to do is remove the *need* for a Mozilla-default profile - due to the effort we've made to prevent breakage and make things as seamless as possible for users *(Ex. a friend recently expressed how they don't even really notice Phoenix is installed, due to how little it interferes with their browsing...)*. So that's where I'm really trying to find balanced/reasonable defaults that work for most users. But the key word there is *most* - and as you said yourself, this project is definitely focused on giving users options and control over their browsing experience, so if users want to have a separate profile with Mozilla's default prefs for whatever reason they may have, I think they should be able to *(even if we don't recommend it)*. > With Phoenix, there is only whitelisting. You cannot have one profile that starts as Mozilla stock and is tweaked from there. It is not feasible (or really even possible) to hand-craft a user.js file with all of the Mozilla defaults and then adjust from there. Instead, users are left with having to go the nuclear option of uninstalling Phoenix completely and being entirely exposed on all profiles. You could *technically* create a set-up like this with the approach I described above, but that approach of course has drawbacks and is far from ideal, due to the reasons mentioned above. > I believe it would be beneficial to give users a way to use the Phoenix standard or extended profiles on a daily basis but have the ability to open a stock profile when absolutely necessary... and I'd love to figure out how to do this so I can stick with Phoenix instead of going back to user.js options. I'm not saying it should be included out-of-the-box or recommended, per se, but documenting how to achieve this would be great. I agree, this is worth looking into and seeing if we can find a solution. > This is pretty critical for me How so? I'm interested to learn more about/understood your use case here *(To be clear, regardless of your use case, I still think this is a valid concern and something worth addressing)*. > Additional note: My original comment targeted the user.js/---.cfg files, but the same thoughts apply for the policies.json situation. It is even more of an issue for that because I don't know of a way to add a per-user policies.json file like you can do for user.js. Yeah, AFAIK it's unfortunately not possible to use separate policies on a per-profile basis - and I doubt it ever *will* be possible, due to the design/intended use for policies *(enterprise)*. So I don't think there's much we can do about that *(but you never know - maybe we can find some of hack/creative work-around...)* - but the good news is that the majority of Phoenix's customization/changes *are* set in the preferences, so even if you're using the policies alongside a profile with Mozilla's default prefs, you'd still be sticking to *most* of Mozilla's default settings, with minimal changes from Phoenix *(but obviously the intention here is to stick to *all* of Mozilla's default settings - so this would definitely still not be ideal)*. It's also worth noting that we set environment variables to disable Mozilla's Crash Reporter *(and to explicitly enable Wayland on Linux)* - so if you wanted a truly pure/vanilla Firefox experience, you'd also want to remove those globally - which would also prevent them from working on Phoenix profiles. But as a potential work-around, you could maybe just specify those variables on a per-profile basis via custom desktop shortcuts? *(Ex. you could create shortcuts for your standard Mozilla-default profile, your standard Phoenix one, Phoenix `Extended`, YouTube, etc. - and you could set the shortcuts for the Phoenix profiles to export the variables, while not exporting them on your `Mozilla-default` profile)*. ___ So I think the best/recommended solution here *(at least for now)* would be to just have 2 Firefox installations; one with Phoenix and one without. But this is obviously not ideal due to the extra inconvenience/maintenance necessary, and just may not be possible in certain environments. I think this is a very valid enhancement request, and this is something I'd definitely like to find a solution here. It'll definitely require some time and thought though to come up with the best approach; and I'm definitely open to ideas from you *(or anyone else who stumbles upon this issue and has something to add)*.
Author
Copy link

First, thank you for the fast and very thorough response. I'll address a couple of specific points below, but I think the bottom line conclusions for now are:

  1. The current stopgap solution for having a Mozilla-default profile is to have two Firefox installations: one that has all Phoenix-based profiles and one installation that has a "stock" Firefox profile.
  2. Ideally, the long-term solution would be to have one installation which could contain a profile using default Mozilla preferences (and policies, possibly).
    (This would likely require finding an easy, reliable method of listing all the settings/prefs Mozilla uses as defaults in a way that could be used in a cfg or user.js file, and it would have to be repeatable to update it when Mozilla changes things or makes new releases.)

Thanks for the two-installation idea. I did like the creativity of your manual Phoenix installation tweak, as well. However, as cumbersome as the two-installation system might be, I think it's better than the manual Phoenix installation option. One of the primary features of Phoenix is the reduction in manual maintenance requirements over some other options, and I don't want to lose that.

I think in general, a lot of what we're trying to do is remove the need for a Mozilla-default profile

if users want to have a separate profile with Mozilla's default prefs for whatever reason they may have, I think they should be able to

I'm interested to learn more about/understood your use case here (To be clear, regardless of your use case, I still think this is a valid concern and something worth addressing).

For the record, I think you're taking the exact right approach: make a way for more people to easily access a better, more privacy-focused, user-first browser with sane defaults but also empower users to make their own decisions due to the variety of situations out there. As for my specific use-case, I will contact you privately to say what I can.

This might be possible, and it'd likely be a superior approach to what I described above (as you'd still be able to install/use Phoenix normally, while also using Firefox's defaults on profiles you choose). My only concern would be the extra time/maintenance required with a config like this, but I think this could be worth pursuing, so I'll see if it's viable.

I agree. As the developer, you'd have to make a determination on if the effort/time is worth it, and it might not be. As it stands, I don't even know how to compile the default Mozilla prefs. If there were a list of them, or if we could extract them from a default Firefox install, maybe we could just make a new config file from it. There must be some easy way to do that. The effort would come in having to update that file occasionally if prefs change, but that is not much effort if there is a reliable source for what those prefs are. If it's too much for you to keep updated, it's even something you could leave to the user. You could just add some documentation explaining to users how to find/extract those Mozilla-default prefs and how to create their own config based on it. That way, it's a one-time addition to documentation, and you don't have to keep updating anything. The key here, of course, is getting a way to generate/find/extract those Mozilla-default prefs in the first place. Could we just take the phoenix-desktop.js list of prefs and just invert them? Change false to true and vice versa? No, that would be too easy!

Yeah, AFAIK it's unfortunately not possible to use separate policies on a per-profile basis

I was afraid of that. I was coming up empty on my research. I had hope because of this:

/// Ensure our policies aren't overriden...
// https://searchfox.org/mozilla-central/source/toolkit/components/enterprisepolicies/EnterprisePoliciesParent.sys.mjs
pref("browser.policies.perUserDir", false, locked); // [LINUX-ONLY] [NO-MAIL] RedHat/Fedora-specific
pref("toolkit.policies.perUserDir", false, locked); // [HIDDEN] [DEFAULT]

I didn't know if that implied they could be overridden by one profile, but I'm guessing it's not that easy from what I've tested.

Back to prefs, if you know of a reliable method of getting a list of Mozilla defaults, please do share. Also let me know your thoughts of if those could be put into a config file directly. Either way, great project, and I'm on board with your overall vision. Keep it up.

First, thank you for the fast and very thorough response. I'll address a couple of specific points below, but I think the bottom line conclusions for now are: 1. **The current stopgap solution for having a Mozilla-default profile is to have two Firefox installations: one that has all Phoenix-based profiles and one installation that has a "stock" Firefox profile.** 2. **Ideally, the long-term solution would be to have one installation which could contain a profile using default Mozilla preferences (and policies, possibly).** (This would likely require finding an easy, reliable method of listing all the settings/prefs Mozilla uses as defaults in a way that could be used in a cfg or user.js file, and it would have to be repeatable to update it when Mozilla changes things or makes new releases.) Thanks for the two-installation idea. I did like the creativity of your manual Phoenix installation tweak, as well. However, as cumbersome as the two-installation system might be, I think it's better than the manual Phoenix installation option. One of the primary features of Phoenix is the reduction in manual maintenance requirements over some other options, and I don't want to lose that. > I think in general, a lot of what we're trying to do is remove the need for a Mozilla-default profile > if users want to have a separate profile with Mozilla's default prefs for whatever reason they may have, I think they should be able to > I'm interested to learn more about/understood your use case here (To be clear, regardless of your use case, I still think this is a valid concern and something worth addressing). For the record, I think you're taking the exact right approach: make a way for more people to easily access a better, more privacy-focused, user-first browser with sane defaults but also empower users to make their own decisions due to the variety of situations out there. As for my specific use-case, I will contact you privately to say what I can. > This might be possible, and it'd likely be a superior approach to what I described above (as you'd still be able to install/use Phoenix normally, while also using Firefox's defaults on profiles you choose). My only concern would be the extra time/maintenance required with a config like this, but I think this could be worth pursuing, so I'll see if it's viable. I agree. As the developer, you'd have to make a determination on if the effort/time is worth it, and it might not be. As it stands, I don't even know how to compile the default Mozilla prefs. If there were a list of them, or if we could extract them from a default Firefox install, maybe we could just make a new config file from it. There must be some easy way to do that. The effort would come in having to update that file occasionally if prefs change, but that is not much effort if there is a reliable source for what those prefs are. If it's too much for you to keep updated, it's even something you could leave to the user. You could just add some documentation explaining to users how to find/extract those Mozilla-default prefs and how to create their own config based on it. That way, it's a one-time addition to documentation, and you don't have to keep updating anything. **The key here, of course, is getting a way to generate/find/extract those Mozilla-default prefs in the first place.** Could we just take the phoenix-desktop.js list of prefs and just invert them? Change `false` to `true` and vice versa? No, that would be too easy! > Yeah, AFAIK it's unfortunately not possible to use separate policies on a per-profile basis I was afraid of that. I was coming up empty on my research. I had hope because of this: ``` /// Ensure our policies aren't overriden... // https://searchfox.org/mozilla-central/source/toolkit/components/enterprisepolicies/EnterprisePoliciesParent.sys.mjs pref("browser.policies.perUserDir", false, locked); // [LINUX-ONLY] [NO-MAIL] RedHat/Fedora-specific pref("toolkit.policies.perUserDir", false, locked); // [HIDDEN] [DEFAULT] ``` I didn't know if that implied they could be overridden by one profile, but I'm guessing it's not that easy from what I've tested. Back to prefs, if you know of a reliable method of getting a list of Mozilla defaults, please do share. Also let me know your thoughts of if those could be put into a config file directly. Either way, great project, and I'm on board with your overall vision. Keep it up.

I'm used to use Arkenfox user.js, and while Phoenix has multiple advantages, not being able to start a stock Firefox profile was for me a deal-breaker.
Maintaining 2 versions of Firefox, as suggested, wasn't satisfactory. I then almost forgot about Phoenix. Yesterday I gave it a try again and found a simple and elegant solution.

I mainly have 2 use cases for a stock Firefox profile (i.e. not altered by any custom settings or privacy enforcements):

  • sometimes sites break and I don't have the time to figure out which privacy enforcement is causing the issue. Sometimes the website itself is buggy and doesn't work, even in a brand new profile

  • As part of my work, I occasionally have to test some websites we develop, reproduce bugs, etc., and have to do so with a Firefox profile that is as close as possible to the defaults.

For both of these use cases, I had a small script that creates a new Firefox profile, launches Firefox with that profile, and destroys it when Firefox exits.

Since I'm now using firejail to launch Firefox (makes even more sense with a stock profile with laxer security), the idea is simply to have a second firejail profile that denies access to /etc/firefox/:

# ~/.config/firejail/firefox-stock-tmp.profile
# Temporary home dir, destroyed on exit
private
# Rewrite private-etc (defined in /etc/firejail/firefox.profile) to ignore /etc/firefox/ (which contains phoenix config)
ignore private-etc firefox
include ${HOME}/.config/firejail/firefox.profile

Then to run a Firefox without any Phoenix settings:

$ firejail --profile=firefox-stock-tmp firefox

Note that the environment variables in /etc/profile.d/phoenix-env-overrides.sh still apply to the stock Firefox, I'm okay with it, but one can easily reset them in the firejail profile.

I'm used to use Arkenfox user.js, and while Phoenix has multiple advantages, not being able to start a stock Firefox profile was for me a deal-breaker. Maintaining 2 versions of Firefox, as suggested, wasn't satisfactory. I then almost forgot about Phoenix. Yesterday I gave it a try again and found a simple and elegant solution. I mainly have 2 use cases for a stock Firefox profile (i.e. not altered by any custom settings or privacy enforcements): - sometimes sites break and I don't have the time to figure out which privacy enforcement is causing the issue. Sometimes the website itself is buggy and doesn't work, even in a brand new profile - As part of my work, I occasionally have to test some websites we develop, reproduce bugs, etc., and have to do so with a Firefox profile that is as close as possible to the defaults. For both of these use cases, I had a small script that creates a new Firefox profile, launches Firefox with that profile, and destroys it when Firefox exits. Since I'm now using firejail to launch Firefox (makes even more sense with a stock profile with laxer security), the idea is simply to have a second firejail profile that denies access to `/etc/firefox/`: ``` # ~/.config/firejail/firefox-stock-tmp.profile # Temporary home dir, destroyed on exit private # Rewrite private-etc (defined in /etc/firejail/firefox.profile) to ignore /etc/firefox/ (which contains phoenix config) ignore private-etc firefox include ${HOME}/.config/firejail/firefox.profile ``` Then to run a Firefox without any Phoenix settings: ``` $ firejail --profile=firefox-stock-tmp firefox ``` Note that the environment variables in `/etc/profile.d/phoenix-env-overrides.sh` still apply to the stock Firefox, I'm okay with it, but one can easily reset them in the firejail profile.
Sign in to join this conversation.
No Branch/Tag specified
dev
pages
2026年07月08日.1
2026年06月10日.1
2026年05月21日.2
2026年05月21日.1
2026年04月27日.1
2026年03月31日.1
2026年03月30日.1
2026年02月23日.1
2026年02月16日.1
2026年01月21日.1
2025年12月23日.1
2025年11月27日.1
2025年11月07日.1
2025年10月26日.1
2025年10月12日.1
2025年10月03日.1
2025年09月07日.1
2025年08月06日.1
2025年07月30日.1
2025年07月11日.1
2025年06月24日.1
2025年06月12日.1
2025年06月10日.1
2025年06月06日.1
2025年06月02日.2
2025年06月02日.1
2025年05月11日.1
2025年04月27日.1
2025年04月15日.1
2025年04月11日.1
2025年04月02日.1
2025年03月25日.1
2025年03月20日.1
2025年03月12日.1
2025年03月05日.1
2025年02月28日.1
2025年02月21日.1
2024年02月18日.1
2025年02月14日.1
2025年02月13日.1
2025年02月01日.1
2025年01月30日.1
2025年01月27日.1
2025年01月24日.1
2025年01月22日.2
2025年01月22日.1
2025年01月20日.2
2025年01月20日.1
2025年01月19日.1
2025年01月14日.1
2025年01月13日.1
2025年01月12日.2
2025年01月12日.1
2025年01月06日.1
05January2025v1
20240103.2
20250103.1
20241229-1
20241225-1
20241216-1
20241211-1
20241204-1
20241203-1
31November2024v1
20241103-1
20240924-1
20240914-1
20240907-1
20240902-1
20240831-1
20240825-1
Milestone
Clear milestone
No items
No milestone
Projects
Clear projects
No items
No project
Assignees
Clear assignees
No assignees
3 participants
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
celenity/Phoenix#137
Reference in a new issue
celenity/Phoenix
No description provided.
Delete branch "%!s()"

Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?