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

org.schabi.newpipe.extractor.services.youtube.extractors.YoutubeStreamExtractor$DecryptException: Could not parse decrypt function #2996

Closed
cion49235 opened this issue Jan 24, 2020 · 7 comments

Comments

@cion49235
Copy link

org.schabi.newpipe.extractor.services.youtube.extractors.YoutubeStreamExtractor$DecryptException: Could not parse decrypt function

{
"user_action": "requested stream",
"request": "https://www.youtube.com/watch?v=4C8CptPlllQ",
"content_language": "GB",
"service": "YouTube",
"package": "org.schabi.newpipe.debug",
"version": "0.18.0",
"os": "Linux Android 10 - 29",
"time": "2020-01-24 14:08",
"exceptions": [
"org.schabi.newpipe.extractor.services.youtube.extractors.YoutubeStreamExtractor$DecryptException: Could not parse decrypt function \n\tat org.schabi.newpipe.extractor.services.youtube.extractors.YoutubeStreamExtractor.loadDecryptionCode(YoutubeStreamExtractor.java:849)\n\tat org.schabi.newpipe.extractor.services.youtube.extractors.YoutubeStreamExtractor.onFetchPage(YoutubeStreamExtractor.java:716)\n\tat org.schabi.newpipe.extractor.Extractor.fetchPage(Extractor.java:54)\n\tat org.schabi.newpipe.extractor.stream.StreamInfo.getInfo(StreamInfo.java:64)\n\tat org.schabi.newpipe.extractor.stream.StreamInfo.getInfo(StreamInfo.java:60)\n\tat org.schabi.newpipe.util.ExtractorHelper.lambda$getStreamInfo$3(ExtractorHelper.java:115)\n\tat org.schabi.newpipe.util.-$$Lambda$ExtractorHelper$5fJcha6Sq5APJBLdG6osaJby-mc.call(Unknown Source:4)\n\tat io.reactivex.internal.operators.single.SingleFromCallable.subscribeActual(SingleFromCallable.java:44)\n\tat io.reactivex.Single.subscribe(Single.java:3438)\n\tat io.reactivex.internal.operators.single.SingleDoOnSuccess.subscribeActual(SingleDoOnSuccess.java:35)\n\tat io.reactivex.Single.subscribe(Single.java:3438)\n\tat io.reactivex.internal.operators.maybe.MaybeFromSingle.subscribeActual(MaybeFromSingle.java:41)\n\tat io.reactivex.Maybe.subscribe(Maybe.java:4154)\n\tat io.reactivex.internal.operators.maybe.MaybeConcatArray$ConcatMaybeObserver.drain(MaybeConcatArray.java:153)\n\tat io.reactivex.internal.operators.maybe.MaybeConcatArray$ConcatMaybeObserver.request(MaybeConcatArray.java:78)\n\tat io.reactivex.internal.operators.flowable.FlowableElementAtMaybe$ElementAtSubscriber.onSubscribe(FlowableElementAtMaybe.java:66)\n\tat io.reactivex.internal.operators.maybe.MaybeConcatArray.subscribeActual(MaybeConcatArray.java:42)\n\tat io.reactivex.Flowable.subscribe(Flowable.java:14479)\n\tat io.reactivex.internal.operators.flowable.FlowableElementAtMaybe.subscribeActual(FlowableElementAtMaybe.java:36)\n\tat io.reactivex.Maybe.subscribe(Maybe.java:4154)\n\tat io.reactivex.internal.operators.maybe.MaybeToSingle.subscribeActual(MaybeToSingle.java:46)\n\tat io.reactivex.Single.subscribe(Single.java:3438)\n\tat io.reactivex.internal.operators.single.SingleSubscribeOn$SubscribeOnObserver.run(SingleSubscribeOn.java:89)\n\tat io.reactivex.Scheduler$DisposeTask.run(Scheduler.java:578)\n\tat io.reactivex.internal.schedulers.ScheduledRunnable.run(ScheduledRunnable.java:66)\n\tat io.reactivex.internal.schedulers.ScheduledRunnable.call(ScheduledRunnable.java:57)\n\tat java.util.concurrent.FutureTask.run(FutureTask.java:266)\n\tat java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:301)\n\tat java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167)\n\tat java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)\n\tat java.lang.Thread.run(Thread.java:919)\nCaused by: org.schabi.newpipe.extractor.utils.Parser$RegexException: failed to find pattern ";([A-Za-z0-9_\$]{2})\...\( inside of var lea=function(a){a=a.split("");var b=[function(c,d){d=(d%c.length+c.length)%c.length;c.splice(-d).reverse().forEach(function(e){return c.unshift(e)};"\n\tat org.schabi.newpipe.extractor.utils.Parser.matchGroup(Parser.java:73)\n\tat org.schabi.newpipe.extractor.utils.Parser.matchGroup(Parser.java:61)\n\tat org.schabi.newpipe.extractor.utils.Parser.matchGroup1(Parser.java:52)\n\tat org.schabi.newpipe.extractor.services.youtube.extractors.YoutubeStreamExtractor.loadDecryptionCode(YoutubeStreamExtractor.java:836)\n\t... 30 more\n"
],
"user_comment": ""
}

@drewkime
Copy link

Same error here. On the latest version 0.18.1. Thumbnails and comments appear, this error is when trying to play a video.

@rohan-sircar
Copy link

rohan-sircar commented Jan 24, 2020

Same here.

@gkeegan
Copy link
Contributor

gkeegan commented Jan 24, 2020

Update to new version. See the Readme's "Update" section for instructions.

@B0pol
Copy link
Member

B0pol commented Jan 24, 2020

duplicate of #2981
You must to update the app

@Narcolapser
Copy link

Can confirm. I updated manually by downloading the APK. However, this required me to uninstall the app and reinstall it, losing my configuration in the process. Any idea when fdroid will have the new APK?

@B0pol
Copy link
Member

B0pol commented Jan 24, 2020

Can confirm. I updated manually by downloading the APK. However, this required me to uninstall the app and reinstall it, losing my configuration in the process. Any idea when fdroid will have the new APK?

Go in settings, content, export database
Uninstall your app, download and install v0.18.2 from github, and go in content settings, import database, pick the file you just exported

For your information, 0.18.1 took 4 days to be available in F-Droid

@cyphar
Copy link

cyphar commented Jan 24, 2020

From memory, there were discussions a year or two ago to make it so that the regexes used for extracting stream information are user-modifiable (or provided over the network), since most of the YouTube breakages are related to the regex no longer matching the newest version of YouTube's JavaScript. Have those discussions stalled? To be fair, #1981 appears to be a nicer solution to this problem but it seems like having the regular expressions be user-modifiable (with a "reset to defaults" button) would allow for people to hot-fix their NewPipe installations while we wait for the fixed version to be available in F-Droid.

@Stypox Stypox closed this as completed Jan 24, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

8 participants