26
submitted 6 months ago by cyberwolfie@lemmy.ml to c/privacy@lemmy.ml

I have a specific issue I want to solve right now, but the topic is phrased more generally as I would love the answer to this as well. But this might be an XY-problem because of this, so here's the actual problem I want to solve:

I am using LibreWolf as my main browser, and it has WebGL disabled by default to avoid fingerprinting. I would like to keep it this way, but I am currently also making some internal tools for myself that requires WebGL (map renders with Plotly in Dash).

Is there a way to tell LibreWolf to enable WebGL only for specific sites, so that I don't have to manually toggle this when I want to look at my maps? My initial thought was that this could be solved with a site-specific about:config.

you are viewing a single comment's thread
view the rest of the comments
[-] ReversalHatchery@beehaw.org 5 points 6 months ago* (last edited 6 months ago)

You can't really separate any and all about:config settings per-site, neither the whole setting store in it's entirety, but there are a few workarounds.

Generally for any about:config: you can make separate firefox profiles with their own about:config variations and use those sites in their own profile.
You can use the in-browser profile manager at about:profiles, or the little window that allows selection before startup with the firefox -P command. Works on windows too, but with .exe and the full path to it.

Then there are certain about:config settings have a pair that limits or excludes certain sites (privacy.resistFingerprinting is like that)

For webgl, I'm not sure if there's such an about:config setting, but there's a workaround. I have reenabled webgl in about:config, and instead blocked it with a uBlock rule, and defined exceptions to that rule for a few sites where I want it to work:

*##+js(aopr, WebGLRenderingContext.prototype.getExtension)
*##+js(aopr, WebGLRenderingContext.prototype.getParameter)

demo.f4map.com#@#+js(aopr, WebGLRenderingContext.prototype.getExtension)
demo.f4map.com#@#+js(aopr, WebGLRenderingContext.prototype.getParameter)

duckduckgo.com#@#+js(aopr, WebGLRenderingContext.prototype.getExtension)
duckduckgo.com#@#+js(aopr, WebGLRenderingContext.prototype.getParameter)

The above uBO rules use scriptlets, there are various, they can do very specific funny things with websites by running code snippets preapproved by the uBO devs. The uBO wiki on github has docs on what does aopr do. There's also 2 exceptions, both for the maps.
When I first set it up I had known this as a proper webgl blocking solution, but if anyone could verify it I would be thankful. I think I got the first 2 lines from the uBO wiki, but I don't remember.

[-] cyberwolfie@lemmy.ml 4 points 6 months ago* (last edited 6 months ago)

Cheers, this seems to be a good way to solve this for me! And thanks for also giving a way to have different profiles, was not aware of that!

this post was submitted on 27 Apr 2024
26 points (96.4% liked)

Privacy

32024 readers
1014 users here now

A place to discuss privacy and freedom in the digital world.

Privacy has become a very important issue in modern society, with companies and governments constantly abusing their power, more and more people are waking up to the importance of digital privacy.

In this community everyone is welcome to post links and discuss topics related to privacy.

Some Rules

Related communities

Chat rooms

much thanks to @gary_host_laptop for the logo design :)

founded 5 years ago
MODERATORS