rustybird / qubes-app-split-browser

Tor Browser (or Firefox) in a Qubes OS disposable, with persistent bookmarks and login credentials
BSD Zero Clause License
43 stars 8 forks source link

Support Chromium-based browsers #4

Open rustybird opened 3 years ago

rustybird commented 3 years ago

From https://github.com/QubesOS/qubes-issues/issues/2469#issuecomment-728911065:

Ideally, the browser-side code (currently Mozilla AutoConfig) would be rewritten as a WebExtension and then used for both Firefox- and Chromium-based browsers. And I do have a proof of concept lying around from >2 years ago; not even tested with anything besides Tor Browser back then, but it already seemed surprisingly tricky due to:

  1. WebExtension limitations: They can't override standard browser hotkeys. For some functions there's a good alternative (instead of overriding the "add bookmark" hotkey, the extension can handle "bookmark added" events), but some will just have to use worse hotkeys.

  2. WebExtension bugs: Tor Browser doesn't distinguish WebExtensions from websites in that both are blocked from talking to localhost (i.e. the qrexec service). I had to wedge in an ugly "native messaging" shim script relaying messages back and forth.

  3. Browser vendors just hell-bent on making it as hard as possible for the operating system to silently install an extension. Plus, ever more restrictive code signing / distribution channel requirements. I don't know what the situation is today - probably still doable with Firefox ESR (vs. mainline Firefox) and Chromium (vs. Chrome), but what a headache!

  4. Having to redesign how Split Browser configures the browser - things like setting the download directory.

I don't much use Chromium myself, so it hasn't been too appealing to work on this... even though it's such a a glaring omission.

Also, WebExtension APIs didn't seem to support Punycode last time I checked. I'd rather not include some large JavaScript IDN library attempting to duplicate this.

mf5y commented 3 years ago

I wouldn't call it a glaring omission -- I can't imagine many Qubes users use a Chromium-based browser. Unfortunate this wasn't asked in the recent survey

rustybird commented 3 years ago

Hmm yes, hard to say. ungoogled-chromium might have a notable amount of users.

adrelanos commented 3 years ago

I can't imagine many Qubes users use a Chromium-based browser.

How so?

mf5y commented 3 years ago

ungoogled-chromium might have a notable amount of users.

@rustybird I've seen that project in passing but never looked into it or tried it out. Is it well-adopted?

I can't imagine many Qubes users use a Chromium-based browser.

How so?

@adrelanos My thinking is primarily because the stock template VMs all come with Firefox / derivatives like Tor Browser already installed. Granted it isn't that much effort to switch to a different browser, however I just can't see many who use Qubes as their daily driver and are using Split Browser also using Chrome/ium. I tried looking around for some figures within the community to see which browser is preferred but aside from some (probably not very representative) Reddit comment sections I couldn't find much. So I'm just speaking from my own experiences here

I'm not saying Chromium integration shouldn't be considered at all, but I don't know that it would be worth the effort right now considering the hurdles, plus if it's gonna work with Chromium, it'd have to work with Chrome too, which I assume an even bigger challenge

rustybird commented 3 years ago

if it's gonna work with Chromium, it'd have to work with Chrome too, which I assume an even bigger challenge

Oh I'd be more than okay with targeting Chromium for a start, if Chrome is too difficult.

ungoogled-chromium might have a notable amount of users.

Is it well-adopted?

Looks like a popular project, judging by how many people starred it on GitHub. I figure it's a natural fit for the privacy-focused among the Qubes userbase, who probably want to avoid Chrome's and mainline Chromium's integration with Google services.