Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

Or use an alternative frontend, or download the videos first? Why would I pay for content that isn't monetised and thus the "creator" (for lack of a better word) gets nothing anyway? I'm not going to fund Google, they already get some from reading my (spam) emails.


>Or use an alternative frontend, or download the videos first?

If they're going to roll out anti-adblock code, what makes you think they won't be going after unofficial third party clients?


They do, and invariably fail but I'd argue trying to hide an adblocker is going to be more tricky than pretending to be android, for example.

But both downloading and alternative frontends still work fine, I just got the message on youtube for the first time (only on desktop though, not android, firefox on both), minor inconvenience to run yt-dlp in an internet accessible folder and means I retain the content should their random behaviour make it unavailable in the future.


> They do, and invariably fail but I'd argue trying to hide an adblocker is going to be more tricky than pretending to be android, for example.

AFAIK thirdparty youtube clients are just a glorified webview. Also, if anything pretending to be android is way harder than pretending to be a browser. There's way more fingerprinting/attestation that's available on android than through javascript APIs.


I didn't say client, I said frontend (ie; invidious, which is not a webview nor a client), but the likely reason its easier to pretend to be android is they have to support older versions for a long time, once you've emulated the behaviour its difficult for them to fix that


>but the likely reason its easier to pretend to be android is they have to support older versions for a long time, once you've emulated the behaviour its difficult for them to fix that

1. Needing to support older versions is specifically why most of the client logic isn't in the app itself, it's in a javascript bundle that it receives from the server. At this point you can't pretend to be an android app making HTTP api calls. You have to either provide a fully functioning javascript execution environment, or deal with all the API changes that they throw your way through the updated javascript bundles[1].

2. Pretending to be android is harder than you think. There's tens of thousands of system APIs available that you can call, to check for inconsistencies or implementation quirks. You can even try to fingeprint/profile the hardware (eg. GPU or DSP) itself, or the java execution environment. DRMs use the same principles to bind activation tokens to a given machine, so you can't crack a game by taking one valid token and sharing it with everyone else.

[1] eg. https://github.com/ytdl-org/youtube-dl/issues/29326#issuecom...


yt-dlp stopped working for me as of today.

[download] Got error: HTTP Error 403: Forbidden. Retrying fragment 11 (1/10)...


update


I did update but it turns out the version in debian is hopelessly outdated anyway. Eventually I figured out how to install the latest version which does indeed work.


Already have been for a long time.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: