mirror of
https://github.com/TeamNewPipe/NewPipeExtractor.git
synced 2024-12-14 06:10:33 +05:30
Merge branch 'dev' of https://github.com/TeamNewPipe/NewPipeExtractor into dev
Conflicts: extractor/src/main/java/org/schabi/newpipe/extractor/services/youtube/extractors/YoutubeStreamExtractor.java
This commit is contained in:
commit
61dcbbb800
@ -3,6 +3,10 @@ package org.schabi.newpipe.extractor.services.youtube.extractors;
|
||||
import com.grack.nanojson.JsonArray;
|
||||
import com.grack.nanojson.JsonObject;
|
||||
import com.grack.nanojson.JsonParser;
|
||||
import org.jsoup.Jsoup;
|
||||
import org.jsoup.nodes.Document;
|
||||
import org.jsoup.nodes.Element;
|
||||
import org.jsoup.select.Elements;
|
||||
import org.mozilla.javascript.Context;
|
||||
import org.mozilla.javascript.Function;
|
||||
import org.mozilla.javascript.ScriptableObject;
|
||||
@ -633,7 +637,7 @@ public class YoutubeStreamExtractor extends StreamExtractor {
|
||||
private static final String FORMATS = "formats";
|
||||
private static final String ADAPTIVE_FORMATS = "adaptiveFormats";
|
||||
private static final String HTTPS = "https:";
|
||||
private static final String DEOBFUSCATION_FUNC_NAME = "decrypt";
|
||||
private static final String DEOBFUSCATION_FUNC_NAME = "deobfuscate";
|
||||
|
||||
private final static String[] REGEXES = {
|
||||
"(?:\\b|[^a-zA-Z0-9$])([a-zA-Z0-9$]{2})\\s*=\\s*function\\(\\s*a\\s*\\)\\s*\\{\\s*a\\s*=\\s*a\\.split\\(\\s*\"\"\\s*\\)",
|
||||
@ -790,7 +794,7 @@ public class YoutubeStreamExtractor extends StreamExtractor {
|
||||
|
||||
} catch (IOException e) {
|
||||
throw new ParsingException(
|
||||
"Could load deobfuscation code form restricted video for the Youtube service.", e);
|
||||
"Could not load deobfuscation code from YouTube video embed", e);
|
||||
}
|
||||
}
|
||||
|
||||
@ -835,8 +839,8 @@ public class YoutubeStreamExtractor extends StreamExtractor {
|
||||
final Object result;
|
||||
try {
|
||||
final ScriptableObject scope = context.initSafeStandardObjects();
|
||||
context.evaluateString(scope, deobfuscationCode, "decryptionCode", 1, null);
|
||||
final Function deobfuscateFunc = (Function) scope.get("decrypt", scope);
|
||||
context.evaluateString(scope, deobfuscationCode, "deobfuscationCode", 1, null);
|
||||
final Function deobfuscateFunc = (Function) scope.get(DEOBFUSCATION_FUNC_NAME, scope);
|
||||
result = deobfuscateFunc.call(context, scope, scope, new Object[]{obfuscatedSig});
|
||||
} catch (Exception e) {
|
||||
throw new DeobfuscateException("Could not get deobfuscate signature", e);
|
||||
|
Loading…
Reference in New Issue
Block a user