Pastebin launched a little side project called VERYVIRAL.com, check it out ;-) Want more features on Pastebin? Sign Up, it's FREE!
Guest

Untitled

By: a guest on Jan 4th, 2014  |  syntax: PHP  |  size: 1.32 KB  |  views: 222  |  expires: Never
download  |  raw  |  embed  |  report abuse  |  print
This paste has a previous version, view the difference. Text below is selected. Please press Ctrl+C to copy to your clipboard. (⌘+C on Mac)
  1. <?php
  2. ini_set('user_agent', 'iTunes-AppleTV/4.1');
  3.  
  4. if(empty($_GET["f"])) {
  5.         die;
  6. } else {
  7.         $f = $_GET["f"];
  8.        
  9.         // Get file from URL that is in $f
  10.         $m3u8 = file_get_contents($f);
  11.        
  12.         // Parse URL from input
  13.         $domain = parse_url($f);
  14.         $scheme = $domain['scheme'];
  15.         $host = $domain['host'];
  16.         $path = $domain['path'];
  17.        
  18.         // Get file from URL
  19.         $file = basename($domain['path']);
  20.        
  21.         // Remove file from path
  22.         $path = preg_replace("/$file/",'',$domain['path']);
  23.        
  24.         // Put URL back together without filename
  25.         $baseUrl = $scheme . "://" . $host . $path;
  26.        
  27.         // Pull out .m3u8 from file and replace with proxy php
  28.         $m3u8 = preg_replace('/^(?!\#)(.*\.m3u8).*/m',"http://yourserver.com/m3u8_fix.php?f=$baseUrl$1",$m3u8);
  29.         // Pull out .ts files from final m3u8 and make sure they point at their CDN
  30.         $m3u8 = preg_replace('/^(.*\.ts).*/m',"$baseUrl$1",$m3u8);
  31.         // Removing their key redirect and replacing with other server IP
  32.         $m3u8 = preg_replace('/nlsk.neulion.com/m', "192.241.136.149",$m3u8);
  33.         $m3u8 = preg_replace('/http:\/\/nlsk[0-9]{1,3}.neulion.com/m', "192.241.136.149",$m3u8);
  34.        
  35.         // Set headers for m3u8 file we're returning to browser
  36.         header("Content-type: application/x-mpegURL");
  37.         header("Content-Disposition: attachment; filename=$file");
  38.         header("Pragma: no-cache");
  39.         header("Expires: 0");
  40.        
  41.         echo $m3u8;
  42. }