I'm especially concerned about it being somehow broken, unwieldy, insecure or privacy-invasive.
Case in point; at times I have to rely on a Chromium-based browser if a website decides to misbehave on a Firefox-based browser. Out of the available options I gravitate towards Brave as it seems like the least bad out of the bunch.
Unfortunately, their RPM-package leaves a lot to be desired and has multiple times just been awful to deal with. So much so that I have been using another Chromium-based browser instead that's available directly from my distro's repos. But…, I would still switch to Brave in an instant if Brave was found in my distro's repos. A quick search on repology.org reveals that an up-to-date Brave is packaged in the AUR (unsurprisingly), Manjaro and Homebrew. I don't feel like changing distros for the sake of a single program, but adding Homebrew to my arsenal of universal package managers doesn't sound that bad. But, not all universal package managers are created equal, therefore I was interested to know how Homebrew fares compared to the others and if it handles the packaging of the browser without blemishing the capabilities of the browser's sandbox.
P.S. I expect people to recommend me Distrobox instead. Don't worry, I have been a staunch user of Distrobox for quite a while now. I have also run Brave through an Arch-distrobox in the past. But due to some concerns I've had, I chose to discontinue this. Btw, its Flatpak package ain't bad either. But unfortunately it's not official, so I choose to not make use of it for that reason.
I rely on flatpaks for all non-firefox browsers and haven't had any issues with them, I've used the brave flatpaks specifically for almost a year now and no issues…
it's still factual that flatpaks sandbox is weak by default, especially compared to what chromium provides on its own.
The web process sandboxing is basically the same inside and outside of flatpak.
Would you mind elaborating? First time hearing this and a quick search didn't resolve it.
https://github.com/refi64/zypak
It lets Chromium use flatpak sub-sandboxes and is basically identical to its normal sandbox in terms of permissions.
I am thankful that zypak exists so that Chromium-based browsers and Electron apps don't have to explicitly flag
--no-sandbox
to continue functioning. However, it doesn't undermine the fact that native Chromium's sandbox is more powerful than Flatpak's sandbox. As such, if one desires security, then one should gravitate towards the native installed one.Are you sure that's the case?
The sandbox is not weakened meaningfully. It’s in a different namespace, no filesystem, no network, no GPU, seccomp rules still applied.
Unfortunately, you didn't -to my knowledge- support nor retract your claim on Chromium using flatpak sub-sandboxes. Therefore, I find it hard to continue taking your words at face value.
I have enjoyed these interactions, so don't get me wrong; but if I (possibly) catch you on spreading misinformation (even if unintentional), then I find it hard to keep engagement up as there's no guarantee that anything else coming from you is actually correct.
I would love to be corrected on this though, so please feel free if I have misunderstood you or anything else that would revive this conversation. If not, then I would still like to thank you from the bottom of my heart for this friendly interaction we've had. Take care!
I linked the source but sure, I'll link it more for you.
The portal code is here: https://github.com/refi64/zypak/blob/ded79a2f8a509adc21834b95a9892073d4a91fdc/src/dbus/flatpak_portal_proxy.h
The actual code that Chromium calls is here: https://github.com/refi64/zypak/blob/ded79a2f8a509adc21834b95a9892073d4a91fdc/src/helper/spawn_latest.cc#L21
This calls the
org.freedesktop.portal.Flatpak
service.This service is here: https://github.com/flatpak/flatpak/tree/main/portal
The
Spawn
method creates a new sandbox completely isolated from the originating sandbox.deleted by creator
I think I already addressed that point with
If you meant something else, then please feel free to correct me.