HN user

notafox

43 karma
Posts0
Comments17
View on HN
No posts found.

You can user userChrome.css [1][2][3]

You can start with this page[4] for an examples of simple, but elegant styling.

And /r/FirefoxCSS can demonstrate all kinds of crazy options userChome.css enthusiasts can come up with.

[1] https://www.userchrome.org/

[2] https://kb.mozillazine.org/index.php?title=UserChrome.css

[3] https://old.reddit.com/r/FirefoxCSS/wiki/index/tutorials

[4] https://www.userchrome.org/firefox-89-styling-proton-ui.html...

- Independent set of extensions (independently configured) for each profile.

- Independent set of settings/about:config parameters.

You can't turn off, say, WebRTC completely for some profiles, while allowing it for other profiles.

Different history. I remember accidentally nuking history of a few years - that wasn't fun. Now, you reduce blast radius.

Proxy on/off or different proxies. Though, there's probably an extension that manages it on per-site basis.

Different userChrome.css, if you fancy that.

If that works for you - that's fine.

I'd argue, that for some, CLI path is actually cleaner.

You see, the way described above creates entirely separate points of entry, and you don't have to go to the central menu to launch specific profile.

It eliminates one step (Profile Manager, about:profiles or whatever) allowing you to get faster to the desired profile - same way you'd launch a default profile.

It's logical separation too. It's like separate browsers from UX standpoint (they do use the same distribution though ...unless they aren't - you can configure different distributions for different profiles - nothing stops you from that).

Firefox added profile switching recently.

I think this was as recent as 25 years ago?

Recently they added some new UI. There was and still is (I think) classic Profile Manager UI, which you can launch with

  ./firefox -ProfileManager
or access UI in about:profiles.

But you don't have to use any of those anyway - see my comment above (a response to parent).

You can use Firefox with different profiles and configure it to launch particular profile directly, without launching default profile and using about:profiles.

Firefox with a non-default profile can be created like that:

  ./firefox -CreateProfile "profile-name /home/user/.mozilla/firefox/profile-dir/"
  # For, say, cloudflare that would be:
  ./firefox -CreateProfile "cloudflare /home/user/.mozilla/firefox/cloudflare/"
And you can launch it like that:
  ./firefox -profile "/home/user/.mozilla/firefox/profile-dir/"
  # For cloudflare that would be:
  ./firefox -profile "/home/user/.mozilla/firefox/cloudflare/"
So, given that /usr/bin/firefox is just a shell script, you can
    - create a copy of it, say, /usr/bin/firefox-cloudflare
    - adjust the relevant line, adding the -profile argument
If you use an icon to run firefox (say, /usr/share/applications/firefox.desktop), you'll need to do copy/adjust line for the icon.

Of course, "./firefox" from examples above should be replaced with the actual path to executable. For default installation of Firefox the path would be in /usr/bin/firefox script.

So, you can have a separate profiles for something sensitive/invasive (linkedin, cloudflare, shops, banks, etc.) and then you can have a separate profile for everything else.

And each profile can have its own set of extensions.

You can use Firefox with different profiles and configure it to launch particular profile directly, without launching default profile and using about:profiles.

Firefox with a non-default profile can be created like that:

  ./firefox -CreateProfile "profile-name /home/user/.mozilla/firefox/profile-dir/"
  # For linkedin that would be:
  ./firefox -CreateProfile "linkedin /home/user/.mozilla/firefox/linkedin/"
And you can launch it like that:
  ./firefox -profile "/home/user/.mozilla/firefox/profile-dir/"
  # For linkedin that would be:
  ./firefox -profile "/home/user/.mozilla/firefox/linkedin/"
So, given that /usr/bin/firefox is just a shell script, you can
    - create a copy of it, say, /usr/bin/firefox-linkedin
    - adjust the relevant line, adding the -profile argument
If you use an icon to run firefox (say, /usr/share/applications/firefox.desktop), you'll need to do copy/adjust line for the icon.

Of course, "./firefox" from examples above should be replaced with the actual path to executable. For default installation of Firefox the path would be in /usr/bin/firefox script.

So, you can have a separate profiles for something sensitive/invasive (linkedin, shops, etc.) and then you can have a separate profile for everything else.

And each profile can have its own set of extensions.

Night Filter app is great

    Night Filter is an easy-to-use screen filter app for your Android device. Adjust brightness and colour, set up schedules, and reduce eye strain for comfortable night-time reading. [1]

[1] https://nightfilter.app/

prefs.js is modified by browser itself. And it contains lots of stuff by default already.

You can store your custom preferences in user.js file - Firefox will copy those to prefs.js at startup.

From your link:

   The user.js[1] file is optional. If you have one whenever the application is started it will overwrite any settings in prefs.js with the corresponding settings from user.js. 
[1] https://kb.mozillazine.org/User.js_file

Also, I see options:

    geo.provider.use_corelocation: true/false # presumably for tracking on MacOS

    geo.provider.use_geoclue: true/false # presumably for tracking Linux users with Geoclue2 provider [1]

    geo.enabled: true/false # presumably, turns the whole thing off
Some say[2][3], use_ options take precedence over network.url, so you need to set those to false.

It also appears[3][4], that setting geo.provider.testing to true might be required.

[1] https://bugzilla.mozilla.org/show_bug.cgi?id=1063572

[2] https://stackoverflow.com/questions/24932199/how-to-change-f...

[3] https://security.stackexchange.com/a/268825

[4] https://stackoverflow.com/a/24937564

Also profiles can be configured and used with CLI, no need for UI (old or new).

    ./firefox -CreateProfile "profile-name /home/user/.mozilla/firefox/profile-path/"
    ./firefox -profile "/home/user/.mozilla/firefox/profile-path/"
And, you can run it directly, no need to launch default firefox profile:

Given that /usr/bin/firefox is just a shell script, you can

    - create a copy of it, say, /usr/bin/firefox-hn
    - adjust the relevant line, adding the -profile argument
If you use an icon to run firefox (say, /usr/share/applications/firefox.desktop), you'll need to do copy/adjust line for the icon.

Forget about UI, just use CLI

    ./firefox -CreateProfile "profile-name /home/user/.mozilla/firefox/profile-path/"

    ./firefox -profile "/home/user/.mozilla/firefox/profile-path/"
Create a separate icon for each profile and forget about:profiles interface.

Disclaimer: I don't use macOS, but I'm sure it's similar to Linux in that regard. You'll need to change paths, of course.