Add files via upload
This commit is contained in:
parent
e7642f47ac
commit
c7f42edb44
|
@ -0,0 +1,115 @@
|
|||
<?php
|
||||
error_reporting(E_ERROR | E_PARSE);
|
||||
if (isset($_GET['url'])) {
|
||||
$headers = [
|
||||
'Connection: keep-alive',
|
||||
'User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/121.0.0.0 Safari/537.36 Edg/121.0.0.0',
|
||||
'Accept: */*',
|
||||
'Origin: http://cdnneedtv.ru',
|
||||
'Referer: http://cdnneedtv.ru/',
|
||||
'Accept-Encoding: gzip, deflate',
|
||||
'Accept-Language: es,es-ES;q=0.9,en;q=0.8,en-GB;q=0.7,en-US;q=0.6',
|
||||
];
|
||||
echo curl_get(rtrim($_GET['url']), $headers);
|
||||
exit;
|
||||
} else if (isset($_GET['id'])) {
|
||||
$headers = [
|
||||
"Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7",
|
||||
"Accept-Language: es,es-ES;q=0.9,en;q=0.8,en-GB;q=0.7,en-US;q=0.6",
|
||||
"Cache-Control: no-cache",
|
||||
"Connection: keep-alive",
|
||||
"Pragma: no-cache",
|
||||
"Referer: http://hochu.tv/",
|
||||
"Upgrade-Insecure-Requests: 1",
|
||||
"User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/121.0.0.0 Safari/537.36 Edg/121.0.0.0",
|
||||
];
|
||||
|
||||
$ch_id = $_GET['id'];
|
||||
$channel_url = "http://hochu.tv/".$ch_id.".html";
|
||||
$response = curl_get($channel_url, headers);
|
||||
preg_match('/<iframe width=.*src="(.*)" .*>/i', $response, $matches);
|
||||
$url=$matches[1];
|
||||
$response = curl_get($url, $headers);
|
||||
$server = get_server_url();
|
||||
$pattern = '/file:"([^"]+)"}/i';
|
||||
preg_match($pattern, $response, $matches);
|
||||
if (isset($matches[1])) {
|
||||
$curl = curl_init($matches[1]);
|
||||
curl_setopt($curl, CURLOPT_URL, $matches[1]);
|
||||
curl_setopt($curl, CURLOPT_FOLLOWLOCATION, true);
|
||||
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
|
||||
curl_setopt($curl, CURLOPT_HTTPHEADER, $headers);
|
||||
curl_setopt($curl, CURLOPT_TIMEOUT, 30);
|
||||
curl_setopt($curl, CURLOPT_ENCODING, '');
|
||||
curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, false); // Solo para depuración, ten cuidado
|
||||
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false); // Solo para depuración, ten cuidado
|
||||
|
||||
$response = curl_exec($curl);
|
||||
$play_url = str_replace("index.m3u8", "", curl_getinfo($curl)["url"]);
|
||||
curl_close($curl);
|
||||
$lineas_ts = explode("\n", $response);
|
||||
for ($i = 0; $i < count($lineas_ts) - 1; $i++) {
|
||||
if (strpos($lineas_ts[$i], '#') !== false) {
|
||||
echo $lineas_ts[$i].PHP_EOL;
|
||||
} else {
|
||||
echo $server.'?url='.$play_url.trim($matches[2]).$lineas_ts[$i].PHP_EOL;
|
||||
}
|
||||
}
|
||||
} else {
|
||||
echo "No se encontró la URL en el contenido.";
|
||||
}
|
||||
}else{
|
||||
$headers = ["User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/121.0.0.0 Safari/537.36 Edg/121.0.0.0"];
|
||||
$response = curl_get("http://hochu.tv/", headers);
|
||||
$pattern = '/<td.*<a.*href="(.*)"><img/i';
|
||||
preg_match_all($pattern, $response, $matches_href);
|
||||
$pattern = '/<td.*<a.*href=.*<img.*src="(.*)" style=".*>/i';
|
||||
preg_match_all($pattern, $response, $matches_images);
|
||||
$result="#EXTM3U".PHP_EOL;
|
||||
$server = get_server_url();
|
||||
$count=0;
|
||||
foreach ($matches_href[1] as $value) {
|
||||
$image_path=$matches_images[1][$count];
|
||||
$name=str_replace(".html","",$value);
|
||||
$name=str_replace("/","",$name);
|
||||
$result.='#EXTINF:-1 tvg-name="'.$name.'" tvg-logo="'.$server.'?url='."http://hochu.tv".$image_path.'",'.$name.PHP_EOL;
|
||||
$result.= $server.'?id='.$name.PHP_EOL;
|
||||
$count+=1;
|
||||
}
|
||||
header("Content-Type:vnd.apple.mpegURL");
|
||||
header("Content-Disposition:attachment;filename=index.m3u8");
|
||||
echo $result;
|
||||
}
|
||||
|
||||
function get_server_url(){
|
||||
$headers = getallheaders();
|
||||
$schema = $headers["X-Forwarded-Proto"];
|
||||
if (!$schema){
|
||||
$schema = isset($_SERVER['HTTPS']) ? 'https' : 'http';
|
||||
}
|
||||
$host = $headers["X-Forwarded-Server-Name"];
|
||||
if (!$host){
|
||||
$host = $_SERVER['HTTP_HOST'];
|
||||
}else{
|
||||
$host .= ":" . $headers["X-Forwarded-Port"];
|
||||
}
|
||||
return $schema . "://" . $host . $_SERVER['SCRIPT_NAME'];
|
||||
|
||||
}
|
||||
|
||||
function curl_get($url, $headers) {
|
||||
$curl = curl_init($url);
|
||||
curl_setopt($curl, CURLOPT_URL, $url);
|
||||
curl_setopt($curl, CURLOPT_FOLLOWLOCATION, true);
|
||||
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
|
||||
curl_setopt($curl, CURLOPT_HTTPHEADER, $headers);
|
||||
curl_setopt($curl, CURLOPT_TIMEOUT, 30);
|
||||
curl_setopt($curl, CURLOPT_ENCODING, '');
|
||||
curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, false); // Solo para depuración, ten cuidado
|
||||
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false); // Solo para depuración, ten cuidado
|
||||
|
||||
$resp = curl_exec($curl);
|
||||
curl_close($curl);
|
||||
return $resp;
|
||||
}
|
||||
?>
|
Loading…
Reference in New Issue