Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

openload.co hotlinking detection #9706

Closed
4 of 8 tasks
ghost opened this issue Jun 5, 2016 · 107 comments
Closed
4 of 8 tasks

openload.co hotlinking detection #9706

ghost opened this issue Jun 5, 2016 · 107 comments
Assignees
Labels
broken-IE problem with existing site extraction

Comments

@ghost
Copy link

ghost commented Jun 5, 2016

Make sure you are using the latest version: run youtube-dl --version and ensure your version is 2016.06.03. If it's not read this FAQ entry and update. Issues with outdated version will be rejected.

  • I've verified and I assure that I'm running youtube-dl 2016.06.03

Before submitting an issue make sure you have:

  • At least skimmed through README and most notably FAQ and BUGS sections
  • Searched the bugtracker for similar issues including closed ones

What is the purpose of your issue?

  • Bug report (encountered problems with youtube-dl)
  • Site support request (request for adding support for a new site)
  • Feature request (request for a new functionality)
  • Question
  • Other

If the purpose of this issue is a bug report, site support request or you are not completely sure provide the full verbose output as follows:

Add -v flag to your command line you run youtube-dl with, copy the whole output and insert it here. It should look similar to one below (replace it with your log inserted between triple ```):

$ youtube-dl -v https://openload.co/f/kUEfGclsU9o
[debug] System config: []
[debug] User config: []
[debug] Command-line args: ['-v', 'https://openload.co/f/kUEfGclsU9o']
[debug] Encodings: locale UTF-8, fs utf-8, out UTF-8, pref UTF-8
[debug] youtube-dl version 2016.06.03
[debug] Python version 3.5.1 - Linux-4.5.4-gnu-1-x86_64-with-arch
[debug] exe versions: ffmpeg 3.0.2, ffprobe 3.0.2, rtmpdump 2.4
[debug] Proxy map: {}
[Openload] kUEfGclsU9o: Downloading webpage
[debug] Invoking downloader on 'https://openload.co/stream/famBaQI9BRQ~1465252297~2602:306::~t47S-POR?mime=true'
[download] Destination: skyrim_no-audio_1080.mp4-kUEfGclsU9o.mp4
[download] 100% of 31.86MiB in 05:26

Description of your issue, suggested solution and other information

openload.co no longer seeks to allow hotlinking and will redirect you to videos of pigeons instead of the video inputted to youtube-dl. This occurs on the latest version. Happens on both links like https://openload.co/f/kUEfGclsU9o and https://openload.co/embed/kUEfGclsU9o. I'm not familiar with the way the download link is returned, but it seems a solution would involve changing the method of requesting or returning the link.

@ghost
Copy link
Author

ghost commented Jun 5, 2016

Another thing: it would be nice for youtube-dl to pick up on subtitles/closed captioning from openload as well.

@reguez
Copy link

reguez commented Jun 5, 2016

let's focus on the hotlinking detection for the moments

@yan12125 yan12125 added the broken-IE problem with existing site extraction label Jun 6, 2016
@alrii
Copy link

alrii commented Jun 7, 2016

youtube-dl -g -v https://openload.co/embed/JuMaadDghFY/
[debug] System config: []
[debug] User config: []
[debug] Command-line args: [u'-g', u'-v', u'https://openload.co/embed/JuMaadDghFY/']
[debug] Encodings: locale UTF-8, fs UTF-8, out UTF-8, pref UTF-8
[debug] youtube-dl version 2016.06.03
[debug] Python version 2.7.11 - Linux-4.5.4-1-ARCH-x86_64-with-glibc2.2.5
[debug] exe versions: ffmpeg 3.0.2, ffprobe 3.0.2, rtmpdump 2.4
[debug] Proxy map: {}
https://openload.co/stream/famBaQI9BRQ~1465428283~199.43.0.0~VS7nuSkm?mime=true


I get the link to the video but if i play it using mpv or other media player It shows only pigeons. Please help.

@reguez
Copy link

reguez commented Jun 8, 2016

@arnrob14344 openload has recently implemented a hotlink detection , so you'r no longer able to get link directly unless you figure out how it work let's wait for an update from youtube-dl to solve this issue

@perron375
Copy link

perron375 commented Jun 8, 2016

ok they just move the script,
now is de 2nd;
I use this javascript regex "/</video>[\s\S]?<script.?>(.?)</script>[\s\S]?<script.?>(.?)</script>/)[2]"
hope it helps?

@yan12125
Copy link
Collaborator

yan12125 commented Jun 9, 2016

Openload support is fixed and will be available in the next version. Many thanks to @perron375 for the solution.

@yokrysty
Copy link

They've made changes again, this time I get the pigeons video directly from their website player (without any hotlink)
I get 2 video links, the real one can be either of the 2 or sometimes neither (see below tests);
Those 2 links are saved in W array, the real video link is W[welikekodi_ya_rly] where welikekodi_ya_rly = 89 - 87; (random numbers every time)

I made a small script for testing that outputs the Content-Length for the 2 video files (33410733 is the size of the pigeons video):

C:\Users\KRYSTY>C:\Users\KRYSTY\Desktop\test.py
url: https://openload.co/embed/tdCcyArYqmA/
33410733
33410733
['https://openload.co/stream/tdCcyArYqmA~1465685183~2a02:2f09::~ksA9TlVg?mime=true', 'https://openload.co/stream/tdCcyArYqmA~1465685183~2a02:2f09::~ksA9TlVz?mime=true']

C:\Users\KRYSTY>C:\Users\KRYSTY\Desktop\test.py
url: https://openload.co/embed/tdCcyArYqmA/
33410733
33410733
['https://openload.co/stream/tdCcyArYqmA~1465685190~2a02:2f09::~9DdFwY-z?mime=true', 'https://openload.co/stream/tdCcyArYqmA~1465685190~2a02:2f09::~9DdFwY-1?mime=true']

C:\Users\KRYSTY>C:\Users\KRYSTY\Desktop\test.py
url: https://openload.co/embed/tdCcyArYqmA/
33410733
119914746
['https://openload.co/stream/tdCcyArYqmA~1465685209~2a02:2f09::~7DDInA8y?mime=true', 'https://openload.co/stream/tdCcyArYqmA~1465685209~2a02:2f09::~7DDInA8V?mime=true']

C:\Users\KRYSTY>C:\Users\KRYSTY\Desktop\test.py
url: https://openload.co/embed/tdCcyArYqmA/
33410733
33410733
['https://openload.co/stream/tdCcyArYqmA~1465685218~2a02:2f09::~_Y9XDtqE?mime=true', 'https://openload.co/stream/tdCcyArYqmA~1465685218~2a02:2f09::~_Y9XDtqX?mime=true']

C:\Users\KRYSTY>C:\Users\KRYSTY\Desktop\test.py
url: https://openload.co/embed/tdCcyArYqmA/
119914746
33410733
['https://openload.co/stream/tdCcyArYqmA~1465685224~2a02:2f09::~vKeBbfbr?mime=true', 'https://openload.co/stream/tdCcyArYqmA~1465685224~2a02:2f09::~vKeBbfb_?mime=true']

@yan12125 yan12125 reopened this Jun 11, 2016
@perron375
Copy link

sorry but i dont know python hope this java script helps
ok i use this and works every time i tested many links
//get the page
var data=get(l)

//get all scripts
var aadecode_encoded = data.match(/<script.*?>(゚ω゚ノ=[\s\S]?)</script>/g);
// the result of welikekodi_ya_rly is allways 1 or 2
var welikekodi_ya_rly=new Function("return "+data.match(/welikekodi_ya_rly =(.
?;)/)[1])();

//here we get the good script using welikekodi_ya_rly
var aascript= aadecode_encoded[welikekodi_ya_rly].split ("(゚Д゚)[゚ε゚]+");
end the rest is the same code

@sudovijay
Copy link
Contributor

it look like it again broken. i can't extract link by this way

@alrii
Copy link

alrii commented Jun 11, 2016

same here i get this error:

$ youtube-dl -g -v https://openload.co/embed/Ggc850P9NWs
[debug] System config: []
[debug] User config: []
[debug] Command-line args: [u'-g', u'-v', u'https://openload.co/embed/Ggc850P9NWs']
[debug] Encodings: locale UTF-8, fs UTF-8, out UTF-8, pref UTF-8
[debug] youtube-dl version 2016.06.11.3
[debug] Python version 2.7.11 - Linux-4.5.4-1-ARCH-x86_64-with-glibc2.2.5
[debug] exe versions: ffmpeg 3.0.2, ffprobe 3.0.2, rtmpdump 2.4
[debug] Proxy map: {}
ERROR: Unable to extract video URL; please report this issue on https://yt-dl.org/bug . Make sure you are using the latest version; see https://yt-dl.org/update on how to update. Be sure to call youtube-dl with the --verbose flag and include its complete output.
Traceback (most recent call last):
File "/usr/lib/python2.7/site-packages/youtube_dl/YoutubeDL.py", line 676, in extract_info
ie_result = ie.extract(url)
File "/usr/lib/python2.7/site-packages/youtube_dl/extractor/common.py", line 342, in extract
return self._real_extract(url)
File "/usr/lib/python2.7/site-packages/youtube_dl/extractor/openload.py", line 112, in _real_extract
r'return\s+"(https?://[^"]+)"', decoded, 'video URL')
File "/usr/lib/python2.7/site-packages/youtube_dl/extractor/common.py", line 645, in _search_regex
raise RegexNotFoundError('Unable to extract %s' % _name)
RegexNotFoundError: Unable to extract video URL; please report this issue on https://yt-dl.org/bug . Make sure you are using the latest version; see https://yt-dl.org/update on how to update. Be sure to call youtube-dl with the --verbose flag and include its complete output.

@sudovijay
Copy link
Contributor

it just setting two global values i.e window.M[1] & M[2]. which actually depend on the result of this expressions ! - welikekodi_ya_rly = a + b; , but sometime it do give pigeon on both links thats weird !

@JustMeDaFaq
Copy link

@sudovijay Encountering the same behaviour. Im parsing both links but sometimes both are pigeons. The result is totally random.

May theyre counting the video requsts from an ip and if its exceeds the allowed count it just results in 2 pigeon links?

@jakop345
Copy link

If the mime=true is removed at the end of the url it is working.

@sudovijay
Copy link
Contributor

@jakop345 ! nope mime is there just for online stream. if you remove that file get force downloaded !

anyway i think the issue is resolved now as openload seem to be working fine for me.

@ghost
Copy link
Author

ghost commented Jun 16, 2016

@sudovijay still not working for me.

I don't even get the pigeons anymore, it just fails to extract.

@sudovijay
Copy link
Contributor

@BigMittens ! ikr it just someone has to update the openload decoder! it just youtube-dl just fetching the second js code "\s_\s_<script[^>]+>[^>]+</script>\s*<script[^>]+>([^<]+)</script>"

Just solve the expression welikekodi_ya_rly. then decode the resulting js code. works every time ! alteast for now

@ghost
Copy link
Author

ghost commented Jun 16, 2016

@sudovijay ah, i thought you were saying the current release started working again. yeah, still waiting on the update. worked around it now by just going to the media tab on the info window on FF for the openload page and copying and pasting the video url into youtube-dl.

hopefully we'll get a pull request soon!

@mariomosca
Copy link

Hi, i found this problem
ERROR: Unable to extract video URL; please report this issue on https://yt-dl.org/bug . Make sure you are using the latest version; type youtube-dl -U to update. Be sure to call youtube-dl with the --verbose flag and include its complete output.
Traceback (most recent call last):
File "/usr/local/bin/youtube-dl/youtube_dl/YoutubeDL.py", line 681, in extract_info
ie_result = ie.extract(url)
File "/usr/local/bin/youtube-dl/youtube_dl/extractor/common.py", line 343, in extract
return self._real_extract(url)
File "/usr/local/bin/youtube-dl/youtube_dl/extractor/openload.py", line 112, in _real_extract
r'return\s+"(https?://[^"]+)"', decoded, 'video URL')
File "/usr/local/bin/youtube-dl/youtube_dl/extractor/common.py", line 646, in _search_regex
raise RegexNotFoundError('Unable to extract %s' % _name)
RegexNotFoundError: Unable to extract video URL; please report this issue on https://yt-dl.org/bug . Make sure you are using the latest version; type youtube-dl -U to update. Be sure to call youtube-dl with the --verbose flag and include its complete output.

@perron375
Copy link

the var welikekodi_ya_rly is modified in the first aaencoded js code

@yan12125
Copy link
Collaborator

This script is licensed under GPL3+, which is not compatible with youtube-dl (UNLICENSE), so we can't just copy and paste it.

@ghost
Copy link
Author

ghost commented Jul 30, 2016

is it me or has the site extraction method changed? now i cant even get the video without youtube-dl.

@yan12125
Copy link
Collaborator

The site has improved its protection so youtube-dl is broken for it.

@ghost
Copy link
Author

ghost commented Jul 30, 2016

@yan12125 we're talking about today/last night, yes? i was using the website fine last night and now it's completely broken for me. I can't watch any videos even in the browser. I'm currently tinkering around with add ons seeing if that could be the problem.

@yokrysty
Copy link

yokrysty commented Aug 6, 2016

off course they made a small useless change just to break our scripts

@Hrxn
Copy link

Hrxn commented Aug 6, 2016

Since they are already here: Hello, openload guys! 🍸

@e2iplayer
Copy link

You really are funny.
You think you are the navel of the World?
I do not think so.

@Hrxn
Copy link

Hrxn commented Aug 6, 2016

You think you are the navel of the World?

Nobody is. Let's agree on that.

@e2iplayer
Copy link

So, why you think they are interested with this project?
I do not think so. In my opinion they are interested about KODI plugins.

And youtube-dl is not project were "security" openload was broken, neither earlier nor now.

@yan12125
Copy link
Collaborator

yan12125 commented Aug 6, 2016

Thanks everyone. Openload will be fixed in the next version.

@gdkchan @Belderak @yokrysty Would you like to be listed in AUTHORS? If so under what name?

@gdkchan
Copy link

gdkchan commented Aug 6, 2016

@yan12125 Nice, I don't think it's necessary but you can add me as "gdkchan" if you want.
I tested it and seems to be working good. The only weird thing i noticed is that it seems to append the video ID to the name. For example this video is saved as "Sintel.2010.1080p.mkv.mp4.mp4-AYgHe95d1E4.mp4" instead of "Sintel.2010.1080p.mkv.mp4.mp4". Don't know if this is intended through.

@ghost
Copy link
Author

ghost commented Aug 6, 2016

does anyone know if subtitles are obfuscated as well?

@gdkchan
Copy link

gdkchan commented Aug 6, 2016

@BigMittens Do you have a example video with said subtitles?

@ghost
Copy link
Author

ghost commented Aug 6, 2016

@gdkchan I've thought I've seen videos with subtitles by default under the "CC", but now I'm looking for one with them to no avail. Maybe they were hardcoded all along. I'll let you know if I find any.

@e2iplayer
Copy link

@BigMittens
Subtitles are not obfuscated. In IPTVPlayer I have implementation of extraction subtitles and they are working without any problems.

@ghost
Copy link
Author

ghost commented Aug 6, 2016

@samsamsam-iptvplayer do you have any openload links with subtitles?

@e2iplayer
Copy link

Yes, of course.

@ghost
Copy link
Author

ghost commented Aug 6, 2016

@samsamsam-iptvplayer could you post one, so that we could examine the method and make a cleanroom extraction?

@e2iplayer
Copy link

@ghost
Copy link
Author

ghost commented Aug 6, 2016

thanks!

@e2iplayer
Copy link

No problem.

@yan12125
Copy link
Collaborator

yan12125 commented Aug 7, 2016

The only weird thing i noticed is that it seems to append the video ID to the name

@gdkchan By default youtube-dl adds video ID to filenames. If you don't like it, add -o "%(title)s.%(ext)s" to the command line.

@yan12125
Copy link
Collaborator

yan12125 commented Aug 7, 2016

@BigMittens Please open a new issue for subtitles.

@gdkchan
Copy link

gdkchan commented Aug 20, 2016

They seems to be using AAEncode again. The main page have 2 AAEncoded scripts. One was already present since the last version. The other one is the new URL decoding script. It takes the characters from a html element with ID "hiddenurl" and just deobfuscates it. It's more simple than the old method.

Here is some sample C# source to decode it.

Original JS code can be seen by AADecoding the first AAEncoded Javascript on the page (note that it have 2 inside the same tag, one to decode the link and the other to put the decoded link on the streamurl element using jQuery).

Curiously the linkimg image is still being served, just the old "obfuscator" code was removed. I guess that using the old numbers.js file would still work too.

Edit: The old method is still working too... Just being switched to the new one it seems.

@yan12125
Copy link
Collaborator

@gdkchan If I remember it correctly when you mentioned the PNG approach for the first time, there were still AAEncoded JavaScripts on their page? When I integrated the AAEncode-based algorithm in May (#8489), everything worked fine, and later they serve penguin videos or invalid files.

@gdkchan
Copy link

gdkchan commented Aug 20, 2016 via email

@yan12125
Copy link
Collaborator

OK. Just let me know then.

@ghost
Copy link
Author

ghost commented Aug 23, 2016

seems like the png method is gone

@yan12125
Copy link
Collaborator

Yes - there's a new issue at #10408. Please move there.

@asdasdasdasdasdasdasdad

@yan12125 How to install openload-fix? Thank you.

@yan12125
Copy link
Collaborator

openload-fix was once working but now fails too. There's no known fix yet. Please move to #10408 to check the latest update or post your solution, if any.

@ytdl-org ytdl-org locked and limited conversation to collaborators Sep 10, 2016
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
broken-IE problem with existing site extraction
Projects
None yet
Development

No branches or pull requests