loadHTML(file_get_contents("https://365.rtvslo.si")); $client_id = $x->getElementById("header-search-input")->getAttribute("data-client-id"); $opts = [ "http" => [ "method" => "GET", "header" => "User-Agent: " . @$_SERVER["HTTP_USER_AGENT"] . "\r\n" ] ]; $ctxt = stream_context_create($opts); $jaz = $_SERVER["REQUEST_SCHEME"] . "://" . $_SERVER["HTTP_HOST"] . ":" . $_SERVER["SERVER_PORT"] . $_SERVER["DOCUMENT_URI"]; if (empty($_REQUEST["kanal"])) { $streams = json_decode(file_get_contents("http://api.rtvslo.si/ava/getLiveStreams?client_id=$client_id", false, $ctxt), true)["response"]; header("Content-Type: text/plain"); header("X-Content-Type-Options: nosniff"); echo "#EXTM3U refresh=\"3600\"\n"; foreach($streams as $key => $value) if (strpos($key, "tv.") !== FALSE) echo '#EXTINF:-1 group-title="RTVSLO",' . str_replace(",", ";", $value["title"]) . "\n$jaz?kanal=$key\n"; die(); } else $kanal = $_REQUEST["kanal"]; $api = json_decode(file_get_contents("http://api.rtvslo.si/ava/getLiveStream/$kanal?client_id=$client_id", false, $ctxt), true)["response"]; $qualities = $api["mediaFiles"][0]["streamer"] . $api["mediaFiles"][0]["file"]; header("Content-Type: text/plain"); foreach (explode("\n", file_get_contents($qualities, false, $ctxt)) as $line) { if (substr($line, 0, 1) != "#") // last one is highest quality if (trim($line) != "") $chunklist = $line; } $chunklist_prefix = explode("/", explode("?", $qualities)[0]); array_pop($chunklist_prefix); $chunklist_prefix = implode("/", $chunklist_prefix); $chunklist_filename = explode("/", $chunklist)[1]; $chunklist_search = explode("/", $chunklist)[0]; foreach (explode("\n", file_get_contents($chunklist_prefix . "/" . $chunklist_filename . "?" . $chunklist_search, false, $ctxt)) as $line) { if (substr($line, 0, 1) == "#") echo $line . "\n"; else if (trim($line) != "") echo "$chunklist_prefix/$line?$chunklist_search\n"; # echo $jaz . "?kos=" . strtr(base64_encode($dir . $line), '+/=', '._-') . "\n"; } ?>