diff --git a/devscripts/ExtractCryptoYT.sh b/devscripts/ExtractCryptoYT.sh index f7caf2e18..2b41da995 100755 --- a/devscripts/ExtractCryptoYT.sh +++ b/devscripts/ExtractCryptoYT.sh @@ -1,6 +1,6 @@ #!/bin/bash data="$(curl -s "https://www.youtube.com/s/player/$1/player_ias.vflset/en_GB/base.js")" -func="$(grep -P '[a-z]\=a\.split.*a\.join' <<< "$data")" +func="$(grep -P '[a-z]\=a\.split\([\"'"'"']{2}.*a\.join' <<< "$data")" echo "full extracted function: $func" obfuscatedName="$(grep -Poh '\(""\);[A-Za-z]+' <<< "$func" | sed -s 's/("");//')" diff --git a/haruhi_dl/extractor/youtube.py b/haruhi_dl/extractor/youtube.py index 40d0de8f1..0d21c8e40 100644 --- a/haruhi_dl/extractor/youtube.py +++ b/haruhi_dl/extractor/youtube.py @@ -1020,14 +1020,12 @@ class YoutubeIE(YoutubeBaseInfoExtractor): def _decrypt_signature_protected(self, s): a = list(s) - a = a[3:] - a = self.mess(a, 63) - a = self.mess(a, 20) - a = a[1:] + a = self.mess(a, 49) + a = self.mess(a, 26) a.reverse() - a = self.mess(a, 44) - a = a[1:] + a = self.mess(a, 62) a.reverse() + a = a[2:] return "".join(a) def _full_signature_handling(self, sig, player_url, video_id): diff --git a/haruhi_dl/version.py b/haruhi_dl/version.py index feedce51d..b33dfb273 100644 --- a/haruhi_dl/version.py +++ b/haruhi_dl/version.py @@ -1,6 +1,6 @@ from __future__ import unicode_literals -__version__ = '2021.06.01' +__version__ = '2021.06.20' if __name__ == '__main__': print(__version__)