Hacker News new | ask | show | jobs
by Fats 2064 days ago
What I've been doing was to set up a browser profile (local) for each main context. If I have a set of work accounts (google, github, etc.), I have a 'work' profile for it. This isolates all cookies related to 'work' at once, as well as bookmarks, saved tabs, extensions, and settings. It's a total context switcher.
2 comments

Profiles definitely have the basic functionality, but I like to keep all my extensions the same across my containers, and it's also easy to set up rules such that a certain site will always open in a certain container. You don't have to think about it at all.
I want my extensions to share the base configuration but have some different settings in different contexts.

Like, allow some tracking & advertising for "shopping" container, but block it otherwise. I don't mind having a special self-curated image where my in-scope browsing is tracked and analyzed. Now, I just have a separate browser (Chrome) for this - because it's more straightforward and less error-prone.

Or a sandbox development & local resource management profile where nothing but localhost and LAN addresses are allowed. And then block such access for any other profile - for security reasons.

Or allow, let's say, Grammarly extension on a few selected websites (like HN), where all I write is public and I would benefit from machines aiding my writing without any privacy concerts, but don't give it any chance to see my private correspondence.

Unfortunately, that's not possible with containers, and profiles are quite cumbersome.

excluding extensions is the exact reason I use profiles (I don't want any with access to my banking)

I use containers liberally also

You can open a private window when doing your banking, extensions aren't allowed there by default.
Good idea but this doesn't save history which can be useful sometimes.
I'm also doing this in chrome. I have about 5 different profiles, aliased to things like `chrome-work`, `chrome-personal`, `chrome-dev', etc. I would love to use FF, but iirc FF doesn't provide something like `firefox --profile=someIdentifier` that opens a new window in my desired profile.

edit: Apparently this is bad info. I'll have to give it a try again.

It does. `firefox -no-remote -P <profile>`
There's also a firefox-bin. Anyone know what the difference between firefox and firefox-bin is nowadays?

I believe that in the far past firefox-bin was the firefox binary, and firefox was a shell script that would do things like notice you already have a firefox-bin instance open and signal it to open a new window rather than launching a new firefox-bin instance.

But nowadays, firefox and firefox-bin seem almost the same. On the current release version on Mac, for example, both are binaries, with firefox-bin 40320 bytes and firefox just 16 bytes bigger.

Info.plist in /Applications/Firefox.app/Contents gives firefox is the executable to run. I'm not sure what role firefox-bin has now, if any.

Grabbing the source and building it myself results in firefox and firefox-bin matching.

https://bugzilla.mozilla.org/show_bug.cgi?id=658850 has some background, it seems at least sometimes they are identical
I used to always include `--no-remote` here but it seems `firefox -P <profile>` now works, too, even when another Firefox instance is already running. Is anyone experiencing the same?
When I last tested, it varied by platform.

Linux was happy to open a new instance without the `--new-instance` option (which is implied by `--no-remote`), but macOS required it.

If you're already in FF, consider using about:profiles as well, the old profile manager GUI was integrated into the browser itself a while ago.
Or a shortcut with `firefox --no-remote -ProfileManager` to always launch the profile dialog on bootup just like it is 90s Netscape all over again.
`firefox -P <profile name>` works like a charm for me?