ÿØÿà JFIF ÿÛ „ ( %"1"%)+...383,7(-.-
![]() Server : Apache/2.4.6 (CentOS) OpenSSL/1.0.2k-fips PHP/7.4.20 System : Linux st2.domain.com 3.10.0-1127.10.1.el7.x86_64 #1 SMP Wed Jun 3 14:28:03 UTC 2020 x86_64 User : apache ( 48) PHP Version : 7.4.20 Disable Function : NONE Directory : /var/www/html/vidoe.top/proxy/ |
<?php include 'Mobile_Detect.php'; $detect = new Mobile_Detect; function str_encode($data,$pwd) { $x = 0; $a = 0; $j = 0; $Zcrypt = ''; $pwd_length = strlen($pwd); for ($i = 0; $i < 255; $i++) { $key[$i] = ord(substr($pwd, ($i % $pwd_length)+1, 1)); $counter[$i] = $i; } for ($i = 0; $i < 255; $i++) { $x = ($x + $counter[$i] + $key[$i]) % 256; $temp_swap = $counter[$i]; $counter[$i] = $counter[$x]; $counter[$x] = $temp_swap; } for ($i = 0; $i < strlen($data); $i++) { $a = ($a + 1) % 256; $j = ($j + $counter[$a]) % 256; $temp = $counter[$a]; $counter[$a] = $counter[$j]; $counter[$j] = $temp; $k = $counter[(($counter[$a] + $counter[$j]) % 256)]; $Zcipher = ord(substr($data, $i, 1)) ^ $k; $Zcrypt .= chr($Zcipher); } return $Zcrypt; } function curl($url) { $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $url); $head[] = "Connection: keep-alive"; $head[] = "Keep-Alive: 300"; $head[] = "Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7"; $head[] = "Accept-Language: en-us,en;q=0.5"; curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/37.0.2062.124 Safari/537.36'); curl_setopt($ch, CURLOPT_HTTPHEADER, $head); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE); curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE); curl_setopt($ch, CURLOPT_TIMEOUT, 60); curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 60); curl_setopt($ch, CURLOPT_FOLLOWLOCATION, TRUE); curl_setopt($ch, CURLOPT_HTTPHEADER, array('Expect:')); $page = curl_exec($ch); curl_close($ch); return $page; } function getPhotoGoogle($link){ $get = curl($link); $data = explode('url\u003d', $get); $url = explode('%3Dm', $data[1]); $decode = urldecode($url[0]); $count = count($data); $linkDownload = array('360p'=>'','720p'=>'','1080p'=>''); if($count > 4) { $v1080p = $decode.'=m37'; $v720p = $decode.'=m22'; $v360p = $decode.'=m18'; $linkDownload['1080p'] = $v1080p; $linkDownload['720p'] = $v720p; $linkDownload['360p'] = $v360p; } if($count > 3) { $v720p = $decode.'=m22'; $v360p = $decode.'=m18'; $linkDownload['720p'] = $v720p; $linkDownload['360p'] = $v360p; } if($count > 2) { $v360p = $decode.'=m18'; $linkDownload['360p'] = $v360p; } return $linkDownload; } $url_encode = $_GET['p']; //$play = str_encode(hex2bin($url_encode),'123Vid@Net'); $play = 'https://photos.google.com/lr/album/ANLwX-2WEx1KA2z476XP9B8P3dzDDCwUz8zwhrB82butQtFR8-BNtcEEoNI0IFS_jgZHRYJACc5b/photo/ANLwX-1vyTq2dqdiE12lK3_hqKb3DtBtg0rweNdzW3pcNzfAs3moxEQxxRcpHjsgJt6mtr3kqnFQtIrqIArlTu9XZ9XIR9qf1Q'; $content = curl($play); echo $content; exit(); $memcache = new Memcache; $memcache->connect('46.249.32.55', 11211) or die ("Sorry, could not connect memcached! . We're working on getting this fixed as soon as we can."); $key_url = md5($play); $cache_show_source = $memcache->get($key_url); if($cache_show_source){ $link_play = $cache_show_source; }else { $test = getPhotoGoogle($play); $link_play = ''; if ($detect->isMobile() or $detect->isTablet()) { $link_play = $test['360p']; }else{ if($test['720p'] != ''){ $link_play = $test['720p']; }else{ $link_play = $test['360p']; } } $memcache->set($key_url, $link_play, MEMCACHE_COMPRESSED, 1200); } $useragent = "Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.96 Safari/537.36"; $v = $link_play; $ch = curl_init(); curl_setopt($ch, CURLOPT_VERBOSE, 1); curl_setopt($ch, CURLOPT_TIMEOUT, 222222); curl_setopt($ch, CURLOPT_URL, $v); curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true); curl_setopt($ch, CURLOPT_HEADER, true); curl_setopt($ch, CURLOPT_FRESH_CONNECT, true); curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0); curl_setopt($ch, CURLOPT_USERAGENT, $useragent); curl_setopt($ch, CURLOPT_NOBODY, true); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); $info = curl_exec($ch); $size2 = curl_getinfo($ch, CURLINFO_CONTENT_LENGTH_DOWNLOAD); header("Content-Type: video/mp4"); $filesize = $size2; $offset = 0; $length = $filesize; if (isset($_SERVER['HTTP_RANGE'])) { $partialContent = "true"; preg_match('/bytes=(\d+)-(\d+)?/', $_SERVER['HTTP_RANGE'], $matches); $offset = intval($matches[1]); $length = $size2 - $offset - 1; } else { $partialContent = "false"; } if ($partialContent == "true") { header('HTTP/1.1 206 Partial Content'); header('Accept-Ranges: bytes'); header('Content-Range: bytes '.$offset. '-'.($offset + $length). '/'.$filesize); } else { header('Accept-Ranges: bytes'); } header("Content-length: ".$size2); $ch = curl_init(); if (isset($_SERVER['HTTP_RANGE'])) { // if the HTTP_RANGE header is set we're dealing with partial content $partialContent = true; // find the requested range // this might be too simplistic, apparently the client can request // multiple ranges, which can become pretty complex, so ignore it for now preg_match('/bytes=(\d+)-(\d+)?/', $_SERVER['HTTP_RANGE'], $matches); $offset = intval($matches[1]); $length = $filesize - $offset - 1; $headers = array( 'Range: bytes='.$offset. '-'.($offset + $length). '' ); curl_setopt($ch, CURLOPT_HTTPHEADER, $headers); } curl_setopt($ch, CURLOPT_VERBOSE, 1); curl_setopt($ch, CURLOPT_TIMEOUT, 222222); curl_setopt($ch, CURLOPT_URL, $v); curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true); curl_setopt($ch, CURLOPT_HEADER, false); curl_setopt($ch, CURLOPT_FRESH_CONNECT, true); curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0); curl_setopt($ch, CURLOPT_USERAGENT, $useragent); curl_setopt($ch, CURLOPT_NOBODY, false); curl_setopt($ch, CURLOPT_RETURNTRANSFER, false); curl_exec($ch); exit(); echo $link_play; exit(); print_r($test); exit(); $show_source = ''; if(!empty($test)){ foreach($test as $key=>$val){ $show_source .= '<source src="' . $val . '" type="video/mp4" data-res="' . $key . '"/>'; $default_res = $val['height'] . 'p'; } } ?>