Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <!DOCTYPE html>
- <html>
- <head>
- </head>
- <body>
- <table>
- <tr>
- <th>Openload video</th>
- </tr>
- <tr>
- <td>
- <iframe frameborder="0" src="https://openload.co/embed/ouOGCTnstug/Zero-no-Tsukaima-04.mp4" alt="Beta" width="600" height="450" scrolling="no" allowfullscreen="yes" id="video" alt="Beta"></iframe>
- </td>
- <td>
- </head>
- <body>
- </td>
- </tr>
- </table>
- <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
- <!-- <script src="content.js"></script>
- <script src="video.js"></script> -->
- <script type="text/javascript">
- function getStrBetween(str, start, end, reverse = false, startOffset = 0, endOffset = 0) {
- if (reverse) {
- var sub = str.substr(0, str.indexOf(end) + endOffset);
- return sub.substr(sub.lastIndexOf(start) + start.length + startOffset);
- } else {
- var sub = str.substr(str.indexOf(start) + start.length + startOffset);
- return sub.substr(0, sub.indexOf(end) + endOffset);
- }
- }
- function getStreamUrl(longString, varAtbytes, varAt_1x4bfb36) {
- var streamUrl = "";
- var hexByteArr = [];
- for (i = 0; i < 9 * 8; i += 8) {
- hexByteArr.push(parseInt(longString.substring(i, i + 8), 16));
- }
- longString = longString.substring(9 * 8);
- var iterator = 0;
- for (var arrIterator = 0; iterator < longString.length; arrIterator++) {
- var maxHex = 64;
- var value = 0;
- var currHex = 255;
- for (var byteIterator = 0; currHex >= maxHex; byteIterator += 6) {
- if (iterator + 1 >= longString.length) {
- maxHex = 0x8F;
- }
- currHex = parseInt(longString.substring(iterator, iterator + 2), 16);
- value += (currHex & 63) << byteIterator;
- iterator += 2;
- }
- var bytes = value ^ hexByteArr[arrIterator % 9] ^ varAtbytes ^ varAt_1x4bfb36;
- var usedBytes = maxHex * 2 + 127;
- for (i = 0; i < 4; i++) {
- var urlChar = String.fromCharCode(((bytes & usedBytes) >> 8 * i) - 1);
- if (urlChar != "$") {
- streamUrl += urlChar;
- }
- usedBytes = usedBytes << 8;
- }
- }
- return streamUrl;
- }
- var HTML = "Openload html source here";
- var thumbnailUrl = getStrBetween(HTML, 'poster="', '"');
- var title = getStrBetween(HTML, '<meta name="og:title" content="', '">');
- var subtitleTags = HTML.match(/<track(.*)\/>/g) || [];
- var subtitles = [];
- for (var subtitleTag of subtitleTags) {
- var label = getStrBetween(subtitleTag, 'label="', '"');
- if (subtitleTag.indexOf("src=") != -1) {
- var src = getStrBetween(subtitleTag, 'src="', '"');
- subtitles.push({
- type: "captions",
- label: label,
- src: src,
- default: subtitleTag.indexOf("default") != -1
- });
- }
- }
- var longString = getStrBetween(HTML, '<div class="" style="display:none;">', '</div>');
- longString = getStrBetween(longString, ">", "<");
- var keyNum1 = getStrBetween(HTML, "(_0x45ae41[_0x5949('0xf')](_0x30725e,", "),_1x4bfb36");
- var keyNum2 = getStrBetween(HTML, "_1x4bfb36=", ";");
- //console.log(longString, keyNum1, keyNum2);
- try {
- console.log(keyNum1, keyNum2);
- var keyNum1_Oct = parseInt(getStrBetween(keyNum1, "('", "',"), 8);
- var keyNum1_Sub = parseInt(getStrBetween(keyNum1, ")-", "+"));
- var keyNum1_Div = parseInt(getStrBetween(keyNum1, "/(", "-"));
- var keyNum1_Sub2 = parseInt(getStrBetween(keyNum1, "+0x4-", ")"));
- keyNum1 = (keyNum1_Oct - keyNum1_Sub + 4 - keyNum1_Sub2) / (keyNum1_Div - 8);
- var keyNum2_Oct = parseInt(getStrBetween(keyNum2, "('", "',"), 8);
- var keyNum2_Sub = parseInt(keyNum2.substr(keyNum2.indexOf(")-") + 2));
- keyNum2 = keyNum2_Oct - keyNum2_Sub;
- console.log(keyNum1, keyNum2);
- } catch (e) {
- //console.error(e.stack);
- throw {
- name: "ParseError",
- message: "keyNum1: '" + keyNum1 + "' keyNum2: '" + keyNum2 + "' \n" + HTML,
- toString: function() {
- return this.name + ": " + this.message
- }
- };
- }
- console.log('http://openload.co/stream/' + getStreamUrl(longString, keyNum1, keyNum2));
- </script>
- </body>
- </html>
Advertisement
Add Comment
Please, Sign In to add comment