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

worldsurfleague.com: breakage #25014

Closed
10 of 11 tasks
Sharkinator1198 opened this issue Aug 23, 2024 · 24 comments
Closed
10 of 11 tasks

worldsurfleague.com: breakage #25014

Sharkinator1198 opened this issue Aug 23, 2024 · 24 comments

Comments

@Sharkinator1198
Copy link

Prerequisites

  • This is NOT a YouTube, Facebook, Twitch or a shortener/hosting site report. These sites MUST be reported by clicking their respective links.
  • I read and understand the policy about what is a valid filter issue.
  • I verified that this issue is not a duplicate. (Use this button to find out.)
  • I did not remove any of the default filter lists, or I have verified that the issue was not caused by removing any of the default lists.
  • I did not enable additional filter lists, or I have verified that the issue still occurs without enabling additional filter lists.
  • I do not have custom filters/rules, or I have verified that the issue still occurs without custom filters/rules.
  • I am not using uBlock Origin along with other content blockers.
  • I have verified that the web browser's built-in content blocker/tracking protection, network wide/DNS blocking, or my VPN is not causing the issue.
  • I have verified that other extensions are not causing the issue.
  • If this is about a breakage or detection, I have verified that it is caused by uBlock Origin and isn't a site issue.
  • I did not answer truthfully to ALL the above checkboxes.

URL address of the web page

https://www.worldsurfleague.com/posts/533717/its-on-finals-day-of-the-corona-fiji-pro

Category

breakage

Description

Video Player doesn't play when ublock is enabled

Other extensions used

none

Screenshot(s)

Screenshot(s)

Configuration

uBlock Origin: 1.59.0
Firefox: 129
filterset (summary):
 network: 153232
 cosmetic: 47834
 scriptlet: 20677
 html: 1922
listset (total-discarded, last-updated):
 default:
  user-filters: 0-0, never
  ublock-filters: 39748-126, 11m Δ
  ublock-badware: 10669-6, 11m Δ
  ublock-privacy: 1061-4, 11m Δ
  ublock-unbreak: 2560-1, 11m Δ
  easylist: 85449-182, 11m Δ
  easyprivacy: 53065-66, 11m Δ
  urlhaus-1: 28920-0, now
  plowe-0: 3545-993, now
  ublock-quick-fixes: 185-4, 11m Δ
filterset (user): [empty]
trustedset:
 added: [array of 12 redacted]
userSettings: [none]
hiddenSettings: [none]
supportStats:
 allReadyAfter: 1847 ms (selfie)
 maxAssetCacheWait: 648 ms
 cacheBackend: indexedDB
popupPanel:
 blocked: 19
 network:
  worldsurfleague.com: 2
  amazon-adsystem.com: 1
  doubleclick.net: 3
  extremereach.io: 1
  google-analytics.com: 2
  googleadservices.com: 2
  googletagmanager.com: 2
  gstatic.com: 2
  naivestatement.com: 1
  rubiconproject.com: 2
  snapchat.com: 1
 extended:
  #@#div[data-ad-targeting]
@stephenhawk8054
Copy link
Member

stephenhawk8054 commented Aug 24, 2024

@gorhill Sorry, can uBO support redirecting to noop XML with the format of VMAP and VAST?

Currently, Adguard is supporting noopvmap-1.0 and noopvast-2/3/4.0: https://github.com/AdguardTeam/Scriptlets/blob/master/wiki/about-redirects.md#-available-redirect-resources

With this we don't need to allow and replace the ads connection

@@||pubads.g.doubleclick.net/gampad/ads?*www.worldsurfleague.com$xhr,domain=imasdk.googleapis.com
||pubads.g.doubleclick.net/gampad/ads?*www.worldsurfleague.com$xhr,domain=imasdk.googleapis.com,replace=/<vmap:VMAP.+//

I have to use replace because somehow xml-prune and trusted-replace-xhr-response don't work (it still logs successfully but it doesn't have effects like replace: the ads connections still occur).

But I think redirection to noop VMAP / VAST resources is still better.


This link is better to test than OP's link: https://www.worldsurfleague.com/posts/503101/kelly-slater-lost-tapes-a-new-year?s1=watch

The filters needed to test is here:

uAssets/filters/unbreak.txt

Lines 5729 to 5734 in bba7c73

! https://github.com/uBlockOrigin/uAssets/issues/25014
@@||worldsurfleague.com/js/videojs8/nuevo/plugins/videojs-contrib-ads.min.js^$script,1p
@@||micro.rubiconproject.com/prebid/dynamic/$script,domain=worldsurfleague.com
@@||securepubads.g.doubleclick.net/pagead/ima_ppub_config$xhr,domain=worldsurfleague.com
@@||pubads.g.doubleclick.net/gampad/ads?*www.worldsurfleague.com$xhr,domain=imasdk.googleapis.com
||pubads.g.doubleclick.net/gampad/ads?*www.worldsurfleague.com$xhr,domain=imasdk.googleapis.com,replace=/<vmap:VMAP.+//s

stephenhawk8054 added a commit that referenced this issue Aug 24, 2024
@gorhill
Copy link
Member

gorhill commented Aug 24, 2024

noop-vmap1.0.xml is already supported, see https://github.com/gorhill/uBlock/blob/master/src/web_accessible_resources/noop-vmap1.0.xml. I can add the others.

gorhill added a commit to gorhill/uBlock that referenced this issue Aug 24, 2024
@stephenhawk8054
Copy link
Member

Confirm

||pubads.g.doubleclick.net/gampad/ads?*www.worldsurfleague.com$xhr,redirect=noop-vmap1.0.xml:5,domain=imasdk.googleapis.com

works for me.

stephenhawk8054 added a commit that referenced this issue Aug 25, 2024
@dimisa-RUAdList
Copy link

uBlock Origin 1.59.1b18 + RU AdList

I found a problem in Firefox: https://fanserial.fun/748-kami-no-tou-2021-02-18-15-48/2-season/9-episode.html

When using ||v*.plrjs.org/*.xml$important,xmlhttprequest,redirect=noopvast-3.0 the player does not work, while in Google Chrome everything is fine. I had to add fanserial.fun,fanserialstv.net##+js(json-prune, *.preroll), but this fixes the problem only on a couple of sites, while I would like to apply a universal rule that will work correctly everywhere.

@gorhill
Copy link
Member

gorhill commented Sep 12, 2024

Probably because of uBlockOrigin/uBlock-issues#1222?


Actually the player is not broken on my side in Firefox, but then the filter is not reported in the logger, and I don't get requests matching plrjs.org/*.xml in the logger.

@dimisa-RUAdList
Copy link

dimisa-RUAdList commented Sep 12, 2024

In order for the rule ||v*.plrjs.org/*.xml$important,xmlhttprequest,redirect=noopvast-3.0 to work and break the player, you need to add the exception fanserial.fun,fanserialstv.net#@#+js(json-prune, *.preroll).

@gorhill
Copy link
Member

gorhill commented Sep 12, 2024

Ok so I get:

Cross-Origin Request Blocked: The Same Origin Policy disallows reading the remote resource at data:text/xml;base64,PFZBU1QgdmVyc2lvbj0iMy4wIj48L1ZBU1Q+Cg==. (Reason: CORS request not http).

So same issue as uBlockOrigin/uBlock-issues#1222.

@gorhill
Copy link
Member

gorhill commented Sep 12, 2024

I can make it work with that filter:

fanserial.fun##+js(no-xhr-if, url:/v.*\.plrjs\.org\/.*\.xml/, war:noop-vast3.xml)

But can't make it a universal filter.

@dimisa-RUAdList
Copy link

The thing is, I'm trying to avoid site-specific fixes. This is a pretty popular player and there could be hundreds of sites like this. The idea was to use a single rule everywhere: ||v*.plrjs.org/*.xml$important,xmlhttprequest,redirect=noopvast-3.0

This can't be fixed? In Google Chrome this rule works perfectly. Using this rule in AdGuard + FF also does not cause any problems.

@gorhill
Copy link
Member

gorhill commented Sep 12, 2024

Oops, I used the wrong link in comments, I meant same issue as uBlockOrigin/uBlock-issues#1222. This can't be fixed (except by the browser, see https://bugzilla.mozilla.org/show_bug.cgi?id=1645683)

@stephenhawk8054
Copy link
Member

@dimisa-RUAdList Which filter did you use in Adguard?

@dimisa-RUAdList
Copy link

dimisa-RUAdList commented Sep 13, 2024

The one they have in AdGuard RussianFilter: ||v*.plrjs.org/*.xml$xmlhttprequest,redirect=noopvast-3.0

@stephenhawk8054
Copy link
Member

stephenhawk8054 commented Sep 13, 2024

If I'm not wrong, Adguard uses extension's ID (moz-extension://extension-id) as the URL to access web-accessible-resources, not data:. That would lead to no CORS error, but will leak extension's ID to the websites. In Firefox, each extension ID after intalling is unique (same extension but different install will yield different IDs) so leaking this ID is a privacy concern.


You can test by using the filter

||example.com^$xhr,redirect=noopvast-3.0

then load https://example.com, go to the console and type

fetch('https://example.com').then(response => console.log(response));

This is the result with Adguard:

image

This is the result with uBO:

image

@stephenhawk8054
Copy link
Member

stephenhawk8054 commented Sep 13, 2024

Not a perfect solution but these might help in unknown cases?

!#if cap_html_filtering
@@||plrjs.org/*.xml^$3p,xhr
||plrjs.org/*.xml^$3p,xhr,replace=/^.+$/<VAST version="3.0"><\/VAST>/s
||cdn.plrjs.com/player/*.js^$3p,script,replace=/preroll/nopreroll/g
!#else
||plrjs.org/*.xml^$3p,xhr,redirect=noopvast-3.0
!#endif

It depends on the cache as well, so better to test when refreshing while bypassing the cache.

@dimisa-RUAdList
Copy link

I can't put this in RU AdList because trusted rules only work from uBlock filters.

@stephenhawk8054
Copy link
Member

If they work fine, I'll put them to uAssets' lists

@stephenhawk8054
Copy link
Member

stephenhawk8054 commented Sep 13, 2024

@gorhill Sorry, could there be any ways to have some non-trusted replace versions that replace with the text in war? Currently with my above replace filter, I just simply remove all of the contents and replace with noopvast-3.0

@dimisa-RUAdList
Copy link

@stephenhawk8054

If they work fine, I'll put them to uAssets' lists

Yes, it works fine, but for stable operation I will need to disable some rules for FF in RU AdList.

@stephenhawk8054
Copy link
Member

stephenhawk8054 commented Sep 13, 2024

@dimisa-RUAdList I have edited to have a full version of network filters for both Firefox and Chromium. Can you check again? They should work with your current scriptlet filters in RuAdlist. The only concern is the important since it will override the @@||plrjs.org/*.xml^$3p,xhr


On another note, I think non-trusted versions for replace like my comment above might help for regional lists. We did talk briefly about a quite similar situation in #25164 (comment) , but let's see how it turns out.

@dimisa-RUAdList
Copy link

dimisa-RUAdList commented Sep 13, 2024

No problem. I will disable ||v*.plrjs.org/*.xml$important,xmlhttprequest,redirect=noopvast-3.0 for FF.

stephenhawk8054 added a commit that referenced this issue Sep 13, 2024
@dimisa-RUAdList
Copy link

Disabled: easylist/ruadlist@5393f6c

@stephenhawk8054
Copy link
Member

Oh, forgot that noopvast is still in dev build, not in stable yet.

@dimisa-RUAdList
Copy link

That's why I haven't deleted it yet: fanserial.fun,fanserialstv.net##+js(set-constant, Object.prototype.preroll, undefined)

@gorhill
Copy link
Member

gorhill commented Sep 13, 2024

could there be any ways to have some non-trusted replace versions that replace with the text in war?

Would need to experiment with this.

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