uBlockOrigin / uAssets

Resources for uBlock Origin, uMatrix: static filter lists, ready-to-use rulesets, etc.
GNU General Public License v3.0
4.2k stars 776 forks source link

twitch.tv #719

Closed Bilge closed 6 years ago

Bilge commented 7 years ago

URL(s) where the issue occurs

https://www.twitch.tv/directory/all – Click any of the live video channels.

Describe the issue

Recently Twitch updated their ad technology causing advertisements to play at the start of any video stream. Previously it was trivial to skip them with AdBlock or similar, causing content to play immediately in lieu of the ad, but currently there appears to be no working solution to skip ads.

Versions

Settings

smed79 commented 7 years ago

Recently Twitch updated their ad technology

A year ago... https://techcrunch.com/2016/11/02/twitch-starts-selling-its-own-video-ads-says-they-cant-be-avoided-via-ad-blockers/

if the video ads is included in the stream (like on TV) it's nothing to do, until shown proof to the contrary.

Bilge commented 7 years ago

The ad is almost certainly not embedded in the stream because the stream comes from the broadcaster who does not inject ads themselves. Perhaps it is technically possible to mux ads into the stream per-client as it passes through Twitch servers, but if such technology exists, it has been released only within the past few days.

Your article from a year ago is irrelevant because ad blockers continued to work on Twitch until just a few days ago. There may indeed have been a brief period a year ago when ad blockers were thwarted, but they were quickly updated to continue blocking ads, and I'm hoping the same can be done again here today.

gorhill commented 7 years ago

I am unable to reproduce, using default filter lists.

Your article from a year ago is irrelevant because ad blockers continued to work on Twitch until just a few days ago.

Such reports have been happening since a while now, it could be that Twitch is rolling their ad tech to some people, and you are now targeted.

Bilge commented 7 years ago

@gorhill By "unable to reproduce", do you mean you do not see any ad when a stream loads?

routehero commented 7 years ago

Twitch uses HLS with ad fragments inserted in to the playlist.

https://developer.apple.com/library/content/technotes/tn2288/_index.html#//apple_ref/doc/uid/DTS40012238-CH1-AD_PLAYLIST__DISCONTINUITIES_

Bilge commented 7 years ago

@gorhill Actually I don't see ads, either, on the same setup on a different computer, on a different network and with a different account. So perhaps you are right, either my specific browser or IP or account is being targeted with new tech.

kasper93 commented 7 years ago

They inject ads in the stream, there might be some way to let server know that ad was already viewed. If you reload the page during ad it will after few seconds start playing it again. But it is hard to reverse how exactly they detect you have viewed the ad, because they push ads very rarely, I mean those unblockable ads. That's why it is hard to reproduce, because it is not something everyone gets on page load, server or streamer decide when to push ad and not to everyone.

Frankly I have not see any advert for a long time, but I'm not frequent user of twitch, so probably got lucky.

Also I have blocked everything that gather information about me. So during playback I get only playlist and ts segment.

||hls.ttvnw.net/v1/*$xmlhttprequest
||sentinel.twitchsvc.net
||client-event-reporter.twitch.tv/*/stats
||pubster.twitch.tv/publish
||api.twitch.tv/steam/watching?channel=
||twitch.tv/tmilibs/JSSocket
||api.twitch.tv/kraken/users/*/status
||trowel.twitch.tv
||fidget.twitch.tv
||www.twitch.tv/sw.js

Actually this one ||hls.ttvnw.net/v1/*$xmlhttprequest is new one on my list, I noticed some POST request with some data pushed to server, and empty m3u8 playlist in response, this might be one way they push some side playlists. And since v0 works perfectly fine, I blocked those POST request, because I don't need them.

Hrxn commented 7 years ago

Actually this one ||hls.ttvnw.net/v1/*$xmlhttprequest is new one on my list, I noticed some POST request with some data pushed to server, and empty m3u8 playlist in response, this might be one way they push some side playlists. And since v0 works perfectly fine, I blocked those POST request, because I don't need them.

Maybe some site change? I think I've read somewhere that they're currently rolling out a new site version or something..

And this does not break anything so far? Not sure, but maybe geolocation is still a factor here.

smed79 commented 7 years ago

geolocation is still a factor here

And the video player flash or html5.

@Bilge Test this extension Twitch 5 reddit.com/r/uBlockOrigin/comments/6skq8d/twitch_ads/dlio9yj/

Bilge commented 7 years ago

I've tried varying browser and account and I still get ads at home. It seems they are targeting me by IP. I've yet to try "Twitch 5".

smed79 commented 7 years ago

@Bilge could you please test

@@||twitch.tv^$generichide
Bilge commented 7 years ago

@SMed79 Doesn't seem to do anything.

kasper93 commented 7 years ago

Can we somehow block only POST requests? I believe it will break their HTML5 player communication with the delivery server. They constantly send back some data.

Bilge commented 7 years ago

@kasper93 Still getting ads.

RoyCurtis commented 6 years ago

Adblocking on Twitch.tv had been working fine for me up until today. It appears Twitch.tv has defeated one or more filters within the last 24 hours.

Wasn't sure if I should file a new issue for this, since this one was open. Though I must stress, I did not have any issue with ads until today, unlike OP...

Versions

Settings

I wanted to share the output of the uBlock logger but... I couldn't really figure out how to export the data. Just saving the page seemed to save a whole bunch of unrelated entries coming from other tabs, URLs that I think contain sensitive data...

Testing conditions

For each test, I watched https://www.twitch.tv/rifftrax and waited up to 10 minutes for an ad to appear (usually begins 5 minutes from streaming)

Other reports on social media

Searched with this link to see if others had the same issue in the last 24 hours

Incidentally, some on twitter are reporting that they are getting more ads than usual, coinciding with Twitch streaming Yu-gi-oh (see replies).

LukePoke commented 6 years ago

Ublock no longer blocks the twitch ads.

Xbye commented 6 years ago

Can confirm, TwitchTV ads are still going through unless I disable HTML5. Very annoying.

xDarkARG commented 6 years ago

ublock works fine I do not see ads

RoyCurtis commented 6 years ago

@xDarkARG I think what's going on (as pointed out by others above) is that Twitch is rolling out new ad tech that defeats uBlock. So it may be working for you now, but maybe in a month or two it will not, when you receive the new "feature". That, or you are using the flash player.

helptiger commented 6 years ago

Still found no solution :-(

uBlock-user commented 6 years ago

So it may be working for you now, but maybe in a month or two it will not, when you receive the new "feature".

Never been able to reproduce and still can't. Whatever the new feature was supposed to be, doesn't effect on my end.

Hrxn commented 6 years ago

I've seen some ads recently as well...

But only on some channels, it seems. Probably mostly the bigger/popular channels, and maybe during special events etc. Might be reasonable to post full links to specific streams for anyone who can reproduce again.

verlain3 commented 6 years ago

I'm getting the same since 3 days ago.

Almost every time i switch streams i get the same AD. In my experience it only happens if you have an account and switch streams from the left sidebar (the ones you're following).

If uB0 is turned off, it doesn't show any ads.

Hrxn commented 6 years ago

Well, I definitely see those ads without being signed in..

And for the most part those are ads by/for Amazon, which is the parent company of Twitch, of course.

Rudolpher commented 6 years ago

Same deal(Nordics). It first started on the more popular streams about 2 weeks back, but its now hitting every channel I'm not subscribed to. At first didn't mind, but its always the same two ads - Amazon and HP. Extra filters mentioned a while back do nothing, and one prevents player from functioning at all.

kasper93 commented 6 years ago

FWIW, you could use this simple extension https://github.com/pixeltris/TwitchAdBlock which intercept player.js request, downloads it and modify code to strip 'ad' params from stream link and run the code. It could actually strip more, but it does work so it is fine until Twitch modifies order of params in url :)

pcworld commented 6 years ago

Thanks to @kasper93's hint, I had a look at @pixeltris's extension and took the concept behind that to create an injection filter for uBO. If you feel like testing, I have included instructions at the end of my pull request #1971. You might then want to comment on the PR whether this fixes it for you.