Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Behind-the-scene websocket's not being filtered by uBO #3546

Closed
ryanbr opened this issue Feb 25, 2018 · 4 comments
Closed

Behind-the-scene websocket's not being filtered by uBO #3546

ryanbr opened this issue Feb 25, 2018 · 4 comments

Comments

@ryanbr
Copy link
Contributor

ryanbr commented Feb 25, 2018

Describe the issue

Filtering of websocket url's not working,

wss://a.bondinra.com/wsm

One or more specific URLs where the issue occurs

https://www.blacklistednews.com/ but there are many more.

Screenshot in which the issue can be seen

We have simplified these websocket rules recently; see; easylist/easylist@2b32ad7

||bondinra.com^ should be block by uBo. (but its not)

Your settings

  • OS/version: Windows 10
  • Browser/version: Firefox
  • uBlock Origin version: 1.15.10
Your filter lists

Easylist/Easyprivacy

Your custom filters (if any)
@okiehsch
Copy link
Contributor

okiehsch commented Feb 25, 2018

Works fine with Chrome
unbenannt

With Firefox the filter does not work, because the request is labelled as "behind the scene".
unbenannt22

To reproduce you have to disable uBO-filters.

@ryanbr
Copy link
Contributor Author

ryanbr commented Feb 25, 2018

How/why does it differ regarding Firefox "Behind the scene" vs Chrome?

@gorhill
Copy link
Owner

gorhill commented Feb 25, 2018

I don't know why Firefox reports as behind the scene -- maybe this can be fixed by Firefox devs. It's Uponit scripts, and there is a lot of trickery at work here, and it could be related to the use of an about:blank frame in some sort of way.

In any case, with Firefox there is more information available for webRequest listeners, and uBO should make use of this information for behind-the-scene network requests:

details = {
    documentUrl : "https://www.blacklistednews.com/"
    frameId : 0
    ip : null
    method : "GET"
    originUrl : "https://www.blacklistednews.com/"
    parentFrameId : -1
    proxyInfo : null
    requestId : "2676"
    tabId : "-1"
    timeStamp : 1519559704526
    type : "websocket"
    url : "wss://a.bondinra.com/wsm"
};

documentUrl and originUrl are not available on Chromium, but they could be used on Firefox to allow the request to be filtered despite being behind-the-scene.

@uBlock-user
Copy link
Contributor

Does ||bondinra.com^$websocket work ?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants