-
Notifications
You must be signed in to change notification settings - Fork 1.1k
Redirect conflict with uBlock Origin #14961
Comments
I'm getting the same, in my case with a Google Analytics URL. Appeared today with version 2018.2.26
|
This extension failed to redirect a network request to https://s7.addthis.com/js/300/addthis_widget.js#pubid=ra-59c545b43f9cd35b because another extension (uBlock Origin) redirected it to chrome-extension://cjpalhdlnbpafiamejdnhcphjbkeiagm/web_accessible_resources/af3c919ee9a3d97f5dedaf2f8bec146a.javascript?secret=nrw0ygwf8axk. |
@gorhill Your comment says "The resources used by uBO for redirection purpose are found in this file." but the linked file, https://github.com/gorhill/uBlock/blob/master/assets/ublock/resources.txt , doesn't exist anymore. Is there an equivalent? |
I corrected the link, the resource files have been moved to a different repo since I wrote this comment: https://github.com/uBlockOrigin/uAssets/blob/master/filters/resources.txt. |
Thanks @gorhill . As an enhancement for HTTPS Everywhere, we might take I'm not saying this is a good idea to do, but it's something that could be done. |
I would appreciate this 'resources.txt' as exeptions, because honestly I don't want https everywhere to be redirecting me to tracking sites I explicitly block with ublock; the way it works now, trackers totally being blocked from loading, is the preferred scenario. I just want the ! to disappear making me think there are 'actual' problems with https on the site I am visiting. |
@terrorist96 @blackhelicopters @ariksc @mystica555 Can you all please edit your comments to provide a URL where you go to see the problem? Not the error from the developer console, but the URL in your browser's address bar. |
I'll try to post it if I come across it again. BTW, here's the PR Privacy Badger made to avoid this issue from occurring: |
In that case
Which in plain language means: redirect all network requests for |
This extension failed to redirect a network request to https://www.google-analytics.com/ga.js because another extension (uBlock Origin) I have also had This extension failed to redirect a network request to https://s7.addthis.com/js/300/addthis_widget.js#pubid=tenthamendment because another extension (uBlock Origin) redirected it to chrome-extension://cjpalhdlnbpafiamejdnhcphjbkeiagm/web_accessible_resources |
@gorhill Thanks. So it sounds like the logic for us might be: go through the files in https://github.com/uBlockOrigin/uAssets/tree/master/filters , look for filter lines that start with Why is this issue popular suddenly? Did something change recently in uBlock Origin? |
I wondered. uBO has supported redirection since quite a while now, to |
All of the reports here so far are reporting redirects to something under |
Yes, it's what I find puzzling. |
Been getting this on two different computers this week. Both with this message:
|
Pinging @Bisaloo @brainwane @gloomy-ghost @Hainish @J0WI @wonderchook to let them know about this. |
I'm also getting this error in my extensions, the variant that cites google analytics and uBlockOrigin. I don't want to unblock that url in UBO and tried to find a way to exclude it from HTTPSEverywhere and couldn't. |
Since this is only a warning and does not affect the functionality of either uBlock or HTTPS Everywhere, I was going to vote for wontfix. But after having a look at the comments on Chrome store, it looks like it's making many users worried. I'm still not sure how to fix this though... |
There's a very obvious indication by chrome that something is wrong, which I have never seen before. People have to be worried with that icon appearing. |
I did some digging on the Chromium bug tracker and it may have something to do with the following lines: |
Possibly related https://bugs.chromium.org/p/chromium/issues/detail?id=800773 |
It could affect uBO: if the request is redirect by HTTP-Everywhere first, this will prevent uBO from redirecting to a local neutered resource, meaning a network request meant to be blocked would no longer be blocked. On the other hand, if uBO redirects first, this won't affect the purpose of HTTPS-Everywhere. |
It affects the functionality when you don't use a myopic technical lens. HTTPSeverywhere and uBlock origin are fighting - reddit nerds condescend about using some matrix plugin and various other hardcore solutions that aren't practical for average users. They stop using either one and leave bad reviews - likely on HTTPSEverywhere, which is where I had to go see the big red error after chrome made it seem like my extensions were exploding. Less people WILL use the extension as a result. At the end of the day, I can make sure I'm using HTTPS when it matters most (and in general), I can't block my own ads (dev tools doesnt count) so I would drop HTTPS everywhere. |
(Copied from gorhill/uBlock#3639 (comment)) I won't tell people what to do. I will tell what is happening, and from this people can decide for themselves. One of two cases can happen: The error message is a result of two extensions trying to redirect the same network request: the Chrome/WebExtensions API allows only one extension to redirect a network request. Extensions are not made aware that their redirection failed. The reason for this is probably technical: conceptually extensions execute in parallel. uBO redirect winsBenign. Typically the error message "This extension failed to redirect a network request..." will be with HTTPS-Everywhere in the Extensions page (as reported in opening comment). This won't affect the purpose of HTTPS-Everywhere -- because no network requests is fired to the outside world. HTTPS-Everywhere redirect wins
Typically the error message "This extension failed to redirect a network request..." will be with uBlock Origin in the Extensions page.
ConsiderationsThe order in which the extensions were installed is what decide which extension will redirect first ( When a secure page ( Why is this error more widely reported now? I have no clue, uBO has been redirecting to neutered resources since a very long time now (see #1170). Somebody on HTTPS-Everywhere's issue tracker pointed out that something related to extension error was fixed in Chrome 65. |
AFIAK, using both uBO and HTTPSE together has been causing issues for a long time due to the limitation in the webRequest APIs (namely only one extension is allowed to rewrite/ cc @Hainish as this might discourage the users from using HTTPSE... @gorhill fixed. thank. |
Blocking is not an issue -- if one extension orders a network request to be blocked, it will be blocked regardless of what other extensions decide. The issue is only when two or more extensions redirect. This is not an issue when the two extensions have similar purpose (uBO/Ghostery), but here we have two extensions with a different purpose. |
Could someone please provide a URL where I can go to see the problem happen? I asked for this in #14961 (comment), but so far all the reports here just describe the error and not where they are seeing it. |
bartovan, the same thing happened to mine. I'm guessing some update to one or both of the extensions caused this change.
|
I have been having this issue for weeks. I keep seeing it after I finish browsing. |
Everyone: there is no need at this point to add a new comment simply to say you are getting the problem or to report the now-familiar |
I just want to point out the exact opposite happens to me where HTTPS everywhere "succeeds" in redirecting browser traffic over uBlockOrigin - but creates a clash that Chrome consider a failure/error: what I see is documented in here |
To add to my previous comment: no one needs to add a comment to report an error happening in either direction, that is, I don't want to discourage people from showing their support for this issue, but rather, there is no need at the moment for anyone else to spend their time providing detailed information |
Consider starring this Chromium issue if you want a fix, I added a comment at the end: |
I think it is worth noting the uBO change that is causing this, is actually a workaround for this chrome bug. Which has implications for other projects (like PB). So please also chime in there to get this fixed. |
@gorhill as a temporary resolution to this problem, can you let HTTPS Everywhere know that uBlock Origin is installed via onMessageExternal, and I will selectively disable the conflicting rulesets. We would have to determine in advance which URLs are potentially problematic, but this is known, correct? Meaning, it isn't dynamic, it's a static set of widget URLs which are locally proxied? |
@Hainish See #14961 (comment) for a comment from @gorhill about getting a list of URLs. |
@Hainish This is not as simple as just providing a list of URLs. The redirection is decided based on two things:
For the first one, this is decided at webRequest.onBeforeRequest listener time. The exact same network request may be blocked most of the time, but then allowed on a handful of sites (those sites broken by the act of blocking). It's decided in real-time, not in a declarative way. The second point is that a redirection is decided according to a pattern in the URL, so a list of URLs does not work here. For example, a redirection directive with pattern |
@gorhill do you have statistical data on how often each of these patterns are matched in uBlock Origin? I'm wondering if we can avoid conflicts in a comprehensive but not complete way. We may be able to avoid the vast majority of conflict events in this way. |
@Hainish If @gorhill doesn't have statistical data, then at least based on the comments here and gorhill/uBlock#3639 , specific handling for Google Analytics would take care of a lot of cases. |
Is there any way to stop the (!) icon appearing at the very least for us end users? I'm getting this constantly and it's so frustrating. |
I added a partial revert of the fix to gorhill/uBlock#2823 (which is what the redirection to "web accessible resources" was fixing). uBO will avoid to redirect to a "web accessible resource" and instead redirect to a
|
Just wanted to leave a note here that I'm still occasionally receiving this error on HTTPS Everywhere 2018.4.11 |
@lightheaded thanks, I've pinged Chromium again on this issue: https://bugs.chromium.org/p/chromium/issues/detail?id=111700#c37 |
@lightheaded Having the exact web page where this happens would be useful to determine whether this is really the same exact issue identified here. |
@gorhill it's hard to track as it seemingly happens at random. But today I caught it blocking something on Amazon:
|
@lightheaded I am not aware of any filters in uBO which would want to redirect the URL your are mentioning. Also, I find it surprising that HTTPS Everywhere would want to redirect a
In any case, assuming you created custom rules to cause the behavior you are observing on your side, as said above, uBO fix with regard to HTTPS-E is a mitigation, i.e. this should take care of most conflicts, but this won't take care of conflict arising as a result of HTTPS-E redirecting a |
It seems that chrome will stop notifying the users for extension conflicts in the dev channel.
Ref https://groups.google.com/a/chromium.org/forum/#!msg/extensions-reviews/YYn1etdxjgw/55bBFxxfCgAJ https://developer.chrome.com/extensions/webRequest#event-onActionIgnored |
Fantastic! Thanks for the heads up @cschanaj - we should definitely handle this event. |
Can this be closed? Marked as fixed since Aug 24.
I haven't had this issue for a while. |
Yep, nothing on my systems for a while too. |
Type: other
Looks like a surrogate redirect conflict?
@gorhill
The text was updated successfully, but these errors were encountered: