RequestPolicy / requestpolicy

RequestPolicy is a Firefox extension that gives you control over cross-site requests. --- Be sure to look at the dev-1.0 branch as that's where all of the interesting work is happening. See also: https://www.requestpolicy.com/1.0.html
https://www.requestpolicy.com/
107 stars 17 forks source link

port RequestPolicy to Chromium (Google Chrome) #83

Open jsamuel opened 12 years ago

jsamuel commented 12 years ago
imported trac ticket
created: 2010-03-04 12:13:24
reporter: avicarmi

any chance of porting this to Chrome?

I am considering making it my default browser, now that it has extensions, but there are a few "must haves" on my list, the top of which is RequestPolicy.

thanks,

-avi

jsamuel commented 12 years ago
imported trac comment
created: 2011-03-21 16:14:50
author: justin

This request comes up pretty frequently. I'll use this ticket to track the status of Chromium APIs that would be needed for a Chromium implementation of !RequestPolicy. (I'm going to try to stick to calling it Chromium instead of Chrome.)

jsamuel commented 12 years ago
imported trac comment
created: 2011-03-21 16:21:09
author: justin

!RequestPolicy can't be implemented for Chromium at the moment. The fundamental problem is that Chromium's extension API still lacks features necessary for certain security extensions. AFAIK, one can't reliably stop many requests from Chromium extensions, and that's why there aren't some of the good security extensions in Chromium that people are used to in Firefox. See http://hackademix.net/2009/12/10/why-chrome-has-no-noscript/ for another example besides RP.

These lacking API features are known problems. For example, "interception" shows up here on this API wish list:

http://dev.chromium.org/developers/design-documents/extensions/apiwishlist

and here's a draft of what one part of the APIs might look like (look for "Synchronous (blocking) notifications?" on this page):

http://www.chromium.org/developers/design-documents/extensions/notifications-of-web-request-and-navigation

I haven't looked at this very closely because it's far enough in the future for me that the API may change significantly between now and then.

I'd be happy if someone could correct me on the feasibility of any of this. For example, it's likely that other people notice before I do when these APIs have been implemented.

jsamuel commented 12 years ago
imported trac comment
created: 2011-05-04 05:58:15
author: Dan

Justin,

Thanks for keeping up on this issue. I would love to be able to use your extension on chrome. I noticed this API has recently become available, is this what we have been waiting on to create RP for chrome?

https://code.google.com/chrome/extensions/experimental.webRequest.html

I am by no means an extension programmer so if this is not what you are looking for, sorry for wasting your time. Keep up the good work!

jsamuel commented 12 years ago
imported trac comment
created: 2011-05-04 16:56:21
author: justin

Hi Dan,

Thanks for the link. I just noticed this recently when the https-everywhere folks were talking about it. This appears to be most (all?) of what I was waiting for, so now I need to get to prototyping RP for Chrome.

I wasn't really expecting this until later this year, so I may change my priorities with respect to Chrome and Firefox Mobile. What I'm thinking now is:

Part of the reason for wanting to wait longer on Firefox Mobile is that I really feel that the whitelist/blacklist subscription and blacklist-only mode will be tremendously useful on Firefox Mobile. It seems like interacting with RP will be quite a bit more of a pain on a mobile device, so I'd rather have people's first impressions of RP on those devices be a good one. It will take some time to develop the subscriptions, including the infrastructure needed to manage them well and allow easier community participation. So, making mobile users wait for a good experience seems like an acceptable tradeoff.

jsamuel commented 12 years ago
imported trac comment
created: 2011-09-12 04:40:47
author: zappe

So, four months is gone.

Is there any prototype nearby?

jsamuel commented 12 years ago
imported trac comment
created: 2011-11-17 10:27:04
author: justin

Unfortunately, I was being much too optimistic and there's no way I'm going to be able to prototype a Chrome port of RP at least until 2013 (that's not a typo: I really mean some time after 2012). I don't have enough time in the coming year to both make RP on Firefox great and work on a Chrome port. So, I'm going to work on making RP on Firefox great before porting to additional browsers.

jsamuel commented 12 years ago
imported trac comment
created: 2011-12-20 17:56:22
author: justin

There's a new Chrome extension, KISS, that offers functionality similar to !RequestPolicy.

http://silentorbit.com/kiss/

The author of KISS, Peter Hultqvist, asked if he could post some information about the extension here in this thread. Peter, please do!

I like that KISS is thinking about how to approach the UI differently from RP. For RP 1.0, I've got some mockups of html-based interfaces but I have nothing implemented yet. I'd love to see great UI innovation from KISS that RP could borrow from.

hultqvist commented 12 years ago

I love the simple idea that RequestPolicy use for ad/trackblocking and I always use the addon in Firefox. A year ago I switched to chrome and wrote a HTTP proxy called HitProxy with similar features that I have used since then. KISS is a rewrite from scratch with the same ideas as in HitProxy.

Therefore the UI has been used by myself during the last year even if this extension is only a week old. So any fresh ideas are welcome, I have already got one from Justin about displaying active filters in the popup for which a first attempt now is live.

Now it has been a year since I used RequestPolicy regularly but this is what I would say is different in my chrome extension.

The extension also does a few other unrelated things such as skipping one of the google search results click tracking and removing parts of the user-agent.

You have seen the address in Justins post above and there you will find a direct installation.
Source code and the issue tracker are hosted here on GitHub at https://github.com/hultqvist/Kiss I can also be contacted at phq@silentorbit.com

Merry Christmas