Using extra Firefox profiles to make my life better
utcc.utoronto.ca
utcc.utoronto.ca
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.
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.
Are there any critical issues with this plugin?
Probably Firefox sync, but most likely the extension. I’ll use it again once it works.
Container Number: Reuse available numbers
Delete no longer needed Temporary Containers: After the last tab in it closes
https://addons.mozilla.org/en-US/firefox/addon/containerise/
Default Container: On
Container Name: tmp_{domain}
Lifetime: Until last tab is closed
Rule Addition: *.{domain}.{tld}
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.
- 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.
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)
My presrntation was definitely undercut by the methods I use to browse the internet, and using an HDMI adapter direct to iPhone.
To them… it was like I fired up a custom rolled Linux distro from 20 years in the future and used minority report hand controls on it.
Really set some expectations for me on my next presentation.
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.
By the way I've heard an extension author say that containers are not required with the new strict isolation features.
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.
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
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.
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.
- 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.
The Containerise addon lets you do both, thoug it hasn't been updated in a few years: https://addons.mozilla.org/en-US/firefox/addon/containerise/
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'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!
https://addons.mozilla.org/en-US/firefox/addon/multi-account...
But for other things, profiles are far superior.
https://addons.mozilla.org/en-GB/firefox/addon/aws-sso-conta...
OH! this is super clever after a decade of me typing about:config and other that I never remember completely ! this is so much easier ;p
Actually, it would be kind of awesome if the URL bar really could act more like a command line for the browser. Hmmm.
Firefox has useful about:about pages.
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.
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.
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.
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)
But honestly there is no reason to not also provide GUIs for using these features.
A simple GUI would do the trick.
Firefox really needs to integrate it!
https://addons.mozilla.org/en-GB/firefox/addon/profile-switc...
Having to use about:profiles or an external application shortcut is a much worse experience overall.
It just significantly improves quality of life when working with profiles, not that it is required.
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.
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.
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 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.
Exec=env BROWSER='firefox -P personal' signal-desktop -- %u
For other apps I use `firefox -P work`, e.g. a shell alias for AWS SSO.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?
I think a polished packaged cross platform app that does this would have some audience -akin to the intent dialogues on android & ios.
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 :)https://addons.mozilla.org/en-US/firefox/addon/simple-tab-gr...
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.
I use Mac and ended up implementing something that I can tweak easily, not polished but works.
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.
Maybe it works for others, too.
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.
(Also, because TST is familiar to me from years of usage, I'd probably end up never switching to Sidebery.)
Meanwhile, I am a big fan of multi containers in firefox and wish it was in chrome or edge.
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.
This issue was reported 13 years ago! https://bugzilla.mozilla.org/show_bug.cgi?id=662025
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.
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.
Genuinely, what else are chrome/edge offering that is a deal breaker for you?
Having a simple UI that you can just click and launch other profiles, really.
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.
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.
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.
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.
Most people like simple and boring UI which is straight forward.
Now I barely use profiles in Firefox while I have 5-6 profiles in Chrome for various things as it's much easier.
[1] https://addons.mozilla.org/en-US/firefox/addon/multi-account...
In Chrome I use profiles and set up those extensions on my "shopping" profile only.
In Firefox I use containers, but can't isolate these extensions the same way
- 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.
For that I simply use different themes and it works perfectly
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.
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...
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.
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.
https://community.brave.com/t/is-there-any-way-to-install-2-...
" 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.
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.
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 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.
uBlock can do exactly this.
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.)
E.g. I have something like this in my StumpWM config:
(defcommand javascript-firefox ()
(run-or-raise "firefox -P Javascript --class Firefox-javascript" '(:class "Firefox-javascript")))
(define-key *top-map* (kbd "H-F") "javascript-firefox")
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?
There are lots of things that could be done better, maybe crowd sourced Android/iOS style permissions per website.
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.
All of them work perfectly fine without JS! And only Stackoverflow (Markdown Preview) has a reason to use it at all.
Beyond the privacy/security benefits of not running arbitrary code in your browser, the web is a lot faster without JavaScript involved.
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.
Allowing arbitrary code execution by default cannot be safe.
90% of what JavaScript is used for is totally unnecessary and only makes sense in an ad-based web.
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.
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.
user.js is a config file you can put your default preferences into, and clone into new profiles:
https://kb.mozillazine.org/User.js_file
(The stuff you configure in the Firefox UI goes into prefs.js, which has the same format).
Things like bookmarks and browsing histories are sorted in places.sqlite. You can clone/transfer/sync those with whatever sqlite tool.
https://kb.mozillazine.org/Places.sqlite
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.
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.
> Disabling JavaScript is like the computer version of fasting.
And enabling it is like deep frying all your food ;^).
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.
While it's been ages since I last used Chrome I remember that it was so easy to switch between different profiles with a couple of clicks.
Firefox on the other hand really doesn't want you to use them: https://support.mozilla.org/en-US/kb/profile-manager-create-...
We just have to hope that at some point in the future they'll revamp it.
Profiles are super useful and allow to separate addons, bookmarks and history for different use patterns (normal browsing, dev, NSFW).
https://addons.mozilla.org/en-US/firefox/addon/google-contai...
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 &
fiIf 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.
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.
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 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 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 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.
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.
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.
Depends what your priorities are. If you're more concerned about convenience, then keeping them is almost certainly better.
If you're concerned about privacy, throwing away persistent identifiers like cookies when you close the browser is just good practice.
I personally like knowing that no cookies/residue from my previous browsing session are carried over to a new one.
https://github.com/linuxmint/webapp-manager
Should be in more distros. Allows some basic tweaking of profiles and supports more than just Firefox (unfortunately not qutebrowser, though).
https://addons.mozilla.org/en-GB/firefox/addon/profile-switc...
I've tried googling for an answer, hopelessly. I have activated the option in preferences to no avail.
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.
Thanks for the heads up.
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 find the very different visual identity helps with mental separation too so I notice when I’m in the “wrong” browser
That's not very convinient though.
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:
IP Address & Geolocation
FoxClocks
Perapera Chinese Popup Dictionary
I didn't find Firefox tabgroups did it enough for me.
I would try multiple profiles if the UI was better.
So I could have a "Hacker News browser", a "Github browser" etc and I can't accidentally go elsewhere with those?