smallkan

Untitled

Jan 19th, 2019
159
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.27 KB | None | 0 0
  1.  
  2. <!DOCTYPE html>
  3. <html>
  4. <head>
  5.  
  6. </head>
  7. <body>
  8. <table>
  9. <tr>
  10. <th>Openload video</th>
  11. </tr>
  12. <tr>
  13. <td>
  14.  
  15. <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>
  16.  
  17. </td>
  18. <td>
  19.  
  20. </head>
  21. <body>
  22.  
  23. </td>
  24. </tr>
  25. </table>
  26.  
  27. <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
  28. <!-- <script src="content.js"></script>
  29. <script src="video.js"></script> -->
  30. <script type="text/javascript">
  31. function getStrBetween(str, start, end, reverse = false, startOffset = 0, endOffset = 0) {
  32. if (reverse) {
  33. var sub = str.substr(0, str.indexOf(end) + endOffset);
  34. return sub.substr(sub.lastIndexOf(start) + start.length + startOffset);
  35. } else {
  36. var sub = str.substr(str.indexOf(start) + start.length + startOffset);
  37. return sub.substr(0, sub.indexOf(end) + endOffset);
  38. }
  39. }
  40.  
  41. function getStreamUrl(longString, varAtbytes, varAt_1x4bfb36) {
  42. var streamUrl = "";
  43. var hexByteArr = [];
  44. for (i = 0; i < 9 * 8; i += 8) {
  45. hexByteArr.push(parseInt(longString.substring(i, i + 8), 16));
  46. }
  47. longString = longString.substring(9 * 8);
  48. var iterator = 0;
  49. for (var arrIterator = 0; iterator < longString.length; arrIterator++) {
  50. var maxHex = 64;
  51. var value = 0;
  52. var currHex = 255;
  53. for (var byteIterator = 0; currHex >= maxHex; byteIterator += 6) {
  54. if (iterator + 1 >= longString.length) {
  55. maxHex = 0x8F;
  56. }
  57. currHex = parseInt(longString.substring(iterator, iterator + 2), 16);
  58. value += (currHex & 63) << byteIterator;
  59. iterator += 2;
  60. }
  61. var bytes = value ^ hexByteArr[arrIterator % 9] ^ varAtbytes ^ varAt_1x4bfb36;
  62. var usedBytes = maxHex * 2 + 127;
  63. for (i = 0; i < 4; i++) {
  64. var urlChar = String.fromCharCode(((bytes & usedBytes) >> 8 * i) - 1);
  65. if (urlChar != "$") {
  66. streamUrl += urlChar;
  67. }
  68. usedBytes = usedBytes << 8;
  69. }
  70. }
  71. return streamUrl;
  72. }
  73.  
  74. var HTML = "Openload html source here";
  75.  
  76. var thumbnailUrl = getStrBetween(HTML, 'poster="', '"');
  77. var title = getStrBetween(HTML, '<meta name="og:title" content="', '">');
  78.  
  79. var subtitleTags = HTML.match(/<track(.*)\/>/g) || [];
  80. var subtitles = [];
  81. for (var subtitleTag of subtitleTags) {
  82. var label = getStrBetween(subtitleTag, 'label="', '"');
  83. if (subtitleTag.indexOf("src=") != -1) {
  84. var src = getStrBetween(subtitleTag, 'src="', '"');
  85. subtitles.push({
  86. type: "captions",
  87. label: label,
  88. src: src,
  89. default: subtitleTag.indexOf("default") != -1
  90. });
  91. }
  92. }
  93.  
  94. var longString = getStrBetween(HTML, '<div class="" style="display:none;">', '</div>');
  95. longString = getStrBetween(longString, ">", "<");
  96.  
  97. var keyNum1 = getStrBetween(HTML, "(_0x45ae41[_0x5949('0xf')](_0x30725e,", "),_1x4bfb36");
  98. var keyNum2 = getStrBetween(HTML, "_1x4bfb36=", ";");
  99. //console.log(longString, keyNum1, keyNum2);
  100. try {
  101. console.log(keyNum1, keyNum2);
  102. var keyNum1_Oct = parseInt(getStrBetween(keyNum1, "('", "',"), 8);
  103. var keyNum1_Sub = parseInt(getStrBetween(keyNum1, ")-", "+"));
  104. var keyNum1_Div = parseInt(getStrBetween(keyNum1, "/(", "-"));
  105. var keyNum1_Sub2 = parseInt(getStrBetween(keyNum1, "+0x4-", ")"));
  106.  
  107. keyNum1 = (keyNum1_Oct - keyNum1_Sub + 4 - keyNum1_Sub2) / (keyNum1_Div - 8);
  108.  
  109. var keyNum2_Oct = parseInt(getStrBetween(keyNum2, "('", "',"), 8);
  110. var keyNum2_Sub = parseInt(keyNum2.substr(keyNum2.indexOf(")-") + 2));
  111.  
  112. keyNum2 = keyNum2_Oct - keyNum2_Sub;
  113. console.log(keyNum1, keyNum2);
  114.  
  115. } catch (e) {
  116. //console.error(e.stack);
  117. throw {
  118. name: "ParseError",
  119. message: "keyNum1: '" + keyNum1 + "' keyNum2: '" + keyNum2 + "' \n" + HTML,
  120. toString: function() {
  121. return this.name + ": " + this.message
  122. }
  123. };
  124. }
  125.  
  126. console.log('http://openload.co/stream/' + getStreamUrl(longString, keyNum1, keyNum2));
  127.  
  128. </script>
  129.  
  130. </body>
  131. </html>
Advertisement
Add Comment
Please, Sign In to add comment