Live data from Hacker News

Block YouTube ads on AppleTV by decrypting and stripping ads from Profobuf

ericdraken.com

471–480 of 659 posts

Re: Block YouTube ads on AppleTV by decrypting and stripping ads from Profobuf

#472

Earlier quoted context omitted.

You could probably support them more directly over Patreon/etc. so they’d get to keep a much bigger proportion of what you pay

I do that too when I really want to support someone. YouTube premium is a way to support each producers videos, not only the few that I might patronize on Patreon. There are dozens and dozens of different creators of videos that I watch each month, so if I only used Patreon most wouldn't get anything from me.

Watching the output of "dozens and dozens" of creators monthly sounds like a full time job.

Re: Block YouTube ads on AppleTV by decrypting and stripping ads from Profobuf

#473
post #280
post #265

[flagged]

No, this is nonsense. You cannot force someone to watch ads. Is it robbing video creators to mute an ad while it's playing? Is it robbing video creators to get up and grab a drink during an ad? If YouTube wants to monetize, then they can paywall their content, and more power to them. If I want to support a creator, I'll subscribe to their Patreon (and I do!). But my browser is a user agent operating on my behalf, run…

> Is it robbing video creators to mute an ad while it's playing? Is it robbing video creators to get up and grab a drink during an ad?

There are many in the industry that would argue that it is, as would be "switching the channel" on a television.

That's why you see a patent every couple of years for things like automatically pausing ads when they detect that a user's gaze is not on the ad, or pausing the ad and content altogether until the user confirms that they saw the ad by saying a keyword from it.

There are a variety of reasons why these kinds of ad affirmation tools have not been employed yet, but it is just a matter of time until they are. There is simply too much money left on the table.

Re: Block YouTube ads on AppleTV by decrypting and stripping ads from Profobuf

#474
post #431

Earlier quoted context omitted.

Network level ad-blocking like Privoxy and pi-hole have so many downsides like they can't handle inline adverts. My pi4 pi-hole is unplugged right now because it just didn't work well. After hours wasted trying to make it work with all the services, I've thrown in the towel. The time involved is just not worth it for a home network. What works are browser based ad-blockers and app patchers like ReVanced. As my saving…

What services are you having trouble with? My RPi PiHole has been working great for whole-house blocking for a half-decade now.

Likewise. My biggest tip is set your secondary DNS to something outside your networks so if your pi-hole goes down your entire network doesn’t go down you just get ads.

Re: Block YouTube ads on AppleTV by decrypting and stripping ads from Profobuf

#475
People create new content because they expect revenue from ads. Without ads, the entire content creation industry would die.

If you watch and enjoy YouTube in any capacity you should be ensuring that the creators get paid otherwise you’re robbing yourself of content.

Re: Block YouTube ads on AppleTV by decrypting and stripping ads from Profobuf

#476

Earlier quoted context omitted.

Not a CF employee but I am pretty sure it's working as intended as they built and use this: https://github.com/cloudflare/mitmengine

Use this to evade it: https://github.com/lwthiker/curl-impersonate Greetings from a country whose (almost) entire IP space is blacklisted by Cloudflare!

Wow. Need this as a golang net/http shim.

Re: Block YouTube ads on AppleTV by decrypting and stripping ads from Profobuf

#477
post #431

I've been MITM'ing my traffic to, among other things, strip ads and rewrite pages with things like custom CSS, ever since I discovered The Proxomitron over 2 decades ago. It does tend to get me profiled as a "bot" by CloudFlare and such, but there are not-so-trivial ways around that too. It also shows why things like remote attestation are hazardous for user freedom.

Network level ad-blocking like Privoxy and pi-hole have so many downsides like they can't handle inline adverts. My pi4 pi-hole is unplugged right now because it just didn't work well. After hours wasted trying to make it work with all the services, I've thrown in the towel. The time involved is just not worth it for a home network. What works are browser based ad-blockers and app patchers like ReVanced. As my saving…

I run pi-hole strictly for my mobile devices, I let my desktop run through the router normally

Re: Block YouTube ads on AppleTV by decrypting and stripping ads from Profobuf

#478

I know it’s not as fun, but you could also pay for YouTube Premium to remove the ads.

Block all ads, support creators directly if you feel content is worth your money.

Problem is that everyone just blocks the ads and forget to pay the creators directly, which by the way would be extremely costly and time consuming if you want to pay everyone you watch, therefore the need for a product like YT Premium...

Re: Block YouTube ads on AppleTV by decrypting and stripping ads from Profobuf

#479

Earlier quoted context omitted.

So you are vehemently anti-youtube, yet it still sounds like you get tons of content from it. Why not get your content from ad-free platforms?

To quote another comment I made: It would be, if Google didn't have a chokehold on most of the internet. Sure, Nebula exists, I can watch three creators there, woohoo. Let me go on Dailymotion too for those sweet 2005 videos. Google did everything in their power to force themselves into every aspect of our lives and leaving no alternatives, or destroying them, or buying them. Now they get to deal with the consequence…

The content creators could post anywhere, there is no reason they can't cross-post their videos to other platforms. Most publishers who are on Patreon post all their videos ad-free on there so you don't even need to go to YouTube.

The reason most publishers post on YouTube is because they depend on the revenue from the YouTube network.

If you don't want to watch ads, fine, but you are expressly violating the wishes of the people who are creating the content and then rationalizing it to yourself. The fact that you still rationalize not buying the ad-free premium offering is the kicker.

Re: Block YouTube ads on AppleTV by decrypting and stripping ads from Profobuf

#480
Cool hack overall, but some of the statements about protobuf strike me as odd.

> Exploit a Protobuf Flaw to Easily Remove All Ads by Changing One Byte

He's intentionally corrupting the tag on one field of the protobuf. The "flaw" is apparently that Protobuf ignores tag numbers it doesn't recognize. But that's not a flaw, it's a core design feature of Protobuf, designed to allow extensibility.

> Notice how the Protobuf response payload is 1.87 MiB? As I said, Google makes it computationally expensive to decode, alter, and re-encode without the C++ source proto files, but a quick linear scan takes no effort at all.

1.87MB is not that big, and presumably these messages only come through occasionally, not in a constant stream, so I'm a bit perplexed about the purported performance barrier here.

The text seems to be claiming that Protobuf encoding is designed to be expensive to decode, but it's actually the opposite, Protobuf is intended to be efficient to decode.

He says you need the source proto (schema) files to make it efficient, but this isn't really true, you can decode directly into UnknownFieldSet easily enough.

Or better, he could have written his own fake .proto schema that covers just the one field he is aiming to remove. This would have been much less error-prone than the string-scanning approach which could accidentally match other data where the same byte sequence happened to appear by coincidence.

> While computationally expensive, decoding, editing, and re-encoding without the original schema leads to a modified encoding. This is likely because we cannot detect if ZigZag encoding is being used, or if a number is an int32, int64, sint32/64, varint, etc., plus the order of object fields is normally non-deterministic. Here is some Protobuf trivia on the matter:

I think he's misunderstanding here. The point is that the Protobuf encoder is allowed to encode fields in any order, hence decoding and immediately re-encoding a message can lead to different bytes. But, the receiver is supposed to treat the message the same regardless. It's unlikely that the YouTube app is going to notice if the field order changes.

(I used to work on Protobufs, a long time ago.)

Post reply on HN