From 98e6a95bd577085c319f556665be9ca1221a5ba6 Mon Sep 17 00:00:00 2001 From: Dominika Date: Mon, 16 Nov 2020 01:31:37 +0100 Subject: [PATCH] version 2020.11.16 --- ChangeLog | 9 +++++++++ devscripts/ExtractCryptoYT.sh | 5 +++-- haruhi_dl/extractor/youtube.py | 6 +++--- haruhi_dl/version.py | 2 +- 4 files changed, 16 insertions(+), 6 deletions(-) diff --git a/ChangeLog b/ChangeLog index 61d4e5209..23286998c 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,12 @@ +version 2020.11.16 +Extractor +* [youtube] fixed channel, playlist, search + +version 2020.11.14 +Extractor +* [youtube] fixed static crypto +* [youtube] new *tiny* crypto extracting system rewritten from bash by @selfisekai + version 2020.11.12 Extractor * [tiktok] fixed extractor diff --git a/devscripts/ExtractCryptoYT.sh b/devscripts/ExtractCryptoYT.sh index ff4a2aabf..0da198610 100755 --- a/devscripts/ExtractCryptoYT.sh +++ b/devscripts/ExtractCryptoYT.sh @@ -1,10 +1,11 @@ #!/bin/bash -func="$(cat $1 | grep -P '[a-z]\=a\.split.*a\.join')" +data="$(curl -s "https://www.youtube.com/s/player/$1/player_ias.vflset/en_GB/base.js")" +func="$(echo "$data" | grep -P '[a-z]\=a\.split.*a\.join')" echo $func obfuscatedName="$(echo $func | grep -Poh '\(""\);[A-Za-z]+' | sed -s 's/("");//')" -obfuscatedFunc=$(cat "$1" | tr -d '\n' | grep -Poh "$obfuscatedName\=.*?}}") +obfuscatedFunc=$(echo "$data" | tr -d '\n' | grep -Poh "$obfuscatedName\=.*?}}") mess="$(echo "$obfuscatedFunc" | grep -Poh "..:function\([a-z]+,[a-z]+\){var" | grep -Poh "^..")" rev="$(echo "$obfuscatedFunc" | grep -Poh "..:function\([a-z]+\){[a-z]+.rev" | grep -Poh "^..")" splice="$(echo "$obfuscatedFunc" | grep -Poh "..:function\([a-z]+\,[a-z]+\){[a-z]+\." | grep -Poh "^..")" diff --git a/haruhi_dl/extractor/youtube.py b/haruhi_dl/extractor/youtube.py index 867c05f5c..eeb471866 100644 --- a/haruhi_dl/extractor/youtube.py +++ b/haruhi_dl/extractor/youtube.py @@ -1104,14 +1104,14 @@ class YoutubeIE(YoutubeBaseInfoExtractor): def _decrypt_signature_protected(self, s): a = list(s) - a = self.mess(a, 69) a.reverse() a = a[2:] - a = self.mess(a, 56) - a = a[1:] + a = self.mess(a, 65) + a = a[2:] a.reverse() a = a[3:] a.reverse() + a = self.mess(a, 2) return "".join(a) def _get_subtitles(self, video_id, webpage): diff --git a/haruhi_dl/version.py b/haruhi_dl/version.py index 04cd207ab..0982e8834 100644 --- a/haruhi_dl/version.py +++ b/haruhi_dl/version.py @@ -1,3 +1,3 @@ from __future__ import unicode_literals -__version__ = '2020.11.12' +__version__ = '2020.11.16'