NewPipe icon indicating copy to clipboard operation
NewPipe copied to clipboard

Recaptcha page not being shown when needed

Open benazarenko opened this issue 1 year ago • 12 comments

Checklist

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

Affected version

0.27.0

Steps to reproduce the bug

  1. User IP on a mass ban list.
  2. Search suggestions attempted to be obtained.

Expected behavior

Should show a recaptcha page to allowlist that user+IP combo.

Actual behavior

Shows nothing and gives a 'Something went wrong' snackbar error.

Screenshots/Screen recordings

No response

Logs

Exception

  • User Action: get suggestions
  • Request: taz wanted grand canyon
  • Content Country: US
  • Content Language: ru-RU
  • App Language: ru_RU
  • Service: YouTube
  • Version: 0.27.0
  • OS: Linux samsung/m12nsser/m12:13/TP1A.220624.014/M127FXXU6DWI3:user/release-keys 13 - 33
Crash log

org.schabi.newpipe.extractor.exceptions.ReCaptchaException: reCaptcha Challenge requested at org.schabi.newpipe.DownloaderImpl.execute(DownloaderImpl.java:168) at org.schabi.newpipe.extractor.downloader.Downloader.get(Downloader.java:77) at org.schabi.newpipe.extractor.services.youtube.extractors.YoutubeSuggestionExtractor.suggestionList(YoutubeSuggestionExtractor.java:65) at org.schabi.newpipe.util.ExtractorHelper.lambda$suggestionsFor$2(ExtractorHelper.java:109) at org.schabi.newpipe.util.ExtractorHelper.$r8$lambda$kgV3vMftlbQH0zdv8hszrHLyMLU(ExtractorHelper.java:0) at org.schabi.newpipe.util.ExtractorHelper$$ExternalSyntheticLambda15.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.SingleToObservable.subscribeActual(SingleToObservable.java:36) at io.reactivex.rxjava3.core.Observable.subscribe(Observable.java:13262) at io.reactivex.rxjava3.internal.operators.observable.ObservableMap.subscribeActual(ObservableMap.java:33) at io.reactivex.rxjava3.core.Observable.subscribe(Observable.java:13262) at io.reactivex.rxjava3.internal.operators.observable.ObservableZip$ZipCoordinator.subscribe(ObservableZip.java:110) at io.reactivex.rxjava3.internal.operators.observable.ObservableZip.subscribeActual(ObservableZip.java:72) at io.reactivex.rxjava3.core.Observable.subscribe(Observable.java:13262) at io.reactivex.rxjava3.internal.operators.observable.ObservableMaterialize.subscribeActual(ObservableMaterialize.java:28) at io.reactivex.rxjava3.core.Observable.subscribe(Observable.java:13262) at io.reactivex.rxjava3.internal.operators.observable.ObservableSwitchMap$SwitchMapObserver.onNext(ObservableSwitchMap.java:128) at io.reactivex.rxjava3.internal.operators.observable.ObservableConcatMap$ConcatMapDelayErrorObserver$DelayErrorInnerObserver.onNext(ObservableConcatMap.java:500) at io.reactivex.rxjava3.observers.SerializedObserver.onNext(SerializedObserver.java:114) at io.reactivex.rxjava3.internal.operators.observable.ObservableDebounceTimed$DebounceTimedObserver.emit(ObservableDebounceTimed.java:156) at io.reactivex.rxjava3.internal.operators.observable.ObservableDebounceTimed$DebounceEmitter.run(ObservableDebounceTimed.java:181) 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 13

Affected device model

Samsung M12

Additional information

It happens all the time, not only in search. When I open search results it gives the same error. Every time I open it. As I see it's some problem with Google Captcha.

benazarenko avatar Jun 04 '24 11:06 benazarenko

Under History settings, are you able to clear recaptcha cookies and try again?

opusforlife2 avatar Jun 04 '24 11:06 opusforlife2

For some reason I can't. The option is greyed out.

benazarenko avatar Jun 04 '24 11:06 benazarenko

Cleared all app data, but nothing changed. Reinstalled it completely, but nothing changed.

benazarenko avatar Jun 04 '24 12:06 benazarenko

Could you try a different network? Like mobile data instead of wifi.

opusforlife2 avatar Jun 04 '24 13:06 opusforlife2

Tried it on my home wifi and it works fine. On mobile network it doesn't. Doesn't work in my office wifi too.

benazarenko avatar Jun 04 '24 16:06 benazarenko

I'm guessing it's certain IP addresses that are problematic. Are you able to change it and see if others work?

opusforlife2 avatar Jun 04 '24 16:06 opusforlife2

Looks like my mobile network subnet addresses are in spam list or something. Even google search constantly asks for captcha. It is not impossible to use the app this way, but it's annoying. Not even because of search suggestions, but because of constant 'Something went wrong' message popping from under the screen and blocking the video tab. Is there any way I could enter the captcha and continue using it as usual?

benazarenko avatar Jun 04 '24 19:06 benazarenko

Are you able to do everything else apart from getting search suggestions?

opusforlife2 avatar Jun 04 '24 20:06 opusforlife2

Yes, looks like it doesn't affect other functionality. Only search suggestions and 'Something went wrong' constantly popping from under the screen when I open app with search results.

benazarenko avatar Jun 05 '24 07:06 benazarenko

@AudricV Is it possible to add a button in settings to preemptively manually solve a recaptcha? That way, we could just show a specific error page upon encountering this exception that lets the user open a recaptcha page directly, and solve it no matter which request it is originating from.

opusforlife2 avatar Jun 07 '24 15:06 opusforlife2

I don't think so. Anyway, this won't change anything as the logged-out access to search suggestions for the IP used by the user has been banned. Piped is for instance affected by this behavior.

The extractor Downloader's app implementation interprets incorrectly any 429 HTTP response code as a captcha challenge request.

AudricV avatar Jun 07 '24 16:06 AudricV

logged-out access to search suggestions for the IP used by the user has been banned

Does that mean this user won't be shown a recaptcha even if using the official website/app while logged out?

opusforlife2 avatar Jun 07 '24 16:06 opusforlife2