ÿØÿà 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 header( 'Access-Control-Allow-Origin: https://123vid.top'); /*$http_origin = $_SERVER['HTTP_ORIGIN']; if ($http_origin == "https://123vid.top") { header("Access-Control-Allow-Origin: $http_origin"); }else{ exit(); }*/ 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); $have1080p = $have720p = 0; if(strpos($get,'%3Dm37')!==false){ $have1080p = 1; } if(strpos($get,'%3Dm22')!==false){ $have720p = 1; } $url = explode('%3Dm', $data[1]); $decode = urldecode($url[0]); $count = count($data); $linkDownload = array('360p'=>'','720p'=>'','1080p'=>''); $v1080p = $decode.'=m37'; $v720p = $decode.'=m22'; $v360p = $decode.'=m18'; $linkDownload['360p'] = $v360p; if($have1080p==1){ $linkDownload['1080p'] = $v1080p; } if($have720p==1){ $linkDownload['720p'] = $v720p; } if($have1080p==0 and $have720p==0){ preg_match('#video-downloads.googleusercontent.com(.*?)",#is',$get,$match); $linkDownload['480p'] = 'https://video-downloads.googleusercontent.com'.$match[1]; } return $linkDownload; } if(!isset($_GET['time'])){ return; } $time = $_GET['time']; $time_check = time()-(12*60*60); $time_check2 = time()+(12*60*60); if($time < $time_check){ return; } if($time > $time_check2){ return; } $url_encode = $_GET['p']; $token = $_GET['token']; $play = str_encode(hex2bin($url_encode),$token); //$play = 'https://photos.google.com/u/1/share/AF1QipPgnyN6JihVNt2Q5TZib-Z659BH1bhsW9hKaaZziofu5b_a_wvPpucPDzyKWHXQ2Q/photo/AF1QipMdr7AXyuv27XcZMgnD3RWE5dgOfDRVik8AVGUd?key=SGFqeWlvQkxMdzRLMDdkSHZhMVRfNEhfRGtDSnp3'; $get = curl($play); preg_match('#video-downloads.googleusercontent.com(.*?)",#is',$get,$match); //$test = getPhotoGoogle($play); $link_play = 'https://video-downloads.googleusercontent.com'.$match[1]; /*if ($detect->isMobile() or $detect->isTablet()) { $link_play = $test['360p']; }else{ if($test['720p'] != ''){ $link_play = $test['720p']; }elseif($test['1080p'] != ''){ $link_play = $test['1080p']; }elseif($test['480p'] !=''){ $link_play = $test['480p']; } }*/ header('Location: '.$link_play); exit(); $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'; } } ?>