Last active
November 20, 2021 15:14
-
-
Save Tithen-Firion/8b3921d745131837519d5c5b95b86440 to your computer and use it in GitHub Desktop.
Openload: extract download URL using PhantomJS
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// Usage: phantomjs openload.js <video_url> | |
// if that doesn't work try: phantomjs --ssl-protocol=any openload.js <video_url> | |
var separator = ' | '; | |
var page = require('webpage').create(), | |
system = require('system'), | |
id, match; | |
if(system.args.length < 2) { | |
console.error('No URL provided'); | |
phantom.exit(1); | |
} | |
match = system.args[1].match( | |
/https?:\/\/(?:openload\.(?:co|io)|oload\.tv)\/(?:f|embed)\/([\w\-]+)/); | |
if(match === null) { | |
console.error('Could not find video ID in provided URL'); | |
phantom.exit(2); | |
} | |
id = match[1]; | |
// thanks @Mello-Yello :) | |
page.onInitialized = function() { | |
page.evaluate(function() { | |
delete window._phantom; | |
delete window.callPhantom; | |
}); | |
}; | |
page.settings.userAgent = "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/56.0.2924.87 Safari/537.36"; | |
page.open('https://openload.co/embed/' + id + '/', function(status) { | |
var info = page.evaluate(function() { | |
return { | |
decoded_id: document.getElementById('streamuri').innerHTML, | |
title: document.querySelector('meta[name="og:title"],' | |
+ 'meta[name=description]').content | |
}; | |
}); | |
var url = 'https://openload.co/stream/' + info.decoded_id + '?mime=true'; | |
console.log(url + separator + info.title); | |
phantom.exit(); | |
}); |
reduce regex complexity
console.log('https://oload.stream/stream/' + page.content.match(/\w+~\d+~[\d\.]+~\w+/)[0] + '?mime=true');
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Since there is a domain oload.download, regex should be
/https?:\/\/(?:openload\.(?:co|io)|oload\.tv|oload\.download)\/(?:f|embed)\/([\w\-]+)/)
And, i was looking into the deobfuscated jsnice code of the source and i saw this line
if ("toString" in sin && sin.toString().indexOf("[native code") != -1 && document.getElementById.toString().indexOf("[native code") == -1 || window.callPhantom || /Phantom/.test(navigator.userAgent) || window.__phantomas || next() || window.domAutomation || window.webdriver || document.documentElement.getAttribute("webdriver"))
I guess there is some anti-measure phantomjs in the site, but aparently its not working, because @gonubana comment does captures the download URL...