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

[FIXED] YouTube is sometimes unreachable because of A/B testing of forced log in #551

Closed
wukko opened this issue Jun 7, 2024 · 50 comments
Closed
Labels
bug Something isn't working

Comments

@wukko
Copy link
Member

wukko commented Jun 7, 2024

innertube returns "Sign in to confirm you’re not a bot. This helps protect our community. Learn more" instead of video info or regular errors.

cobalt may sometimes not be able to get the video, especially on larger instances (such as main one). if that happens, it'll show you an appropriate error that links to this issue:
image

related issue threads in repos of other projects:

FIXED:
@dumbmoron implemented support for OAuth2! main instance (cobalt.tools) is back to being able to download youtube videos (so far).

if you host a cobalt instance, you can generate your own token by running npm run token:youtube in local cobalt repo folder. please don't use your personal google account. it might get banned, restricted, or rate limited.

@wukko wukko added the bug Something isn't working label Jun 7, 2024
@wukko wukko pinned this issue Jun 7, 2024
@kane50613
Copy link

My YouTube alt account got blocked when I used the cookie.
When I play a video, it always shows "Video unavailable. This content isn’t available." Changing the IP doesn't help.

@wukko
Copy link
Member Author

wukko commented Jun 7, 2024

My YouTube alt account got blocked when I used the cookie.

this is exactly what i mean! using user cookies WILL cause issues. this is why using dummy accounts is not a good option, they will quickly run out.

@wukko
Copy link
Member Author

wukko commented Jun 7, 2024

support for youtube cookies was added to cobalt in f6632e2, but please don't use your main account cookies

main instance seems to be fine for now, but it's unknown how long it'll last. we shall see and find out

@wukko
Copy link
Member Author

wukko commented Jun 7, 2024

the dummy account cookie already got nuked omfg

update: you need to refresh the cookie every few minutes. it's best to not use it at all and instead use a different authentication method

@00-kat
Copy link

00-kat commented Jun 7, 2024

From what I remember,

  1. Google needs a phone number for each account
  2. You can't make a YouTube account without a Google account
  3. A single phone number can only be used six times to verify Google accounts

Dummy/throwaway accounts are a stupid idea unless you happen to have unlimited cash to burn on burner phone numbers.

(Just letting you know in case you don't already)

@wukko
Copy link
Member Author

wukko commented Jun 7, 2024

in case you don't

i do know like no other lol

@TheSystemGuy1337
Copy link

TheSystemGuy1337 commented Jun 7, 2024

YouTube really hates its users and I personally saw this coming from miles away. They just bricked every YouTube downloader known to mankind with one simple change and are now handing out IP and account bans.* I guess this might be the end of YouTube download utilities until they either get their act together and stop (which they won't), or a workaround is discovered.

This also cripples legitimate uses for downloader utilities, including data preservation.

*Well, somewhat. They don't appear to be 100% bricked yet, but they are getting there rather fast. I hope that this causes significant controversy (much like the adblock crisis) and YouTube loses the battle. But it looks like we lost right out of the gates.

@wukko
Copy link
Member Author

wukko commented Jun 7, 2024

legitimate uses for downloader utilities, including data preservation

that's what cobalt is for, along with content creation and teaching

@TheSystemGuy1337
Copy link

that's what cobalt is for, along with content creation and teaching

And yet, here we are. YouTube is going through the effort and potentially spending thousands of dollars to brick downloader utilities even though most uses are protected under fair use. Lets hope this generates controversy and that we win the war against YouTube harming their own users.

@unknownsrc
Copy link

My Cobalt fork (the only change I made is using YTSTUDIO_ANDROID instead of WEB) still works. The number of users using Cobalt might be causing YouTube to be upset, but I don't know. It's worth a try, I guess.

@alectrocute
Copy link
Contributor

Would using a Premium-enabled YouTube dummy account have the same limitations?

@TheSystemGuy1337
Copy link

TheSystemGuy1337 commented Jun 7, 2024 via email

@Jacherr
Copy link

Jacherr commented Jun 7, 2024

The only way I see a public-facing production instance continuing to work at scale for YouTube video downloading is if Cobalt asks the user to sign in with a Google account prior to downloading. It can then use that account to download the content. Definitely not ideal though, especially for the API..

@Miner11github
Copy link

Thanks YouTube, you guys really know what you're doing.

@TheSystemGuy1337
Copy link

TheSystemGuy1337 commented Jun 7, 2024 via email

@Tintin232
Copy link

Wukko, will you be able to get this fixed? 🥺

@alectrocute
Copy link
Contributor

I'm actually thankful this broke Discord music bots, as it'll surely bring a lot of mainstream attention to this issue. Fingers crossed.

@2shiraz
Copy link

2shiraz commented Jun 7, 2024

The only way I see a public-facing production instance continuing to work at scale for > YouTube video downloading is if Cobalt asks the user to sign in with a Google > account prior to downloading. It can then use that account to download the content. > Definitely not ideal though, especially for the API..
Doing this is very risky, as YouTube is a part of Google. They can easily revoke API access or in the worst case scenario; outright terminate your account. Bans can also apply to users signing in to the API to use cobalt, too. The only reason why YouTube is doing this is not to prevent scraping; but to protect their bottom line. They tried going after adblockers and failed. We can only hope history repeats itself and this generates enough controversy that YouTube gives up trying. This will also fuck over Discord bots, so that might end up being the spark that starts the riot along with breaking YouTube downloaders.

Can confirm this is fucking over Discord bots as well. I own a music bot on 400k+ servers and YouTube is currently completely broken right now.

Same, I own some YouTube downloader Sites, 4-5 million monthly users and I am losing my mind rn!!

@IoreEroi
Copy link

IoreEroi commented Jun 7, 2024

The Maki Bot is working Idk how but it is

@alectrocute
Copy link
Contributor

The Maki Bot is working Idk how but it is

Probably just haven't been banned (yet). Luck of the draw?

@TheSystemGuy1337
Copy link

TheSystemGuy1337 commented Jun 7, 2024

We should also get Louis Rossman on the line. He could bring additional attention to how fucked up YouTube's practices are. Combine that with the riot that's starting with Discord music bots and we got a firestorm that will most certainly secure our victory.

@2shiraz
Copy link

2shiraz commented Jun 7, 2024

We should also get Louis Rossman on the line. He will likely bring additional attention to how fucked up YouTube's practices are.

That is a great idea. Someone email him the situation

@ihatespawn ihatespawn mentioned this issue Jun 7, 2024
@Mazedotexe
Copy link

9 hours ago? Wow, that's recent! I wonder how long this has been an issue before that...
And ihatespawn on #555 just mentioned this issue 15 minutes ago...

@imputnet imputnet deleted a comment Jun 7, 2024
@00-kat

This comment was marked as off-topic.

@Zue5s

This comment was marked as off-topic.

@00-kat

This comment was marked as off-topic.

@wukko

This comment was marked as off-topic.

@Zue5s

This comment was marked as off-topic.

@00-kat

This comment was marked as off-topic.

@Zue5s

This comment was marked as off-topic.

@00-kat

This comment was marked as off-topic.

@Zue5s

This comment was marked as off-topic.

@00-kat

This comment was marked as off-topic.

@Zue5s

This comment was marked as off-topic.

@00-kat

This comment was marked as off-topic.

@wukko
Copy link
Member Author

wukko commented Jun 8, 2024

@dumbmoron implemented support for OAuth2! main instance (cobalt.tools) is back to being able to download youtube videos (so far).

if you host a cobalt instance, you can generate your own token by running npm run token:youtube in local cobalt repo folder. please don't use your personal google account. it might get banned, restricted, or rate limited.

i will close this issue if the sign in problem doesn't come back within next 2 hours :D

@wukko wukko changed the title YouTube is sometimes unreachable because of A/B testing of forced log in [FIXED] YouTube is sometimes unreachable because of A/B testing of forced log in Jun 8, 2024
@TheSystemGuy1337
Copy link

TheSystemGuy1337 commented Jun 8, 2024

@dumbmoron implemented support for OAuth2! main instance (cobalt.tools) is back to being able to download youtube videos (so far).

if you host a cobalt instance, you can generate your own token by running npm run token:youtube in local cobalt repo folder. please don't use your personal google account. it might get banned, restricted, or rate limited.

i will close this issue if the sign in problem doesn't come back within next 2 hours :D

SUCCESS. We have cracked YouTube's downloader block. With any effort we will be able to crack it without the use of OAUTH or cookies. I wonder, is there a CLI version of Cobalt available much like yt-dlp? And we should obfuscate and encrypt our keys; this is in case Google is actively looking though the repo to find keys to revoke. This is likely as they are money hungry and greedy and will do ANYTHING for their investors and to protect their bottom line.

@wukko
Copy link
Member Author

wukko commented Jun 8, 2024

yep, seems to be all good

@wukko wukko closed this as completed Jun 8, 2024
@ggtylerr
Copy link

ggtylerr commented Jun 8, 2024

FIXED: @dumbmoron implemented support for OAuth2! main instance (cobalt.tools) is back to being able to download youtube videos (so far.)

I'm on Docker, which container should I run this on?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

17 participants