') { $text = 'streaming'; } else { $text = $exploded[6]; } $id = str_replace("","",$text); $id = str_replace(" (minimalmix.com)","",$id); } else { return false; } fclose($open); return $id; } // Icecast // https://stackoverflow.com/a/17109654 function getIDice($streamingUrl, $interval, $offset = 0, $headers = true) { $needle = 'StreamTitle='; $ua = 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/27.0.1453.110 Safari/537.36'; $opts = [ 'http' => [ 'method' => 'GET', 'header' => 'Icy-MetaData: 1', 'user_agent' => $ua, 'timeout' => 3 ] ]; if (($headers = get_headers($streamingUrl))) foreach ($headers as $h) if (strpos(strtolower($h), 'icy-metaint') !== false && ($interval = explode(':', $h)[1])) break; $context = stream_context_create($opts); if ($stream = fopen($streamingUrl, 'r', false, $context)) { $buffer = stream_get_contents($stream, $interval, $offset); fclose($stream); if (strpos($buffer, $needle) !== false) { $title = explode($needle, $buffer)[1]; return substr($title, 1, strpos($title, ';') - 2); } else return getMp3StreamTitle($streamingUrl, $interval, $offset + $interval, false); } else throw new Exception("Unable to open stream [{$streamingUrl}]"); } // Anima Amoris function getIDanima($amoris) { $url = "http://amoris.sknt.ru/".$amoris."/stats.json"; $headers = array('User-Agent: Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:62.0) Gecko/20100101 Firefox/62.0'); $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch, CURLOPT_HTTPHEADER, $headers); curl_setopt($ch, CURLOPT_TIMEOUT, 3); curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 2); $data = curl_exec($ch); if (curl_errno($ch)) { curl_close($ch); return "unavailable"; } curl_close($ch); $datajson = json_decode($data, true); if (!empty($datajson)) $data = $data["songtitle"]; $data = strstr($data, 'songtitle":"'); $data = substr($data, 12); if (substr($data, -11) == 'sknt.ru"});') $data = stristr($data, ' * amoris.sknt.ru"});', true); return $data; } // first $tags = "id:;:"; try { $tags .= getIDanima("dubtechno"); // Anima Amoris [DubTech] } catch (Exception $exfirst) { $tags .= "unavailable"; } // second $tags .= ":;:"; try { $tags .= getIDanima("dubtechnomix"); // Anima Amoris [DubTech Mix] } catch (Exception $exsecond) { $tags .= "unavailable"; } // third $tags .= ":;:"; try { $tags .= getIDshout("79.120.39.202","9009"); // Radio Caprice - Dub Techno } catch (Exception $exthird) { $tags .= "unavailable"; } // fourth $tags .= ":;:"; try { $tags .= getIDice("https://listen5.myradio24.com/ddtradio", 19200); // Deep Dub Tech radio } catch (Exception $exfourth) { $tags .= "unavailable"; } // fifth $tags .= ":;:"; try { $fifthIDice = getIDice("http://94.130.113.214:8000/dubtechno", 19200); // Schizoid Dub Techno if (bin2hex($fifthIDice) == "fffe66202d20fffe52" || "fffe53202d20fffe53" ) $tags .= "online streaming"; else $tags .= $fifthIDice; } catch (Exception $exfifth) { $tags .= "unavailable"; } // sixth $tags .= ":;:"; try { $tags .= getIDice("http://78.47.31.164:8002/dub", 19200); // MABU Beatz Dub Techno } catch (Exception $exsixth) { $tags .= "unavailable"; } // seventh $tags .= ":;:"; try { $tags .= getIDice("http://195.133.48.93:8000/MixCult_96kbps", 19200); // MixCult Deep Techno Radio } catch (Exception $exseventh) { $tags .= "unavailable"; } // eighth $tags .= ":;:"; try { $tags .= getIDanima("minimal"); // Anima Amoris [MinimalDeepTech] } catch (Exception $exeighth) { $tags .= "unavailable"; } // ninth $tags .= ":;:"; try { $tags .= getIDanima("deeptech"); // Anima Amoris [Deep Tech House] } catch (Exception $extenth) { $tags .= "unavailable"; } // tenth $tags .= ":;:"; try { $tags .= getIDice("https://best-of-techno.stream.laut.fm/best-of-techno", 19200); // Best of techno } catch (Exception $extenth) { $tags .= "unavailable"; } // eleventh $tags .= ":;:"; try { $tags .= getIDshout("148.251.43.231","8750"); // Minimal Mix Radio } catch (Exception $exseventh) { $tags .= "unavailable"; } // twelfth $tags .= ":;:"; //try { // $tags .= getIDice("http://prem2.di.fm:80/dubtechno_hi?266a3dc03aaa30a0807d9062", 19200); // Digitally Imported Dub Techno //} catch (Exception $exninth) { $tags .= "unavailable (commercial)"; //} $tags .= ":;:"; $id_tags = fopen("id_tags.txt", "w") or die("Unable to open file"); fwrite($id_tags, $tags); fclose($id_tags); $curtime = time(); $id_time = fopen("id_time.txt", "w") or die("Unable to open file"); fwrite($id_time, $curtime); fclose($id_time); echo $tags; ?>