/hosts/download/megavideo_com.php

https://github.com/gartz/RapidLeetch · PHP · 183 lines · 171 code · 8 blank · 4 comment · 15 complexity · 72554e03a2e38c11d5fd99eb6dd7ceb7 MD5 · raw file

  1. <?php
  2. if (! defined ( 'RAPIDLEECH' )) {
  3. require_once ("index.html");
  4. exit ();
  5. }
  6. $src = $_GET ['link'];
  7. $clean_up = str_replace ( 'http://www.megavideo.com/?v=', '', $src );
  8. $dorm = "http://www.megavideo.com/xml/player_login.php?u={$mu_cookie_user_value}&v=" . $clean_up;
  9. $Url = parse_url ( $dorm );
  10. $page = geturl ( $Url ["host"], $Url ["port"] ? $Url ["port"] : 80, $Url ["path"] . ($Url ["query"] ? "?" . $Url ["query"] : ""), 0, 0, 0, 0, $_GET ["proxy"], $pauth );
  11. if (preg_match ( '|downloadurl="(http.*)" />|U', $scrape, $result )) {
  12. $insert = urldecode ( $result [1] );
  13. $Url = parse_url ( $insert );
  14. $FileName = ! $FileName ? basename ( $Url ["path"] ) : $FileName;
  15. insert_location ( "$PHP_SELF?filename=" . urlencode ( $FileName ) . "&host=" . $Url ["host"] . "&path=" . urlencode ( $Url ["path"] . ($Url ["query"] ? "?" . $Url ["query"] : "") ) . "&referer=" . urlencode ( $Referer ) . "&email=" . ($_GET ["domail"] ? $_GET ["email"] : "") . "&partSize=" . ($_GET ["split"] ? $_GET ["partSize"] : "") . "&method=" . $_GET ["method"] . "&proxy=" . ($_GET ["useproxy"] ? $_GET ["proxy"] : "") . "&saveto=" . $_GET ["path"] . "&link=" . urlencode ( $LINK ) . ($_GET ["add_comment"] == "on" ? "&comment=" . urlencode ( $_GET ["comment"] ) : "") . "&auth=" . $auth . ($pauth ? "&pauth=$pauth" : "").(isset($_GET["audl"]) ? "&audl=doum" : "") );
  16. }
  17. $codl = cut_str ( $page, 'flashvars.v = "', '";' );
  18. if (! $codl) {
  19. html_error ( "bud link", "0" );
  20. }
  21. $lkvid = "http://www.megavideo.com/xml/videolink.php?v=" . $codl;
  22. $url = parse_url ( $lkvid );
  23. $xml = geturl ( $url ["host"], $url ["port"] ? $url ["port"] : 80, $url ["path"] . ($url ["query"] ? "?" . $url ["query"] : ""), $Referer, $cookie, 0, 0, $_GET ["proxy"], $pauth );
  24. $xmld = urldecode ( $xml );
  25. $vs = cut_str ( $xml, '" s="', '"' );
  26. $vun = cut_str ( $xml, '" un="', '"' );
  27. $vk1 = cut_str ( $xml, '" k1="', '"' );
  28. $vk2 = cut_str ( $xml, '" k2="', '"' );
  29. $FileName = cut_str ( $xml, '" title="', '"' ) . ".flv";
  30. if ($FileName == "") {
  31. $FileName = basename ( $dwn ) . ".flv";
  32. }
  33. $id = ddm ( $vun, $vk1, $vk2 );
  34. $dwn = "http://www" . $vs . ".megavideo.com/files/" . $id . "/";
  35. $Url = parse_url ( $dwn );
  36. insert_location ( "$PHP_SELF?filename=" . ($FileName) . "&host=" . $Url ["host"] . "&port=" . $Url ["port"] . "&path=" . urlencode ( $Url ["path"] . ($Url ["query"] ? "?" . $Url ["query"] : "") ) . "&referer=" . urlencode ( $Referer ) . "&cookie=" . urlencode ( $cookie ) . "&email=" . ($_GET ["domail"] ? $_GET ["email"] : "") . "&partSize=" . ($_GET ["split"] ? $_GET ["partSize"] : "") . "&method=" . $_GET ["method"] . "&proxy=" . ($_GET ["useproxy"] ? $_GET ["proxy"] : "") . "&saveto=" . $_GET ["path"] . "&link=" . urlencode ( $LINK ) . ($_GET ["add_comment"] == "on" ? "&comment=" . urlencode ( $_GET ["comment"] ) : "") . ($pauth ? "&pauth=$pauth" : "").(isset($_GET["audl"]) ? "&audl=doum" : "") );
  37. function ddm($str, $key1, $key2) {
  38. $_loc1 = array ();
  39. for($_loc3 = 0; $_loc3 < strlen ( $str ); ++ $_loc3) {
  40. switch ($str {$_loc3}) {
  41. case "0" :
  42. $_loc1 [] = "0000";
  43. break;
  44. case "1" :
  45. $_loc1 [] = "0001";
  46. break;
  47. case "2" :
  48. $_loc1 [] = "0010";
  49. break;
  50. case "3" :
  51. $_loc1 [] = "0011";
  52. break;
  53. case "4" :
  54. $_loc1 [] = "0100";
  55. break;
  56. case "5" :
  57. $_loc1 [] = "0101";
  58. break;
  59. case "6" :
  60. $_loc1 [] = "0110";
  61. break;
  62. case "7" :
  63. $_loc1 [] = "0111";
  64. break;
  65. case "8" :
  66. $_loc1 [] = "1000";
  67. break;
  68. case "9" :
  69. $_loc1 [] = "1001";
  70. break;
  71. case "a" :
  72. $_loc1 [] = "1010";
  73. break;
  74. case "b" :
  75. $_loc1 [] = "1011";
  76. break;
  77. case "c" :
  78. $_loc1 [] = "1100";
  79. break;
  80. case "d" :
  81. $_loc1 [] = "1101";
  82. break;
  83. case "e" :
  84. $_loc1 [] = "1110";
  85. break;
  86. case "f" :
  87. $_loc1 [] = "1111";
  88. break;
  89. }
  90. }
  91. $_loc1 = join ( "", $_loc1 );
  92. $_loc1 = str_split ( $_loc1 );
  93. $_loc6 = array ();
  94. $kx = 0;
  95. for($_loc3 = 0; $_loc3 < 384; ++ $_loc3) {
  96. $key1 = ($key1 * 11 + 77213) % 81371;
  97. $key2 = ($key2 * 17 + 92717) % 192811;
  98. $_loc6 [$_loc3] = ($key1 + $key2) % 128;
  99. }
  100. for($_loc3 = 256; $_loc3 >= 0; -- $_loc3) {
  101. $_loc5 = $_loc6 [$_loc3];
  102. $_loc4 = $_loc3 % 128;
  103. $_loc8 = $_loc1 [$_loc5];
  104. $_loc1 [$_loc5] = $_loc1 [$_loc4];
  105. $_loc1 [$_loc4] = $_loc8;
  106. }
  107. for($_loc3 = 0; $_loc3 < 128; ++ $_loc3) {
  108. $_loc1 [$_loc3] = $_loc1 [$_loc3] ^ $_loc6 [$_loc3 + 256] & 1;
  109. }
  110. $_loc12 = join ( $_loc1, "" );
  111. $_loc7 = array ();
  112. for($_loc3 = 0; $_loc3 < strlen ( $_loc12 ); $_loc3 = $_loc3 + 4) {
  113. $_loc9 = substr ( $_loc12, $_loc3, 4 );
  114. $_loc7 [] = $_loc9;
  115. }
  116. $_loc2 = array ();
  117. for($_loc3 = 0; $_loc3 < count ( $_loc7 ); ++ $_loc3) {
  118. switch ($_loc7 [$_loc3]) {
  119. case "0000" :
  120. $_loc2 [] = "0";
  121. break;
  122. case "0001" :
  123. $_loc2 [] = "1";
  124. break;
  125. case "0010" :
  126. $_loc2 [] = "2";
  127. break;
  128. case "0011" :
  129. $_loc2 [] = "3";
  130. break;
  131. case "0100" :
  132. $_loc2 [] = "4";
  133. break;
  134. case "0101" :
  135. $_loc2 [] = "5";
  136. break;
  137. case "0110" :
  138. $_loc2 [] = "6";
  139. break;
  140. case "0111" :
  141. $_loc2 [] = "7";
  142. break;
  143. case "1000" :
  144. $_loc2 [] = "8";
  145. break;
  146. case "1001" :
  147. $_loc2 [] = "9";
  148. break;
  149. case "1010" :
  150. $_loc2 [] = "a";
  151. break;
  152. case "1011" :
  153. $_loc2 [] = "b";
  154. break;
  155. case "1100" :
  156. $_loc2 [] = "c";
  157. break;
  158. case "1101" :
  159. $_loc2 [] = "d";
  160. break;
  161. case "1110" :
  162. $_loc2 [] = "e";
  163. break;
  164. case "1111" :
  165. $_loc2 [] = "f";
  166. break;
  167. }
  168. }
  169. return (join ( $_loc2, "" ));
  170. }
  171. /*
  172. megavideo download plug-in written by kaox 25/04/09
  173. Premium download plug-in written by mrbrownee70 06/05/09
  174. */
  175. ?>