The real gem of Firefox is Containers. No other browser has something like this. It's something critically missing from Chrome. I don't mean "Just create a private window", I mean being able to create 1 + infinitely many profiles/containers. Firefox has an extension called Temporary Containers that makes this better: Every new tab is a temporary, ephemeral container. By default I get isolation. I have it configured so if I hold Ctrl and click a link it will open in the same existing container (in a new tab). If I want sessions to "join" I can do that, but I get defense/privacy by default.
There's another called Proxy Containers so I can have separate tabs taking separate paths out.
There are many benefits to Chrome and it's dev tools, and I respect the Firefox mission more for all the shit Mozilla has done. But I'm bound to Firefox regardless of the pros and cons because it's the only browser that can do this.
I had to do a minor presentation a few days ago, involving logging into several different AWS accounts. The main content of my presentation went absolutely under the radar because the audience were way more interested in how I was able to open and switch between multiple AWS accounts in different tabs. I use another add-on that automatically creates new containers for AWS accounts launched from the SSO screen. And if I type 'gmail' in the browser, it lists my 3 accounts, and depending on which one I choose, it opens it in the correct container so I can have all three open simultaneously, without any messing around.
Middle click to open tab, control C in a password manager, and then remember a minute later to paste it where it belongs, switching between tabs quickly, getting an SMS, and only glancing at it quickly enough to remember the number and type it in.
It's amazing how such normal every-minute tasks for tech people like us are freaking wizardry to the average user. Whenever I'm on my home office PC and on the phone with anyone in my family, they make some comment about how my typing sounds like a machine gun or something.
I tried using containers for a while, and found them to be severely lacking.
One example: You can't edit a container's site list, you can only add the currently loaded FQDN to it. So, you can't for example assign *.google.com to your Google container, you can only add each individual subdomain, and only after loading it.
Worse, if a host you want to add is part of a redirect chain, there seems to be no way to add it at all. For example, mail.google.com redirects you to accounts.google.com which quickly redirects you back to mail.google.com. There is no way to get accounts.google.com added to the list. As a result of this, the "Limit to designated sites only" feature is completely unusable. (And the only reason these problems exists is because Mozilla in its infinite wisdom has decided that an Add button and a text input in the sites list would be too much for us lowly users.)
Another common annoyance I had was the inability to clear cookies and site data for a given container only (or for the default container without affecting any named containers).
In the end I just bought more RAM and went back to using separate profiles.
Your assessment is similar to mine. Firefox appears to have done a lot of the under the hood work necessary to bring a cool feature like this to their product, but then completely stopped working on anything beyond a rudimentary UI.
I'm worried they will remove it, like Panorama, because I'm sure there is some code there that needs to be maintained but is low importance (otherwise they would develop it further).
> You can't edit a container's site list, you can only add the currently loaded FQDN to it. So, you can't for example assign *.google.com to your Google container, you can only add each individual subdomain, and only after loading it.
Yeah I've had the same experience. I tried to go all-in on automated containers. I curated long regex lists to make sure things grouped the way I wanted. Ultimately it just didn't really work. The major problems I hit were:
- Complex cloud services with many domains. Microsoft Office 365 uses such a bewildering collection of domains... I wound up just doing all MSFT stuff in edge. Google has similar issues.
- explicit rules are too brittle. I wish it could dynamically recommend a tab family to use based on content or similar.
- hard to manage. I wound up with dozens and dozens of temp container that buried my persistent, named containers. That made me rely more on the filtering rules, which required a lot of maintenance and tweaking.
I still find it amazing and love it. It does 90% of what I want from a silo'd experience. Sure it would be nice to have more but nothing else comes close unless you want to run multiple instances gobbling up even more ram than tabs and juggling those. I manage cookies with cookie autodelete which does much of what I want for cookie management.
Adding Containers to Chrome would be largely pointless - because Google anyway has access to everything. It's like adding a VPN to Android and then still using Map and everything while logged with your Google a/c. Chrome by design has no privacy.
I know many of us (if not all) are already aware of this (or something on this lines) but this is important to make this distinction when talking about Firefox and Chrome in one breath.
Comparing Chrome and Firefox when it comes to privacy is apples and oranges. I know you were not directly doing that but I still thought it is important to be noted.
...while I agree about Chrome and probably kinda understand if you expand that notion to whole chromium...
Containers aren't for protection against browser - they protect one digital identity from leaking into another. And to be able to log in into multiple accounts at the same time
Sidenote: I thought Brave was BS because I had the first impression it was purely funded by watching ads and earning crypto. You opt-in to this, it's not the default. They actually have an extensive list of modifications to disconnect the Chromium base from Google and provide better security. I would be using it if not for Containers in Firefox.
Thanks for pointing this out! I was using Containerise + Temp Containers. The "Default Container" section of Containerise has now replaced Temp Containers for me. In case anyone else is interested, here are my settings:
It leaves the containers behind when I use it so my container list is polluted with all of the temporary numbered containers. It stops me using it when it can’t cleanly handle itself…
Probably Firefox sync, but most likely the extension. I’ll use it again once it works.
I launch FF in a shell function that first calls BleachBit and calls it again when FF terminates. Not sure if that would help your case but it works for me. The reason I do this from a shell function is to redirect the output of FF console to a ramdisk just in case I needed it but did not have it prior to seeing something odd.
I realized I didn't want to manage profiles, I just wanted separate containers by default. So that's why I use Temporary Containers. I don't maintain a "work profile" or "shopping profile", etc. When I need cookies or other data shared between tabs I will Ctrl + click to open a link in a new tab, with the same existing container.
Now, to organize tabs I use Tab Stash. I put things like 200+ YouTube music tabs in 1 group, 1-off projects in another, k8s stuff in another, job/career postings I need to complete in another, etc. Things that are temporary are shown under the default group at the top. This also allows me to keep most of my tabs "frozen" and out of memory/inactive while still keeping 400+ tabs open.
(Tab Stash is vertical tabs. Sidebery was the fastest, but Tab Stash has the grouping and inactive tab stuff I need)
I love containers for development. I configure a socks proxy for each of my development environments and it lets me run multiple copies of my services all on the correct domain names.
Amen Sister. One container for browsing. One for my shopping gmail, ebay and Amazon. One for my fake Facebook acct. One for my work gmail, work chat and related.
> There's another called Proxy Containers so I can have separate tabs taking separate paths out.
I can use this literally yesterday for at least 3 separate issues I was facing.
> But I'm bound to Firefox regardless of the pros and cons because it's the only browser that can do this.
You and me both. I can live in a decent house with decent neighbors. Or I can live in pretty decent house with neighbors who borrow my stuff without asking, whiz on my fence and meet in secret to figure out how to exploit me.
I had a fairly long back and forth with a service I pay for while using one of the many Firefox container extensions. They want to track me and a new profile every access they did not like because they begun fingerprinting for “security”. White listing didn’t work and I ended up having to install chrome for them.
It worked very well for the “you have three articles remaining” to view for free. Now I’m back to scrolling to the bottom of an article to make sure it doesn’t disappear into same login wall and see if reader view bypasses it before I start reading.
I think that Firefox containers is a great feature, use them all the time, and have no desire for using separate profiles. That said:
- They aren't exactly an easy to discover feature. There is a mention of the feature in the settings, but making use of them requires the use of an addon.
- Other people do have use cases for separate profiles. Most people wouldn't even know they exist unless they have used Firefox for an incredibly long time, and they aren't exactly easy for the typical person to use.
I don't think you need a separate extension for proxy per container support. They support Mozilla's vpn thing by default but it cam be changed to any other proxy. Syntax is something like socks:host:port though I am mot sure about the GUI support to set it. I think I set it as part of Multi Account Containers.
By the way I've heard an extension author say that containers are not required with the new strict isolation features.
just a heads up on the privacy aspect: other than possible cross-site 0-days, tracking usually occurs with your browser fingerprint which by default doesnt change w/ Containers (its extremely hard to properly and accurately change it anyways, there are leaks even in the network layer) so it doesnt have too much of an effect except for unsophisticated ad networks/analytics
What are the added privacy benefits compared to Firwfox Total Cookie Protection, which is on by default? Ability to log in with different accounts in parallel is definitely very useful, but I'm looking for the privacy benefits compared to using Firefox without containers.
Firefox profiles are so underrated and (seemingly) underused. I create shortcuts for every profile, with the command to launch being `firefox --no-remote -P profilenamehere`. After that, I barely ever see the profile management dialogue, I just use each profile like it's a different browser.
It's convenient to isolate work and personal browsing, convenient to try out different extensions (eg. I have Treestyletabs in one and Sidebery in another, just to evaluate both and see for myself), and the memory usage of running two Firefox profiles is much less than if I ran Firefox and a Chromium browser instead.
I don't like profiles, because I find it hard, impossible maybe, to tell Discord to open the funny links my friends send me in the Personal profile, and Slack to open the work related links in the Professional profile.
I ended up having one profile configuration file and a keyboard shortcut that toggled between two different symbolic links, plus a Gnome extension to display the currently selected profile in the top bar, so I would use one profile during the work hours and another one during the evening, but it was slow, difficult to export to other computers and just messy altogether.
So now I'm using Firefox containers and I'm mostly happy with them. I wish the bookmarks bar would change depending on the currently selected tab however.
I use profiles not containers, and have links opening using the correct profile by wrapping stuff with the `BROWSER` environment variable. For example my Signal.desktop launcher contains this line
This is a really cool trick, but the nice thing about containers is that you can do this based on where the link is going rather than where the link is coming from.
I use profiles because I want state isolated for my purpose, not per web origin. So for example, I may need to visit google sites related to my employer's Gsuite, or my personal account used with GMail and phone, or as an anonymous user.
This also means that I have become somewhat resistant to scripted UI integrations. I don't really want my apps or sites calling willy-nilly into each other. I want _links_ which I can deliberately copy/paste into different profiles depending on my goals. E.g. do I want to visit someone's Google drive shared link as my personal account, work account, or anonymously so it doesn't pollute either of my drive UIs?
You could set BROWSER to a script which takes a URL on its command line, uses zenity to pop up a dialogue box showing it to you, with a button for each browser profile, then opens it in the selected one. With buttons for "Do not open", "Copy to clipboard", etc.
Just the dialog box with $1 should suffice. I do this on Windows. I can copy it to whichever appropriate browser, or simply dismiss it. I have my terrible source code somewhere on the Internet, but it should take less than couple femtoseconds for any HN readers to write their own, I suppose. I recommend everyone do this.
As I don't use them, I wonder if you can combine the two? So that every source is contained and each destination is contained as well. Might get a bit annoying with somethings, but.
I think this is about where the Signal App opens links you click within it. So all links opened in Signal always open in their personal Firefox profile for example
I've been making a "browser switcher" which you can set as the default browser and you can pick which browser to open links in (using a UI similar to the alt-tab UI). I currently have it working with Chrome profiles, but I suspect Firefox profiles wouldn't be too hard (so long as you can open a link in a specific profile from the command line).
The current version isn't really ready for public consumption right now I'm afraid (the current version has my favourite Chrome profiles hard coded, and some weird debug logging to a hard coded file location). But I have been meaning to clean up and release it. So perhaps I'll get around to that soon.
Great idea! I was thinking about something similar too. Having multiple browsers doesn't have to suck...and having to fiddle with galternatives or KDE systemsettings isn't ideal.
May I suggest you to add a small (and optional!) config file to automate your UI - like e.g.:
[Sources]
Telegram=chrome profile B
Discord=epiphany
[Destinations]
https://www.google.com=firefox profile A
If the config is there, you'd then only show the UI when neither sources nor destinations match (regexes). This would make it a must have tool IMHO :)
Yes, I'd love to do that. There is in fact already an app that does this on macOs (https://github.com/johnste/finicky). And you can chain them so that finicky runs first and then calls a chooser UI "browser" as a fallback. But I would like to incorporate it into my app so that I don't have to run two apps (and so that I can make it work cross-platform).
The problems you're outlining are solved in chrome, and any chromium browser. I'm not saying switch. I'm saying that people have been complaining about these to Mozilla for over a decade and they won't fix it.
Most of the link based stuff is solved in other browsers by opening the link in the last active profile/window you had open. Pretty simple solution. That's all it takes, Firefox however will open links in whatever default profile you have set.. regardless of if it's open or active or not. It's a terrible behaviour. Just fixing that one thing would solve most of the big complaints people have with profiles.
I always get downvoted for saying this, but containers are not a good solution for profiles, not out of the box, and not for anyone who wants to separate work/personal.
The average user shouldn't have to install a bunch of plugins and then configure them to get the functionality that profiles gives.
I'm baffled by that behavior with Firefox. After switching back to Firefox when I gave up on Edge, it took a lot of futzing around with plugins to mostly replicate what Edge/Chrome can do natively. I don't understand why Mozilla is trying to do it the way they are.
I've been using Hammerspoon[0] to direct different links to different browsers. With a little work you can basically make links open in the right place every time, assuming that the applications are opening links in the system browser and not doing their own thing.
I use both Slack and Discord webapps in the according profile, why not use that? They already run in sandboxed browser instances (I guess), so there's even less overhead running them in your browser. (I did not do extensive testing, so I might be wrong here)
You are basically saying "Don't use any native apps, ever". With chrome profiles, links are just opened in whatever profile window was last active (this is on Mac OS, but I think others are the same). It's the one thing keeping me with chrome (brave).
You should check out "Simple Tab Groups". You can bind tabs of a certain group to always open in a specific container. On top of it you get fantastic grouping, and hiding of tabs in groups, and other controls. In this way I have container groups segmented to their own views and have no issues controlling how existing logins work between different use cases. It's also easy to back up and share between machines.
I've written my own tiny Python script for this, that launches the right executable based on the URL. It works really well for my situation with two different Firefox profiles.
> So now I'm using Firefox containers and I'm mostly happy with them.
Seconded if for no other reason, I rarely restart my browser.
As an aside: Each night I copy my profiles over to a Firefox instance in a VM. I access it as a remote app so I can get to my containers/logins while I'm away.
With some revamp they could capitalize on some of them much more. After newtab, the last addition was "Firefox View" for recently closed tabs or synced tabs. I'd wish the same for history, bookmarks and downloads. Those very much show their origin as sqlite browser.
I don't think so, unless they mean that the individual profiles themselves can't be bookmarked. I certainly have about:profiles bookmarked only to make it appear in the URL bar slightly faster when I start typing, but it also does open through the bookmarks menu.
Yeah, that's become my main use for bookmarks. I prefer to treat the URL bar like a CLI as much as I can, and to not have the bookmarks bar take up space.
Actually, it would be kind of awesome if the URL bar really could act more like a command line for the browser. Hmmm.
Seems I was thoroughly misremembering. I guess I was thinking it nice to be able to pin it to New Tab or make it a toolbar button or something, and my brain just compacted that beyond recognition. Sorry for that.
I think it's OK to expect "normal people" to do that, but I've been trying to embrace my OS's feature sets (stuff like desktop shortcuts) to configure my computer how I want it to.
There can be some digging involved, but if you get things set up then you can have your cake and eat it too (most of the time at least)
Indeed. Clearly, the reasons for not making this a bit easier, are not technical. It's there and I know I can create shortcuts and launch apps with parameters but why should I go through this trouble. After I have configured everything, I don't want to tinker with my browser outside work.
You can take this a step further. You can copy the existing firefox.application to ~/.local/share/applications in triplicate.
Leave the first the same, but add Hidden=true, NoDisplay=true. Then rename the other two "personal.desktop" "companyname.desktop" and change the Name values inside, and add "-P {personal/companyname}" to the Exec line.
Now your application launcher, if functioning correctly, should hide the default Firefox instance (which due to stupid Firefox behavior can do... unpredictable things), and instead you can type "personal" or "companyname" to have Firefox launch with those specific profiles.
It's really quite fantastic, as good a solution as any I could ask for.
I'm 5 days, late, but yes, I changed the Icon directive, and also I use a tiling WM and different themes per profile, so there's zero chance of mixing them up.
You can also add [Desktop action ...] sections to your .desktop file for each profile, this will add new right-click/context menu options for easy launching of the profiles from your Linux dock.
The windows equiv is .lnk. Or in GUI windows world create a shortcut and then modify the launching parameters using properties on the lnk file. You could also drop the string into .bat/.cmd files (but that would probably leave a cmd box running in the background). Downside to .lnk files is they are binary so you have to use an editor that understands them (like windows explorer).
I do that for dedicated netflix profile (with company icon) having DRM enabled, very useful.
If Firefox did extend the Profile Manager to allow for this kind of personalisation and OS integration (profiles showing up as their own, customizeable launcher icon), that'd be another win.
Wait.. does this make the profile switching UX nearly identical to chrome? I abandoned a switch attempt because I found containers inadequate and profile switching too cumbersome.
That is not an extension maintained by Mozilla. Why do you think it’s needed for profiles? Profiles are built into Firefox and don’t need an extension to be used.
The in-browser support/UX - the ever present menu options and keyboard shortcuts - are what make Profiles so much better to use in Chrome than in Firefox. The extension attempts to bridge that gap.
Having to use about:profiles or an external application shortcut is a much worse experience overall.
That's a useful tip. I need access to several Microsoft live/AD/teams accounts, and they just don't work well in the same browser session.
I've been using chrome profiles to separate these because the Firefox ones were a little clunky; for some reason it never occurred to me to create shortcuts per profile. Thanks!
Yeah, I used to have the same issue with AWS because they kept your account in your session. Having containers for these things is much better than multiple profiles.
As you mentioned this, there is now a Firefox add-on that automatically creates the containers from the AWS SSO landing page as you click into your various accounts. It removes the need to create them manually with the Multi Account Containers add-on.
Containers with a vertical tab manager (like Sidebery) are chef's kiss, you can create separate tab panels for each container (and configure a container to open in a certain tab panel) so you get even more differentiation of context for each container.
> I have Treestyletabs in one and Sidebery in another, just to evaluate both and see for myself
You don't have to put them in separate browsers/profiles, you can just switch which one takes the sidebar, on the fly. I use both Grasshopper[1] and Tab Center Reborn or Sideberry and switch between on the fly them depending on what features I need at any specific moment.
Sadly, chrome does a much better job (for me) with chrome profiles and how well they are integrated. Extensions, shorcuts and everything. This is the ONLY thing that keeps me on chrome. Otherwise I would go FF. Safari added new profiles a few days ago. Will test it, and maybe switch to that
If only there would a user friendly/intuitive way to switch profiles like in every other chromium browser.
I tried using the about:profile and created multiple profiles with cli but it is not user friendly at all.
Meanwhile, I am a big fan of multi containers in firefox and wish it was in chrome or edge.
Firefox profiles are indeed great. Especially as they're so easy to backup and restore across machines, even different OS. Some simple fiddling with installs.ini and profiles.ini then run Firefox with -P as you say and you're good to go.
I've used this process for over a decade, probably more than 15 years now I think about it. Hard to remember! Sadly it doesn't work with Firefox on Ubuntu anymore due to that being a snap package. I'm sure there is a simple enough solution to get it working the same with the snap version but I instead prefer to remove the snap version of Firefox on Ubuntu and use the release directly from download.mozilla.org as I have the download, install and restore all automated for Windows, macOS and Linux so why make my life harder with snaps just for Ubuntu? :)
I just copy the profile directory. I managed to implant a profile from windows to manjaro, then Ubuntu. Though I don't remember what I had to deal with in canonical's case and their snaps, it could not have been that hard given that I did it.
Does cloning profiles (by copying an existing profile content to a new folder with a new name) work seamlessly? Or does every profile have some unique identifier that can cause problems if just copied over?
The reason I ask is because I have some basic setup config that I would rather not have to manually re-do for every profile.
In my experience, just copying an existing profile to a new folder doesn't work -- you're backing up your data, but you're not creating a new profile.
So what I typically do is first create a new profile via Firefox' UI, then I just copy the data of the profile I want to clone into the corresponding data folder of the profile I just created.
As long as a `-P profilenamehere` argument is specified, that dialog doesn't pop up (that's why I said "I barely ever see the profile management dialogue"). Just edit the default Firefox shortcut to have a `-P default` argument in its command section, and you can avoid the profile selection dialog.
Am a firefox user since 0.9. I see there's a lot of love for Firefox in the responsonses here.
However, the profile UI and general managment experience compared to Chrome/Edge is pure trash. No, container tabs is not a viable substitute (my work and my personal profiles don't even share bookmarks). Yes am aware of a third party addon that requires additional software to be installed - this just proves the point further.
So today I'm using Firefox only for personal and chrome (/edge) profiles for everything else. Only reason I am sticking with Firefox is because of the Android version. If I could get ublock origin working on edge/chrome on android I'd probably abandon Firefox.
Safari really nailed their profile implementation in that regard - separate bookmarks, history and session and that in addition to tab groups. I think Firefox is not far from this, only if they could refine the experience.
Safari seems to be less intrusive about the boundary between profiles. For instance, you can use the same bookmarks and favourites if you wanted to, and you don't have to reinstall all extensions (just turn them on and off per profile).
You also don't need an account to create a profile (where I think Chrome requires sign in with Google for each profile, at least on iOS), Safari is happy to sync all profiles, extensions, tab groups, start page settings etc through iCloud with your Apple ID.
Disagree. They serve different purposes, and are both very useful. And it's not like the profiles system needs vast developer resources that containers "sucked up" or something, the problem with profiles is mainly a UX/design issue, and even more pertinently, a lack-of-attention issue.
What's so bad about typing in: about:profiles, into the address bar and selecting the profile you want to use? Or even creating a shortcut with the: -p, option to select one n starting Firefox.
Genuinely, what else are chrome/edge offering that is a deal breaker for you?
This is available in the: about:profiles, page. But not directly from the UI. I tend to use, like others here have suggested, desktop shortcuts that open profiles directly.
> Genuinely, what else are chrome/edge offering that is a deal breaker for you?
Unless you fiddle around with using different themes for each profile, or install kludgy extensions, there's nothing indicating which profile a window is currently using.
You might not mind, but it's a papercut for a regular user wanting to use profiles.
The thing is that it's a also problem that can easily be resolved with some small UI tweaks. Everything we need for first class handling of profiles in Firefox already exists, save a more intuitive UI.
How does one launch a profile from the about:profiles page? ;)
It's a concept that is first class supported and easy to use in all othe browsers. There is just a ton of usability issues across the board, even with the third party addon.
I suppose it's just what you're used to. Once you're at about:profiles you're presented with a list of profiles to open and options to create new ones. Fairly simple to use, though from other comments not as obvious as other browsers.
From any browser window and any context, I can use CMD+Shift+M and either open a new window in a different profile, or switch to the first available window for that profile. The browser then clearly indicates which profile I am in and has some UI elements for it as well.
So it's just like any other core browser feature: having it being integrated into the experience directly, and being able to use it from anywhere, with a shortcut or clear UI element, is a much better experience than having to navigate to a settings page or use a bespoke application shortcut.
If having to open a bookmark always required opening a bookmark webpage, instead of the bookmark list or the url bar integrations, then that would be a much worse experience and certainly a reason to prefer one browser over another.
You know what most people do not even know this exists. Even if it exists why would they prefer this instead of just clicking user icon and switching their profile as in chrome or edge.
Most people like simple and boring UI which is straight forward.
Yeah, and also I’d like it to ask me what container to open for a website sometimes, out of remembered ones. E.g. I have a website I use in just two containers (out of 15), and I like it to ask each time I open a new instance, so I won’t have to choose out of all my instances, just those two.
I'm a heavy user of Firefox profiles, but I have two major feature requests:
- Allow better visual distinction of profiles, e.g. giving them different colors. When you have multiple browsers open on multiple profiles, it's easy to get confused.
- Create a better UX when accidentally launching a profile that's already running. Currrently what happens is that it waits for a timeout and then displays an error message. Instead, it should just give focus to the window already running.
I use https://color.firefox.com/ to differentiate. It's a solid theming system that they built a few years ago, promoted for about a week and then never mentioned again. Probably because they'd rather promote their braindead self-destructing themes (sorry, 'Colorways drops')
My solution to both of these has been to create separate .desktop entries for each profile and give each a theme and a custom icon. That way I can know from the window manager which profiles I have open and which one I'm looking at according to the theme. You can then launch a specific profile through the icon, with Super->"ffwork", or with the right-click->open new window if you have it open already.
The main problem is that I have completely forgotten how to do this multiple times across different machines and I never remember which combo of FF flags and .desktop values necessary to get instances identifying themselves to the dwm as a separate program. I think this is correct though https://askubuntu.com/questions/1209434/how-to-display-two-d...
>Allow better visual distinction of profiles, e.g. giving them different colors. When you have multiple browsers open on multiple profiles, it's easy to get confused.
This would be nice, but one thing you can do for now (though it takes some discipline to not screw up) is to use separate virtual desktops, and put the different profiles on different desktops.
> Allow better visual distinction of profiles, e.g. giving them different colors.
I use the profiles in Brave for that exact reason. The ability to have different colors on the icons in the taskbar and the browser chrome was the reason I gave Brave a go in the first place. Now it is a feature I cannot live without.
I have a number instances + one with Chrome/macOS for each client/entity and certain activities.
Each browser has a different set of extensions, and adblock rules (I can't go on hackernews, except with my social media browser). My main development browser has more dev extensions for example.
It also makes tab-management easier, as I can just close the "work browser". All of them have a separate instance, icon, and color. It helps me focus, as I don't accidentally see time-wasting websites, and if I'm not in my media browser, I'll get an error when trying to navigate to one of them out of habit.
It wasn't easy to get working perfectly, as I had to create multiple instances of Chrome, which also means signing the apps. All profiles and app-data are in a separate folder. Not doing it like this means you don't get to cmd-tab to the other browser.
I have the same approach and extend the habit to mobile.
I use regular Android Firefox with extensions like Ublock Origin for fun browsing, then have the beta Firefox with same extensions for always in private mode browsing and finally Chrome for all work stuff.
I tried using the profiles, but found them too exhausting to handle, especially with the way multiple windows of the same application are handled in MacOS.
Brave does profiles perfectly. And they have sync chains - so no online accounts needed. Unfortunately their mobile browser have only one profile which is annoying. It should not be hard to implement it.
" Within the browser, you can create browser profiles. As such, you can have different windows open with different profile, but all on the same instance of Brave. "
I don't use any accounts with my chrome browsers where I don't want to. Syncing of profile data should be possible using any synced file service.
Firefox profiles are great, not denying that. And disabling JS is very important, I've been using noscript for many, many years. Can't even remember when I started.
But having two profiles to switch between JS and non-JS seems like a massive hassle to me. I just hit shift+t in noscript and it temporarily removes restrictions on a tab.
Noscript mainly protects you from those unknown tabs being opened by malware, that you don't expect. But usually on a huge website like theregister or etsy you can disable that while you do your business.
One feature I'd love to see in noscript though is globally disabling noscript by domain. And that is mainly due to AWS using randomized cloudfront subdomains to include assets.
I don't want to whitelist *.cloudfront because anybody can use that to host malware.
I have uBlock origin installed already, but do they do what I want? Maybe you misunderstood me.
I want to go into the aws console and based on the primary domain (in the url bar) I want to allow all JS for that tab automatically, if that pre-condition is met.
Noscript right now can only whitelist specific domains. So if the primary domain is amazonaws.com and it includes assets from 123.cloudfront.com then there is no way to temporarily whitelist 123.cloudfront.com automatically when I enter amazonaws.com. It has to be done manually.
I don't think I did. uMatrix makes this easy to configure with a couple of clicks. uBlock Origin can probably do it as well, but not as easily; it might require text-based configuration.
As I said, check them out. (And please note that uBlock Origin is not the same as uBlock. Avoid the latter.)
> I want to go into the aws console and based on the primary domain (in the url bar) I want to allow all JS for that tab automatically, if that pre-condition is met.
Fun fact: you can assign each separate Firefox instance a different X window class with the --class flag. Then your window manager may be configured to raise windows with that class to the top.
E.g. I have something like this in my StumpWM config:
Then all I need to do is type hyper-shift-f and the Javascript Firefox is either raised to the top or if there is none, one is run. Meanwhile, hyper-f raises my normal Firefox.
Highly recommended; I hope that I will be able to continue using it in the future. Does Wayland support window classes and the hyper key?
I started this approach recently, I also change the theme of those Firefox profiles so I remember to close all windows. It is satisfying to keep things separate, and also quite useful to launch somethings as limited apps in a desktop environment.
There are lots of things that could be done better, maybe crowd sourced Android/iOS style permissions per website.
It might be an unpopular opinion, but I think the days when JavaScript was an optional part of the web are past. Now it is an inherent part of the web. We need to accept that there is no going back to the days when it was not. Instead of trying to convince websites to design nonscript versions, we should look for solutions on how to make JavaScript safe. I do not have the answer, but sandboxing, security domains, and rich permission models are things worth considering.
Unnecessary is key. Fancy animations, interaction reminders, cookie popups... they arent "necessary", but they make the experience _mostly_ better for both users (convenience), developers (easier development) AND management. Parent comment is unfortunately right, the web without JS will only be niche platforms designed for the noJS auidence
Animations and eyecandy don't require arbitrary code execution and should be handled by css, if at all. Almost all websites can be served as data, with the client free to render it how it chooses, which enables far more elegant and unified UIs than anything we have now.
Windows Phone 7 was a brilliant example of this. It was one last attempt by a large player to unite social media sites and messengers into one UI and interaction framework, and it was the most fluid, beautiful and pleasant OS I've used. Now that kind of interoperability would be borderline illegal. When you strip control away from devs about how their data is rendered, the results are generally more beautiful, not less.
I'm guessing that interaction reminders are those modals that appear when you go to close the tab, or prompt you to subscribe when scrolling down further. I would classify both as totally unnecessary and making the experience worse for users. They also do not require arbitrary code execution.
Cookie popups are a result of the ad-centered, panopticon-enabling web.
I know what I'm describing is far and above nojs. What I'm trying to get at is the motivation for disabling js, and what the web would look that if that principle were followed to it's logical conclusion.
I see people reporting browsing the web with Javascript disabled and I cannot but wonder what is their experience. Not to dismiss them, of course, but I cannot for the life of me figure out what would be of my browsing habits without JS. Perhaps it sounds worse than it really is.
I dont think I've heard of anyone avoiding JS completely. TFA mentions using JS.
My approach is to use the NoScript extension and only allowlist the minimum to get web apps to run. Most news sites work fine (i.e. are readable) without JS, so often I just see faster page load times and decreased data transfer. Even fewer ads and decreased tracking are great too, but secondary benefits.
I don't think my browsing habits are different since adopting this approach. I use NoScript to cut the junk and improve the experience.
You're not wrong saying that javascript is pretty much mandatory, but it's more de facto. To come out and mandate it would be wrong.
Unfortunately the web is in a state that's worse than just javascript... it's regressed into only supporting certain browsers cough chrome cough. Just one example (i've got more personally) from recently: you can't book flights in air india's website with firefox, but it works in chrome.
> we should look for solutions on how to make JavaScript safe
I'm using Qubes OS, which allows to run many sandboxed Firefox instances, with colorful window frames. I run JavaScript without a fear, since each Firefox runs in its own VM, with no data in it.
I've never tried it, but you can probably transfer entire browsing sessions from sessionstore-backups/. I've used those to rescue lost tabs which Firefox failed to recover auto-magically. The compression format is idiosyncratic; Debian has an out-of-the-box tool for working with it — lz4jsoncat from the package lz4json.
Wish more was said about how this makes the author's life better. Seems to me that most websites would break in small ways without JS, which would be really annoying to deal with.
I’m not really even sure what Private Browsing isn’t enough for the author’s use case. It does pretty much everything they need like revolving around cookies and local data.
I guess they just want to disable JavaScript, because that proves you’re a smart computer nerd, or something.
Disabling JavaScript is like the computer version of fasting.
I have set up firefox to prompt for a profile when it is started. So my workflow for browsing the web at home is to connect to a vpn, start up firefox, select a profile at random (except for the top one), and do my thing. Each profile is set to remove cookies, history, etc on close. I have more than one privacy-oriented profile because in case things are leaking hopefully I'm hitting sites from different profiles and at least confusing the trackers somewhat. I also randomly select a vpn server to connect to. I keep one tab (the top one) that I use in the open for sites that won't let me connect with a vpn, like my bank.
I keep bookmarks in a local html file which is set as the homepage for each profile.
All so I can watch let's play videos or research an obscure technical topic or whatever.
biggest problem is clicking a link outside of the browser... which one will it open in? seems to be the first opened, but then you want to open a link and that browser wants to update, so you have to restart it.. now it's not the first opened anymore, so you have to close all other browsers too before opening the first again and then the others.
I use them for multiuser and multi-purpose usecases. And it combines nicely with "Progressive Web Apps" so I can have, for example, a youtube app that has all my youtube specific extensions.
The only time I have had friction with profiles, is with some Google SSO as I use an unofficial extension called Google Container and sometimes the redirect just doesn't work.
I do something similar, but I use a bash script with rofi to display a menu of available profiles. I then bind a hotkey (Super-Shift-P for Profiles) that launches the script.
I use Firefox for my daily driver, but for profiles I use librewolf. This makes it easier to keep things separated when using the window manager to switch between windows of the same class (which I bind to Super-`).
#!/usr/bin/env bash
BROWSER="librewolf"
typeset -A menu
# empty value means value is the same as the key
menu["personal"]=""
menu["banking"]=""
rofi_args=(
-p "$BROWSER profile"
-dmenu
-i # case-insensitive
-font "Hack 20"
)
if selection=$(printf "%s\n" "${!menu[@]}" | sort -u | rofi "${rofi_args[@]}"); then
profile=${menu[$selection]}
profile=${profile:-$selection}
nohup "$BROWSER" -P "$profile" &>/dev/null &
fi
I take a slightly different approach. I also have two profiles, but I almost never use the "just make it work" profile, because I can basically do everything I want to do with my main profile. The main profile has two extensions, uBlock Origin default settings except javascript off by default, and multi-account containers. Privacy/security settings are generally dialed to the max (sanitize on close, RFP on, HTTPS everywhere).
If I have to use javascript, it's a simple toggle in uBlock. If you have concerns about cross-site cookies/browsing multiple sites, you can use multi-account containers for extra protection and/or have first-party isolation on in about:config.
> (I implement this second stock Firefox environment not with a profile but by changing the $HOME environment variable before I run this Firefox. Firefox on Unix helpfully respects $HOME and having the two environments be completely separate avoids various potential problems.)
Curious what problems the author is referring to here.
I've been using three profiles for some time now and it works great.
One is a profile that I exclusively run in a Linux network namespace, where all traffic is routed over a wireguard VPN. A shellscript sets up the namespace, connects to a randomly selected VPN server, sets up routing and launches the Firefox profile in that namespace. That shell script is launched through a custom key shortcut.
The "normal profile" does not have many anti-tracking measures and privacy extensions enabled. I use this one for online banking or other personal activities which I don't want to route over a VPN. It's also synced with my phone.
A third profile is restricted to certain websites. It's pretty much a default Firefox, except for ublock. ublock filters ensure that only selected websites can be browsed in this profile. This profile does not clear cookies on exit etc. I use mainly it for web apps that require login.
There's Firefox Focus on mobile, which clears anything when a tab is closed. And it has special notification-like reminders which make closing a tab easy, like Chrome incognito mode.
Clear browsing history is the default action.
It has ad blocking included.
It's essentially an incognito mode browser.
One of the biggest issues ever was enabling JavaScript by default. It shall not!
I already mentioned it for Epiphany once, using JavaScript shall require a permission like location, video or audio. Both Mozilla and WebKit made mistakes back in the 2000s. If a website needs to do manipulate the DOM or use my CPU/RAM for arbitrary calculations this shall require permission.
It impressice how fast some websites load without JavaScript. I use it myself when needed but the misuse of JavaScript is everywhere. From bloated libraries to loading them from remote locations and moving images around (moving it at random intervals…while the site loads slowly) to mining Bitcoins (We were warned?). Ironically you can even dodge nasty cookie permissions without JS.
Open multiple profiles of Chrome on MS Windows and each profile/browser instance is separate on the taskbar and not grouped - BUT if you quit one Chrome window you quit all chrome windows regardless of profile.
Open multiple profiles of Firefox on MS Windows and they all get grouped together but you can quit each profile independently of other firefox profiles already open.
These differences get annoying very quickly for me.
On mac Firefox loads separate instances that each get their own launched app icon in the Dock. For chrome all profiles are windows of one chrome instance, quit one you quit them all.
These inverse/different behaviors annoys me since I use Firefox and chrome. I also dont like the whole "about:profiles" just make it a compact menu somehow. And no i dont want to tweak css.
I've got a custom browser launcher, let's me pick a browser/profile combination for every link I click (outside of a browser). Keeps my Chrome and FF profiles clean. And easy for non-incognito but still disposable sessions.
I think I went one step further because all of my tabs by default is another temporary container. I have been using https://addons.mozilla.org/en-US/firefox/addon/temporary-con... extension which allows you to create completely clean tabs every-time you open a new tab.
I know this might sound crazy but I am so used it by now so it doesn't hurt much anymore. Also, I can login to any website with 1-3 clicks thanks for password managers so not a big deal.
I've been using this for 1 or 2 years and it makes my life so much easier... I don't understand why Firefox doesn't make this and Multi-account containers an integral part of the browser.
Firefox profiles are not a user exposed feature. If you want to use multiple profiles at the same time then you have to use the command line to manually start multiple Firefox processes.
I hate to admit it but Chromes profiles are far superior for me to keep different “Personas” separate. They run in the same process but in separate windows.
By far the easiest way keep for example work and personal browsing separated. I give the profiles a different theme so that their windows are easily recognized.
Coincidentally, I wrote a post this week on how to make a "Amazon Music Player "app" for Linux using a custom Firefox profile: https://www.mulle-kybernetik.com/weblog/2023/amzn_music_play.... Wrapping more websites into their own profiles is sorta tempting :)
I am a huge fan of Firefox, and have small startup scripts for different profiles. Sadly, together with Microsoft Teams on my work Mac, Firefox causes it to switch on the fan.
This does not happen with Safari (which also supports Profiles, even with a button in the UI). So, I see me using Safari more and more on my work Mac, although there is the occasional page that doesn't render properly in it.
> accepts and gives back all of those cookies, and so on, and then it throws cookies and everything away when I close it.
Is this really better than just keeping them? Then he has to use some type of plugin to accept those cookies every time he visits the same sites? Otherwise that js-enabled browser sounds just as inconvenient as his js-disabled browser he uses as his default.
I love Firefox profiles, and also the jails options (i used it for example for Facebook and Instagram).
But since I've started used Chromium based Arc browser, nothing compares; I still use Firefox for AWS management (with Granted.dev) but anything else i use Arc
I have found this hard to make work well on a Mac, with the end-state that I use Firefox Developer Edition for work, and regular Firefox for personal + Choosy to make sure the right links end up in the right browser. Could certainly work better, but is sufficient
on the meantime, sudden disappearance of ctrl+tab support for cycling through tabs on Firefox 118.0.2 (64-bit) and macOS is making my browsing experience miserable.
I've tried googling for an answer, hopelessly. I have activated the option in preferences to no avail.
It works on my macOS install, so I would investigate if any keyboard shortcuts have been tempered on the system preferences.
A way to check that if to try to set the tab cycling on another shortcut on firefox. If it works you can be quite confident that something else is at play.
The fact that you have very few results in your issue research is also a strong indicator that the problem might be specific to your setup.
yeah. That was it. ctrl+tab was set to cycle through app windows system wide. I had been grumbling for almost half a year. I've set it to ctrl+alt+tab. I'm looking forward to discover the unexpected incompatibilities.
I had set ctrl+tab to "move focus to the next window" as cmd+tab shows applications. It was cycling through tabs anyway on Safari and Chromium
If that helps, i've set app windows cycling to ⌘+<key above tab>, which is ⌘+@ on my azerty keyboard. I don't think it's a commonly used shortcut on qwerty either.
I didn’t read TFA but I’ve
been using multiple profiles in Chrome for several years now - for work and personal use. Is the FF version of this any different/better than Chrome’s (beside FF’s implementation of Containers)?
I actually really hate browser profiles. I use them in Firefox, but via Developer Edition, because otherwise taskbar/dock grouping is a pain. And only for work. My browsing is just not deliberate enough, I end up searching for docs in a work context in my normal browser half the time anyway. And setting up these little intercepting fake browsers like Choosey is a pain too. And then there's the lack of portability - particularly some Chromium based browsers just don't sync the options they want to force on you via defaults, but Firefox also isn't perfect here.
And then there's things that just don't work in Firefox. Sorry, I have to use Teams and I'd like video to not freeze randomly. I don't like it either.
I personally use bwrap, mainly for a chroot on steroids and to encapsulate things strictly (e.g. unshare namespaces) rather than profiles. In addition to more persistent "wraps" (e.g. ff may write to a wrap-specific XDG_DOWNLOAD_DIR) I have an "empty" profile (including some extensions) to fire up in a pure ramfs wrap. That allows to keep my disk clean, to separate customers from each other, to separate work from personal browsing, and in terms of development/debugging to ignore cache- related issues.
Hm. I think it is advisable to just use several browsers. One for banking and some shopping (plane ticket websites can be quite fragile) and one for surfing.
I use firefox for surving. This are my plug-ins:
Allow Right-Click
Bypass Paywalls Clean
ClearURLs
I don't care about cookies
NoScript
Privacy Badger
Startpage.com
Turbo Download Manager
uBlacklist
uBlock Origin
Temporary Containers:
Open tabs, websites, and links in automatically managed disposable containers. Containers isolate the data websites store (cookies, cache, and more) from each other, further enhancing your privacy while you browse.
And some more, that are unlikely to be useful for you but have some use for me:
I use chrome profiles to get some structural separation between work, personal and inbetween. One has 1password and two have bitwarden, I can install different chrome extensions and maintain different chrome logged in sync states.
I didn't find Firefox tabgroups did it enough for me.
Well no, the Firefox equivalent to Chrome profiles isn't tab groups, it's Firefox profiles, or possibly containers ( https://news.ycombinator.com/item?id=37953149 ). Though I'll agree that Chrome's UI is better.
I tried the containerised tab groups and they were OK but some of the menu logic defeated me. Having multiple Gmail identities proved almost impossible to "automate" suggesting the url/cookie mapping and storage wasn't able to discriminate different Gmail bindings. It kept selecting one tab group for the two accounts by default.
I would try multiple profiles if the UI was better.
There's another called Proxy Containers so I can have separate tabs taking separate paths out.
There are many benefits to Chrome and it's dev tools, and I respect the Firefox mission more for all the shit Mozilla has done. But I'm bound to Firefox regardless of the pros and cons because it's the only browser that can do this.