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

[YouTube] "Sign in to confirm..."/"Watch on the latest version..." #11139

Open
6 tasks done
zestygrass opened this issue Jun 7, 2024 · 97 comments
Open
6 tasks done

[YouTube] "Sign in to confirm..."/"Watch on the latest version..." #11139

zestygrass opened this issue Jun 7, 2024 · 97 comments
Labels
bug Issue is related to a bug help wanted Help is wanted in fixing this issue requires extractor change This issue requires a change to the extractor youtube Service, https://www.youtube.com/

Comments

@zestygrass
Copy link

Checklist

  • I am able to reproduce the bug with the latest version given here: CLICK THIS LINK.
  • I made sure that there are no existing issues - open or closed - which I could contribute my information to.
  • I have read the FAQ and my problem isn't listed.
  • I have taken the time to fill in all the required details. I understand that the bug report will be dismissed otherwise.
  • This issue contains only one bug.
  • I have read and understood the contribution guidelines.

Affected version

0.27.0

Steps to reproduce the bug

  1. Attempt to play any video
  2. Video does not play
  3. Page shows "Content unavailable" page

Expected behavior

Video should play.

Actual behavior

Video does not play.

Screenshots/Screen recordings

No response

Logs

Exception

  • User Action: requested stream
  • Request: https://www.youtube.com/watch?v=RXQOpChgksI
  • Content Country: GB
  • Content Language: en-GB
  • App Language: en_GB_#u-fw-mon-mu-celsius
  • Service: YouTube
  • Version: 0.27.0
  • OS: Linux Android 14 - 34
Crash log

org.schabi.newpipe.extractor.exceptions.ContentNotAvailableException: Got error: "Sign in to confirm that you're not a bot"
	at org.schabi.newpipe.extractor.services.youtube.extractors.YoutubeStreamExtractor.checkPlayabilityStatus(YoutubeStreamExtractor.java:948)
	at org.schabi.newpipe.extractor.services.youtube.extractors.YoutubeStreamExtractor.onFetchPage(YoutubeStreamExtractor.java:844)
	at org.schabi.newpipe.extractor.Extractor.fetchPage(Extractor.java:60)
	at org.schabi.newpipe.extractor.stream.StreamInfo.getInfo(StreamInfo.java:77)
	at org.schabi.newpipe.extractor.stream.StreamInfo.getInfo(StreamInfo.java:72)
	at org.schabi.newpipe.util.ExtractorHelper.lambda$getStreamInfo$3(ExtractorHelper.java:118)
	at org.schabi.newpipe.util.ExtractorHelper.$r8$lambda$YTHJjScxCJNO1LTCqs3IKy35iyY(ExtractorHelper.java:0)
	at org.schabi.newpipe.util.ExtractorHelper$$ExternalSyntheticLambda3.call(R8$$SyntheticClass:0)
	at io.reactivex.rxjava3.internal.operators.single.SingleFromCallable.subscribeActual(SingleFromCallable.java:43)
	at io.reactivex.rxjava3.core.Single.subscribe(Single.java:4855)
	at io.reactivex.rxjava3.internal.operators.single.SingleDoOnSuccess.subscribeActual(SingleDoOnSuccess.java:35)
	at io.reactivex.rxjava3.core.Single.subscribe(Single.java:4855)
	at io.reactivex.rxjava3.internal.operators.maybe.MaybeFromSingle.subscribeActual(MaybeFromSingle.java:41)
	at io.reactivex.rxjava3.core.Maybe.subscribe(Maybe.java:5377)
	at io.reactivex.rxjava3.internal.operators.maybe.MaybeConcatArray$ConcatMaybeObserver.drain(MaybeConcatArray.java:153)
	at io.reactivex.rxjava3.internal.operators.maybe.MaybeConcatArray$ConcatMaybeObserver.request(MaybeConcatArray.java:78)
	at io.reactivex.rxjava3.internal.operators.flowable.FlowableElementAtMaybe$ElementAtSubscriber.onSubscribe(FlowableElementAtMaybe.java:66)
	at io.reactivex.rxjava3.internal.operators.maybe.MaybeConcatArray.subscribeActual(MaybeConcatArray.java:42)
	at io.reactivex.rxjava3.core.Flowable.subscribe(Flowable.java:16144)
	at io.reactivex.rxjava3.internal.operators.flowable.FlowableElementAtMaybe.subscribeActual(FlowableElementAtMaybe.java:36)
	at io.reactivex.rxjava3.core.Maybe.subscribe(Maybe.java:5377)
	at io.reactivex.rxjava3.internal.operators.maybe.MaybeToSingle.subscribeActual(MaybeToSingle.java:46)
	at io.reactivex.rxjava3.core.Single.subscribe(Single.java:4855)
	at io.reactivex.rxjava3.internal.operators.single.SingleSubscribeOn$SubscribeOnObserver.run(SingleSubscribeOn.java:89)
	at io.reactivex.rxjava3.core.Scheduler$DisposeTask.run(Scheduler.java:644)
	at io.reactivex.rxjava3.internal.schedulers.ScheduledRunnable.run(ScheduledRunnable.java:65)
	at io.reactivex.rxjava3.internal.schedulers.ScheduledRunnable.call(ScheduledRunnable.java:56)
	at java.util.concurrent.FutureTask.run(FutureTask.java:264)
	at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:307)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:644)
	at java.lang.Thread.run(Thread.java:1012)


Affected Android/Custom ROM version

Android 14

Affected device model

Google Pixel 6

Additional information

I could replicate this issue on LibreTube and Grayjay.

@zestygrass zestygrass added bug Issue is related to a bug needs triage Issue is not yet ready for PR authors to take up labels Jun 7, 2024
@AudricV AudricV added youtube Service, https://www.youtube.com/ requires extractor change This issue requires a change to the extractor and removed needs triage Issue is not yet ready for PR authors to take up labels Jun 7, 2024
@AudricV
Copy link
Member

AudricV commented Jun 7, 2024

Can you reproduce this issue if you try to watch on youtube.com logged out with the same IP as the one you got this on NewPipe?

@AudricV AudricV added the waiting for author If the author doesn't respond, the issue will be auto-closed. Otherwise the label will be removed. label Jun 7, 2024
@zestygrass
Copy link
Author

zestygrass commented Jun 7, 2024

Yup, tried to play the same video on youtube.com, asks for login.

screenshot-2024-06-07-121917

I am using a vpn, which has not been an issue before today, I will try without the vpn and report back

Edit: Video's play without any issue in newpipe when vpn is off. No longer asks for login

@github-actions github-actions bot removed the waiting for author If the author doesn't respond, the issue will be auto-closed. Otherwise the label will be removed. label Jun 7, 2024
@zestygrass
Copy link
Author

Bit of an update, I tried a different vpn server in the same region, newpipe works without asking for login for now on these servers.

@AudricV AudricV changed the title Can't play any video - "Sign in to confirm that you're not a bot" [YouTube] Can't play any video - "Sign in to confirm that you're not a bot" Jun 7, 2024
@AudricV AudricV removed the requires extractor change This issue requires a change to the extractor label Jun 7, 2024
@davidasunmo
Copy link

@AudricV So, is this still a bug or not? If google doesn't like the IP from a VPN for some reason, is it NewPipe's responsibility to try and circumvent that, or is that the responsibility of the user?

@Japhys
Copy link

Japhys commented Jun 9, 2024

I have been experiencing the same since two days or so. Never happened before. But when I open the video in my browser it does not ask me to login.

IMG_20240609_171129 Screenshot_20240609-171141

@opusforlife2
Copy link
Collaborator

This is a network-wide problem. Invidious and Piped (and several others) are also facing the same issue.

@chayleaf
Copy link

chayleaf commented Jun 10, 2024

embeds still work without logging in, but not with a 100% chance

@ladfrombrad
Copy link

https://lemdro.id/post/9678087

Same for me, is very odd.

@NoahJelen
Copy link

I had an issue similar to this many years when tinkering with a Wireguard VPN on Linode. If you're using a commercial VPN or running a VPN system with a VPS (ex: Linode, Digital Ocean), YouTube thinks you're a robot (and forces a login) because the of the data center between YouTube and your device.

@anoraktrend
Copy link

anoraktrend commented Jun 16, 2024

I commented on the Oauth for Subscriptions feature request, but allowing users to sign in via oauth might be the only permanent solution for this issue.

@indomara
Copy link

I have this issue as well, without a vpn. Videos will not play, feed will not load. If I open the video on youtube it plays without being logged in. Thank you to everyone who spends their time on this project, I very much appreciate you.

@NoahJelen
Copy link

I commented on the Oauth for Subscriptions feature request, but allowing users to sign in via oauth might be the only permanent solution for this issue.

Is there a way we could have spoof accounts, similar to how the Aurora Store scrapes Google Play?

@opusforlife2
Copy link
Collaborator

Is there a way we could have spoof accounts, similar to how the Aurora Store scrapes Google Play?

Piped, via Libretube.

@Mennaruuk

This comment was marked as duplicate.

@opusforlife2 opusforlife2 pinned this issue Jun 23, 2024
@opusforlife2 opusforlife2 changed the title [YouTube] Can't play any video - "Sign in to confirm that you're not a bot" [YouTube] "Sign in to confirm..."/"Watch on the latest version..." Jun 27, 2024
@marek22k

This comment was marked as off-topic.

@gsture
Copy link

gsture commented Sep 29, 2024

If there is no other solution a middle ground could be something like anonymous sign in with a random account like aurora store does but I don't know how feasible that would be with something like YouTube.

@bitelaserkhalif
Copy link

TeamPiped/Piped#3658 (comment)

Tl;dr: ATM, use Cloudflare WARP as bandaid. They don't block cloudflare affiliated IP's. In theory if they (g) blocked cloudflare IP, some feature is going to be broken

@ghost
Copy link

ghost commented Oct 5, 2024

Please correct me if I'm wrong as I am no expert, but wouldn't "sign-in functionality" just be doing exactly what Google wants in this case, not to mention also defeat entirely one of the main reasons Newpipe even exists? I know you said it "may not align perfectly with Newpipe's philosophy", but that philosophy is kind of one of the primary reasons Newpipe even exists in the first place. Without it, there's very little reason to even use Newpipe, except for the reason of no ads. But, again, that's only one of the reasons people use Newpipe as far as I know.

The solution is Potoken, but it needs to be added to the Extractor. Or, I don't know, the official YouTube works account+potoken.

@drahmedramadan

This comment was marked as spam.

@mrkrabs206
Copy link

A potential workaround for this issue is to implement sign-in functionality, which could address both this problem and the restricted content issue. While this approach may not align perfectly with NewPipe's philosophy, it has proven effective in some cases.

For those interested in seeing how this solution works in practice, PipePipe's latest version demonstrates one possible implementation.

It should only be verification and not for activity (liking commenting history etc)

@NotGabe001

This comment was marked as off-topic.

@mycodedoesnotcompile2
Copy link

mycodedoesnotcompile2 commented Nov 10, 2024

The method pointed there, to use Cloudflare WARP, seems now defunct.

I suspect Cloudflare forwards the source IP to the destination (which Youtube in this case), the former can then choose not to return results.

The weird thing is that if you use yt-dlp from the same machine, through Cloudflare WARP, it works !

So maybe Piped should embed yt-dlp to access content and stream the result to the user ?!

If anyone has another method to circumvent Youtube anti-Piped access, please share !

@Stypox Stypox mentioned this issue Nov 10, 2024
6 tasks
@n-d-v
Copy link

n-d-v commented Nov 14, 2024

Couldn't this issue be fixed by making youtube think that you are logged in? maybe perhaps some sort of default account that the data could somehow be rerouted to?

@86ul
Copy link

86ul commented Nov 15, 2024

BTW, it seems to me, that I get this message only when I am 'binge-watching' a playlist. Either when I watch some bits, or even several short videos of +5min each (no Shorts itself!), I get this message. However, when I watch several videos for longer than +10min each, I do not get this error message, even on a local (active?) VPN server. Otherwise I have to hope merely to another country with the official VPN app of my provider, and/or restart the app (no forced restart!), and off I go (again)...

@QuantumEdgeCode
Copy link

YouTube appears to redirect special IP addresses to the login page, but using high-quality IP addresses allows you to watch directly, including US IPs.

@tag27
Copy link
Contributor

tag27 commented Nov 17, 2024

Couldn't this issue be fixed by making youtube think that you are logged in? maybe perhaps some sort of default account that the data could somehow be rerouted to?

It used to be using OAuth2, which is almost similar, but recently YouTube A/B tests broke this solution. Now all that's left is POtoken to fix the problem, for now.

@tizbac
Copy link

tizbac commented Nov 23, 2024

Hi, we have all of our IPv4 and IPv6 blocked as an ISP, this is just an IP/ASN/company block
No idea what to do to fix it at all, also IPs that have never been used are blocked anyway

@Unkn0wnN4m3

This comment was marked as duplicate.

@smellymoo

This comment was marked as off-topic.

@TodorovicSrdjan
Copy link

TodorovicSrdjan commented Dec 7, 2024

I was able to fix this with forced stop and clearing cache. This might help with the throubleshooting.

EDIT: by "fix", I meant that it would allow me to continue watching video. It is not as convenient as it was, but at least I'm still able to use youtube throught NewPipe.

@jonascant

This comment was marked as off-topic.

@smellymoo

This comment was marked as off-topic.

@moteb757

This comment was marked as spam.

@moteb757

This comment was marked as spam.

@TodorovicSrdjan
Copy link

TodorovicSrdjan commented Dec 9, 2024

I was able to fix this with forced stop and clearing cache. This might help with the throubleshooting.

EDIT: by "fix", I meant that it would allow me to continue watching video. It is not as convenient as it was, but at least I'm still able to use youtube throught NewPipe.

Can someone explain to me why this works and why we can't take advantage of this behaviour?

Is it some kind of IP rate limiting? Does this has something to do with the cookies? (seems like it since it works when I clear the cache and create new app process).

Sorry if this is unrelated and unnecessary comment. I'm just trying to help if I can so we can resolve the issue as fast as possible 😇

@johnss

This comment was marked as off-topic.

@tag27
Copy link
Contributor

tag27 commented Dec 11, 2024

Can someone explain to me why this works and why we can't take advantage of this behaviour?

I don't know how it worked in your case, since the problem has to do with IP (Even official YouTube instances are affected).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Issue is related to a bug help wanted Help is wanted in fixing this issue requires extractor change This issue requires a change to the extractor youtube Service, https://www.youtube.com/
Projects
None yet
Development

No branches or pull requests