Join GitHub today
GitHub is home to over 50 million developers working together to host and review code, manage projects, and build software together.
Sign upGitHub is where the world builds software
Millions of developers and companies build, ship, and maintain their software on GitHub — the largest and most advanced development platform in the world.
Signature Length 86 #1156
Signature Length 86 #1156
Comments
|
@speedyapocalypse where did you pull the decryption algo from? Is it working for all sig lengths or only 86? |
|
@patrickslin I believe it just works for 86 and changes when YouTube updates their player. Email me and I can send you my method of getting the decryption algorithm (it's quite simple, but I just don't want to post it publicly). I believe this algorithm doesn't work on some videos (it failed some tests when we tried to swap to this method a while back) which is why manual signature comparison still has to be done. For my personal purposes, however, the algorithm works just fine. |
|
Yes 86 changed again. This vid no longer works "http://www.youtube.com/watch?v=xbO3dfF9uuE" |
|
I can't give good info, but I can give a test vid that doesn't work. (The last youtube-dl fixed a bunch of other Vevo vids (2013.07.25.2) so they really seem to be a moving target. A quick note of thanks to all the devs; you guys are doing an amazing job keeping up. Anyway, here's another video to test with, that doesn't work: |
|
New sig len 86 algo (manual): python: javascript: |
|
I think the correct python decryption for 86 length signature is: |
|
@patrickslin your algo for length 86 work for common Vevo videos, but does not work with Vevo age-blocked videos, like this: |
|
@AndreiArba I believe that the first two chars are the same for s[83:85] and s[80:82], so it doesn't seem to matter which slice you take. For the rest, when you slice with reverse step, the start item is included, but the stop is not. So, s.slice(47, 80).reverse().join('') translates to we want 47-79 (inclusive), or s[79:46:-1] (i.e. first item we don't want is index 46, so 47-79 reverse. @Baqan I tried the javascript algo and it worked for the video that you mention. So, it should be correct, unless my python port is wrong... |
|
You're right @patrickslin. I made a confusion because in php I used to make substr(47,33), meaning chars 47-79 and then strrev(string reverse) and I taught in python is the same way(first taking the substring and then reverting it). |
|
Thanks to all of you for the reports and the help! For age protected videos it uses the same length but the old algorithm, so for these videos it have to use the old one. |
|
For all affected users: These changes have been integrated in youtube-dl 2013.07.31. Type
to update. |
|
The Biebs is working but not Katy is not. [debug] System config: [] |
|
@gary9872 Nice bug report ;) . Fixed in youtube-dl v2013.08.14. Type
to update. |
|
Hello every one Please send me the process by which i can find out proper function to decrypt youtube signature of all lenght. Thanks |
Looks like YouTube's updated again.
Here's YouTube's decryption algorithm taken from their HTML 5 player (where the function
fjcracks the signature andais the signature input):