Firefox and Webapps

In your recent Video you mentioned Safari now has Webapps.

I am astonished at how little features Apples “everywhere-Browser” has, does it even support Addons?

Anyways, you mentioned Firefox doesnt support Webapps as the only Browser left, and thats true.

But I was wondering…

The Addon

It works by duplicating Firefox, using Mozillas Binary and everything, its quite weird.

The Addon creates a new profile, so every app gets a different FF Profile with its only purpose being opening this one Webapp (my default Profile is 600MB big!)

Apart from that all it does is change the UserChrome.css, removing the Tabbar, URL-bar and more.

So this is pretty horrible in two ways. Also it doesnt include Video Codecs on Distros like Fedora Kinoite, where you would just use the Flatpak, and it is not sandboxed.

Problems with using Firefox Webapps

“Just support Webapps” sounds bad for me. I (and every other user should) use Arkenfox user.js.

It hardens the Browser and removes many annoying tracking features, that on the other hand speed up performance. Web Serviceworkers, Supercookies, DOM-Storage, WebGL, all these.

When using Webapps you would want a hardened, but performant and persisting Firefox. No deletion of first-party Cookies, ever. No DOM-restriction, full right-click-menu changes, WebGL, Serviceworkers and so on.

Alternative Idea

So I think Webapps should not just be there in Firefoxes default profile. This may work on Safari or Chrome (-ium), but thats because they are probably not hardened.

Correct me if I am wrong, I am sure PWAs would also work on a hardened FF pretty well, but Webapps like Element Web and other Electron solutions should not have to be that restricted.

Also it would use the normal Firefox (Appstarter with --new-window in Linux) but with a seperate Profile. Maybe even the same Profile, or simply a “trusted Webapp” and a “untrusted Webapp” Profile. This could run every version of Firefox, after aliasing the Flatpak or the binary to work using firefox

An extra Profile

I would take the Arkenfox user.js and override nessecary changes

  • dont delete first party cookies
  • dont limit context menu manipulation
  • allow WebGL
  • allow Serviceworkers
  • allow Supercookies?
  • maybe remove RFP? unsure
  • allow Canvas

That way it would be hardened but taylored to the exact weakening it needs. I use this method to make my own Arkenfox setup usable (currently unmaintained)

I started a Github repo, feel free to join!

Editing the Firefox Addon to make it work will also be nessecary.

This looks doable!

1 Like