youtube-dl

Another place where youtube-dl lives on
git clone git://git.oshgnacknak.de/youtube-dl.git
Log | Files | Refs | README | LICENSE

commit 7a878d47fa57cbfc8b8df398d6dbe753fdabaf0b
parent c5e743f66f5637fe02fe0b5167fab99a06b903e6
Author: Jaime Marquínez Ferrándiz <jaime.marquinez.ferrandiz@gmail.com>
Date:   Fri, 20 Sep 2013 08:23:50 +0200

Merge pull request #1464 from patrickslin/patch-7

Unable to decrypt signature length 93 (fixes #1461)

Diffstat:
Mdevscripts/youtube_genalgo.py | 4++++
Myoutube_dl/extractor/youtube.py | 4+++-
2 files changed, 7 insertions(+), 1 deletion(-)

diff --git a/devscripts/youtube_genalgo.py b/devscripts/youtube_genalgo.py @@ -1,10 +1,14 @@ #!/usr/bin/env python +# encoding: utf-8 # Generate youtube signature algorithm from test cases import sys tests = [ + # 93 - vfl79wBKW 2013/07/20 + (u"qwertyuioplkjhgfdsazxcvbnm1234567890QWERTYUIOPLKJHGFDSAZXCVBNM!@#$%^&*()_-+={[]}|:;?/>.<'`~\"€", + u".>/?;:|}][{=+-_)(*&^%$#@!MNBVCXZASDFGHJKLPOIUYTREWQ098765'321mnbvcxzasdfghjklpoiu"), # 92 - vflQw-fB4 2013/07/17 ("qwertyuioplkjhgfdsazxcvbnm1234567890QWERTYUIOPLKJHGFDSAZXCVBNM!@#$%^&*()_-+={[]}|:;?/>.<'`~\"", "mrtyuioplkjhgfdsazxcvbnq1234567890QWERTY}IOPLKJHGFDSAZXCVBNM!@#$%^&*()_-+={[]\"|:;"), diff --git a/youtube_dl/extractor/youtube.py b/youtube_dl/extractor/youtube.py @@ -416,7 +416,9 @@ class YoutubeIE(YoutubeBaseInfoExtractor, SubtitlesInfoExtractor): def _decrypt_signature(self, s): """Turn the encrypted s field into a working signature""" - if len(s) == 92: + if len(s) == 93: + return s[86:29:-1] + s[88] + s[28:5:-1] + elif len(s) == 92: return s[25] + s[3:25] + s[0] + s[26:42] + s[79] + s[43:79] + s[91] + s[80:83] elif len(s) == 90: return s[25] + s[3:25] + s[2] + s[26:40] + s[77] + s[41:77] + s[89] + s[78:81]