RequestPolicyContinued / requestpolicy

a web browser extension that gives you control over cross-site requests. Available for XUL/XPCOM-based browsers.
https://github.com/RequestPolicyContinued/requestpolicy/wiki
Other
252 stars 35 forks source link

Feature Request: Filtered/Partial/Anonymous Allowing of Requests #821

Open CorvusCorax opened 8 years ago

CorvusCorax commented 8 years ago

Issue: Many web pages rely on active content to work correctly and need certain Javascript libraries. However a questionable practice is to load the required JS libraries from 3rd party sites instead of providing them themselves. (Popular example: ajax.googleapis.com) This

Now in theory a privacy aware request policy user would have to block these 3rd party requests, because they do allow extensive user tracking. Doing so however often breaks the webpage in a non-recoverable way, so the user sometimes has no choice but to allow it.

Request Policy only lets you

Suggested improvement:

CorvusCorax commented 8 years ago

Just thought of a possible solution. There are already solutions to "anonymize" web requests. On one hand there's extensions that do that. But there's also local proxies like "privoxy" (often used in combination with TOR) to take care of that.

maybe a quick and dirty implementation of this would be to send these "filtered" requests through a proxy server instead of a direct connection. That should be much easier to implement than all the detailed request handling, and a dedicated program can then be used to handle them - with its own black and whitelists and rules.

request policy would then act as a frontend, routing requests either

Watilin commented 7 years ago

I support this idea, but a the same time I think we’re tripping on the edge of Request Policy’s scope.

Take a look at NoScript for example: an add-on to block JavaScript and other active content. This is its main purpose. But at the same time it demonstrates a case of featuritis: it comes with an XSS filter, a clickjacking protection, and that “Application Boundary Enforcer” thing, a sort of complicated web firewall which is activated by default and confuses users. NoScript has been criticized for reaching out of its scope because of this.

I like add-ons that do one job and that do it well. This proxy solution you’re proposing is a good idea indeed, but confusing for newcomers, who already have to learn the mechanics of Request Policy.

I agree some 3rd-party requests need to be “cleaned up”, but I think it’s not Request Policy’s job. By entrusting another add-on with this task, we allow both Request Policy and this other add-on to be more efficient and not grow an overly complex codebase.