Changes between Version 1 and Version 12 of Ticket #1727


Ignore:
Timestamp:
05/30/2016 10:41:08 AM (19 months ago)
Author:
kzar
Comment:

We agree this is an important problem, we'll tackle it as soon as possible. Unfortunately that likely won't be before late June / early July.

Legend:

Unmodified
Added
Removed
Modified
  • Ticket #1727

    • Property Status changed from closed to reopened
    • Property Tester changed from to Unknown
    • Property Cc mapx greiner kzar arthur added
    • Property Summary changed from Chrome supporting $other to WebSocket connections can't be blocked
    • Property Priority changed from Unknown to P2
    • Property Ready set
    • Property Verified working unset
    • Property Resolution changed from worksforme to
  • Ticket #1727 – Description

    v1 v12  
    11=== Environment === 
    2 Not sure if there is another ticket for this; .. Seems Chrome ignore `||wsockd.com^$third-party` filter  
    3  
     2 - Adblock Plus for Chrome 1.11, Chrome 50. 
     3 - EasyList enabled, including the filter `||bulletproofserving.com^$third-party`. 
    44 
    55=== How to reproduce === 
    6  1. Visit http://putlocker.is/watch-the-lord-of-the-rings-the-return-of-the-king-online-free-putlocker.html  
    7  2. Blocking of ws://go.wsockd.com/?id=10802 and ws://go.wsockd.com:9000/?id=115535 Prevents the popups being launched. 
    8  3. Firefox blocks this script with no issues, Chrome doesn't and because of this popup scripts load on the site. 
     6 1. Visit http://www.opensubtitles.org/ 
     7 2. Open the Chrome developer tools, click the Network tab and then the WS section. 
    98 
    109=== Observed behaviour === 
    11 Chrome ignores `||wsockd.com^$third-party` filter. 
     10A WebSocket to `ws://ws.bulletproofserving.com:6001/` is successfully opened, adverts are displayed on the page. 
    1211 
    1312=== Expected behaviour === 
    14 Chrome should respect the `||wsockd.com^$third-party` filter 
     13The WebSocket connection/messages should be blocked, there should be no adverts displayed. 
     14 
     15=== Notes === 
     16Chrome currently doesn't allow extensions to block WebSockets, [https://bugs.chromium.org/p/chromium/issues/detail?id=129353 Chromium bug #129353] has been open for some time now to address this limitation but little progress seems to have been made. 
     17 
     18In the mean time both uBlock Origin and the Adguard browser extension have added a workaround. They use a content script to inject a wrapper for `WebSocket` into pages. The wrapper performs a dummy web request before WebSocket messages are sent/received. The extension recognises these dummy web requests as representing a WebSocket message. It intercepts and blocks them if the corresponding WebSocket message should be blocked. The `WebSocket` wrapper then allows / blocks the WebSocket message based on whether the dummy web request was blocked or not. 
     19 
     20This is becoming an increasingly important problem as more and more websites are using WebSockets for advertising. We now need to add a similar work around to `adblockpluschrome` 
     21 
     22=== References === 
     23- https://github.com/AdguardTeam/AdguardBrowserExtension/issues/203 
     24- https://github.com/gorhill/uBlock/issues/1604 
     25- https://github.com/AdguardTeam/AdguardBrowserExtension/blob/HEAD/Extension/browser/chrome/lib/content-script/websocket.js 
     26- https://github.com/gorhill/uBO-WebSocket