Compare commits

..

No commits in common. "master" and "v1.0" have entirely different histories.
master ... v1.0

6 changed files with 91 additions and 261 deletions

27
LICENSE
View File

@ -1,27 +0,0 @@
this program is released under the DWTW license
This program is free software; you can redistribute it and/or modify it under the terms of the Do What Thou Wilt License.
Boundless Public License
DO WHAT THOU WILT
TO PUBLIC LICENSE
Version 2.55
Everyone is permitted to copy and distribute verbatim or modified copies of this license document, and changing it in full or in part is allowed without any restrictions.
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
0. Do what thou wilt shall be the whole of the Law.
DWTWL a license with a single requirement: DO WHAT THOU WILT
The license provides more freedom than any other one (such as GPL or BSD) and does not require saving the license text on copying.
DWTWL an accomplished and eligible license for free text, code and any other symbols (including the software, documentation and artwork).
The license does not contain a "no warranty" clause. DWTWL can be used in countries that do not legally acknowledge the transition to public domain.
Summary:
An author-creator gives their source code to the world for free, without becoming distracted by worldly thinking regarding how and why the others will use it.

View File

@ -1,13 +0,0 @@
dub techno shoutcast and icecast streams
http://dub.tech.soundragon.su
under DWTWL 2.55 license
***
Radio stations you are trying to listen to are running on an unencrypted port (not 443). This is quite common and it's not technically necessary for radio stations to be encrypted but nowadays web browsers like Chrome have started disallowing unencrypted content to be shown in an otherwise encrypted websites.
Solution: click on the padlock icon to the left of the URL box and then from the drop down menu select the 'Site Settings' option, you can then scroll down to the 'Insecure content' option at the bottom of the page and select 'Allow', this will create an exception for the website and allow you to continue using the player as before.
Source: https://support.google.com/chrome/thread/29505473?hl=en&msgid=29673696

View File

@ -1,12 +1,16 @@
/**
* anthrstlsht.css (another style sheet) v0.8
* DWTWL 2.55 license: https://soundragon.su/license/license.html
* DWTWL 2.5 license: https://soundragon.su/license/license.html
*/
html {
font-family: sans-serif;
}
body {
margin: 0;
font-family: Ubuntu, sans-serif;
color: #eee;
color: #222;
}
.container {
@ -37,12 +41,16 @@ h4 {
h5 {
font-size: 0.7rem;
text-shadow:0 0 5px #888;
-moz-text-shadow:0 0 10px #fff;
-webkit-text-shadow:0 0 10px #fff;
text-shadow:0 0 10px #fff;
}
h6 {
font-size: 1.2rem;
text-shadow: 0 0 5px #888;
-moz-text-shadow: 0 0 10px #00afee;
-webkit-text-shadow: 0 0 10px #00afee;
text-shadow: 0 0 10px #00afee;
}
hr {
@ -152,11 +160,3 @@ select,
fieldset {
margin-bottom: .1rem;
}
a:link {
color: #999;
}
a:visited {
color: #666;
}

BIN
bk.jpg

Binary file not shown.

Before

Width:  |  Height:  |  Size: 181 KiB

After

Width:  |  Height:  |  Size: 164 KiB

160
id.php
View File

@ -1,135 +1,37 @@
<?php
// Shoutcast
function getIDshout($radioip,$radioport,$postfix = "GET /7.html HTTP/1.1\nUser-Agent:Mozilla\n\n") {
echo "id:;:";
function getID($radioip,$radioport)
{
$open = fsockopen($radioip,$radioport,$errno,$errstr,'.5');
if ($open) {
fputs($open,$postfix);
stream_set_timeout($open,'1');
$read = fread($open,255);
$exploded = explode(",",$read);
if ($exploded[6] == '' || $exploded[6] == '</body></html>') {
$text = 'streaming'; } else { $text = $exploded[6]; }
$id = str_replace("</body></html>","",$text);
fputs($open,"GET /7.html HTTP/1.1\nUser-Agent:Mozilla\n\n");
stream_set_timeout($open,'1');
$read = fread($open,255);
$exploded = explode(",",$read);
if(exploded[6] == '' || $exploded[6] == '</body></html>')
{ $text = 'streaming'; } else { $text = $exploded[6]; }
$id = str_replace("</body></html>","",$text);
} 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
]
];
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);
$data = curl_exec($ch);
curl_close($ch);
$data = json_decode($data, true);
if (!empty($data)) $data = $data["songtitle"];
if (substr($data, -7) == "sknt.ru") $data = stristr($data, " * anima.sknt.ru", true);
return $data;
}
fclose($open);
return $id;
}
// first
echo "id:;:";
try {
echo getIDanima("dubtechno"); // Anima Amoris [DubTech]
} catch (Exception $exfirst) {
echo "unavailable";
}
// second
echo ":;:";
try {
echo getIDanima("dubtechnomix"); // Anima Amoris [DubTech Mix]
} catch (Exception $exsecond) {
echo "unavailable";
}
// third
echo ":;:";
try {
echo getIDshout("79.120.39.202","9009"); // Radio Caprice - Dub Techno
} catch (Exception $exthird) {
echo "unavailable";
}
// fourth
echo ":;:";
try {
echo getIDice("http://185.61.124.104:8066/live", 19200); // Loca FM Dub Techno
} catch (Exception $exfourth) {
echo "unavailable";
}
// fifth
echo ":;:";
try {
$fifthIDice = getIDice("http://94.130.113.214:8000/dubtechno", 19200); // Schizoid Dub Techno
if (bin2hex($fifthIDice) == "fffe66202d20fffe52") echo "online streaming";
else echo $fifthIDice;
} catch (Exception $exfifth) {
echo "unavailable";
}
// sixth
echo ":;:";
try {
echo getIDice("http://78.47.31.164:8002/dub", 19200); // MABU Beatz Dub Techno
} catch (Exception $exsixth) {
echo "unavailable";
}
// seventh
echo ":;:";
try {
echo getIDice("http://195.133.48.93:8000/MixCult_96kbps", 19200); // MixCult Deep Techno Radio
} catch (Exception $exseventh) {
echo "unavailable";
}
// eighth
echo ":;:";
try {
echo getIDice("https://c2.radioboss.fm:18382/stream", 19200); // dubte.ch
} catch (Exception $exeighth) {
echo "unavailable";
}
// ninth
echo ":;:";
try {
echo getIDice("http://prem2.di.fm:80/dubtechno_hi?266a3dc03aaa30a0807d9062", 19200); // Digitally Imported Dub Techno
} catch (Exception $exninth) {
echo "unavailable";
}
// tenth
echo ":;:";
try {
echo getIDanima("minimal"); // Anima Amoris [MinimalDeepTech]
} catch (Exception $extenth) {
echo "unavailable";
}
echo ":;:";
$radioip = "93.100.61.75";
$radioport = "8000";
echo getID($radioip,$radioport).":;:";
$radioip = "67.212.165.106";
$radioport = "8144";
echo getID($radioip,$radioport).":;:";
$radioip = "173.236.30.162";
$radioport = "8022";
echo getID($radioip,$radioport).":;:";
$radioip = "91.237.213.34";
$radioport = "8008";
echo getID($radioip,$radioport).":;:";
$radioip = "79.120.39.202";
$radioport = "9009";
echo getID($radioip,$radioport);
?>
?>

View File

@ -1,5 +1,5 @@
<!DOCTYPE html>
<!-- https://gitlab.com/zlax/dubtechradiopage -->
<!-- https://github.com/zlaxy/dubtechradiopage -->
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<!--
@ -12,98 +12,66 @@ a8" `Y88 88 88 88P' "8a 88 a8P_____88 a8" "" 88P' "8a
"8a, ,d88 "8a, ,a88 88b, ,a8" 88, "8b, ,aa "8a, ,aa 88 88
`"8bbdP"Y8 `"YbbdP'Y8 8Y"Ybbd8"' "Y888 `"Ybbd8"' `"Ybbd8"' 88 88
-->
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta name="description" content="dub techno radio">
<meta name="keywords" content="dub techno radio,dub techno stream,dub techno radio stream,dubtechno radio,dub techno,dub,techno,tech,deep,deep techno,dubtechno,radio,web radio,webradio,stream,dubtech">
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<link rel="stylesheet" type="text/css" href="https://fonts.googleapis.com/css?family=Ubuntu:regular&amp;subset=Latin,Cyrillic">
<link rel="stylesheet" type="text/css" href="anthrstlsht.css">
<title>dub tech</title>
<style type="text/css">
.container { display: table; height: 100vh; }
.tabb { display: table-cell; vertical-align: middle; }
body { background: url(bk.jpg) repeat-y; }
.container { display: table; height: 100vh; }
.tabb { display: table-cell; vertical-align: middle; }
body { background-color: #888; background: url(bk.jpg) repeat-y; }
</style>
<!-- script by bodqhrohro -->
<script type="text/javascript">
function allID () {
var xhr = new XMLHttpRequest();
xhr.open('GET', 'id.php');
xhr.send(null);
xhr.onreadystatechange = function() {
if (xhr.readyState == XMLHttpRequest.DONE && xhr.status == 200) {
xhr.responseText.split('\n').forEach(function(line) {
var kvID = line.split(':;:');
document.getElementById("first").innerHTML = kvID[1];
document.getElementById("second").innerHTML = kvID[2];
document.getElementById("third").innerHTML = kvID[3];
document.getElementById("fourth").innerHTML = kvID[4];
document.getElementById("fifth").innerHTML = kvID[5];
document.getElementById("sixth").innerHTML = kvID[6];
document.getElementById("seventh").innerHTML = kvID[7];
document.getElementById("eighth").innerHTML = kvID[8];
document.getElementById("ninth").innerHTML = kvID[9];
document.getElementById("tenth").innerHTML = kvID[10];
})
}
}
}
allID();
setInterval(allID, 2e4);
function allID () {
var xhr = new XMLHttpRequest();
xhr.open('GET', 'id.php');
xhr.send(null);
xhr.onreadystatechange = function() {
if (xhr.readyState == XMLHttpRequest.DONE && xhr.status == 200) {
xhr.responseText.split('\n').forEach(function(line) {
var kvID = line.split(':;:');
document.getElementById("first").innerHTML = kvID[1];
document.getElementById("second").innerHTML = kvID[2];
document.getElementById("third").innerHTML = kvID[3];
document.getElementById("fourth").innerHTML = kvID[4];
document.getElementById("fifth").innerHTML = kvID[5];
})
}
}
}
allID();
setInterval(allID, 1e4);
</script>
</head>
<body style="background-color:#222;">
<body>
<div class="container">
<table class="tabb">
<tr><td>
<h5 align="right"><b><a href="http://anima.sknt.ru">Anima Amoris [Dub Techno]</a></b></h5>
<h5 align="right"><b><a href="http://amoris.sknt.ru/dubtechno.mp3">http://amoris.sknt.ru</a></b></h5>
</td><td><audio controls preload="none"><source src="http://amoris.sknt.ru/dubtechno.mp3" type="audio/mpeg"></audio></td><td>
<h6 id="first"></h6>
<h5 align="right"><b><a href="http://anima.sknt.ru">Anima Amoris [Dub Techno]</a><br>
<a href="http://amoris.sknt.ru:8000">http://93.100.61.75:8000</a></b></h5>
</td><td><audio controls preload="none"><source src="http://amoris.sknt.ru:8000/;" type="audio/mpeg"></audio></td><td>
<h6 id="first"></h6>
</td></tr><tr><td>
<h5 align="right"><b><a href="http://anima.sknt.ru">Anima Amoris [DubTech Mix]</a></b></h5>
<h5 align="right"><b><a href="http://amoris.sknt.ru/dubtechnomix.mp3">http://amoris.sknt.ru</a></b></h5>
</td><td><audio controls preload="none"><source src="http://amoris.sknt.ru/dubtechnomix.mp3" type="audio/mpeg"></audio></td><td>
<h6 id="second"></h6>
<h5 align="right"><b><a href="http://sursumcorda.ning.com">arctic dub (sursumcorda)</a><br>
<a href="http://67.212.165.106:8144">http://67.212.165.106:8144</a></b></h5>
</td><td><audio controls preload="none"><source src="http://67.212.165.106:8144/;" type="audio/mpeg"></audio></td><td>
<h6 id="second"></h6>
</td></tr><tr><td>
<h5 align="right"><b><a href="http://radcap.ru">Radio Caprice - Dub Techno</a></b></h5>
<h5 align="right"><b><a href="http://79.120.39.202:8002/dubtechno">http://79.120.39.202:8002/dubtechno</a></b></h5>
</td><td><audio controls preload="none"><source src="http://79.120.39.202:8002/dubtechno" type="audio/mpeg"></audio></td><td>
<h6 id="third"></h6>
<h5 align="right"><b><a href="http://dubtechno.com.br">Dub Techno Station</a><br>
<a href="http://173.236.30.162:8022">http://173.236.30.162:8022</a></b></h5>
</td><td><audio controls preload="none"><source src="http://173.236.30.162:8022/stream" type="audio/mpeg"></audio></td><td>
<h6 id="third"></h6>
</td></tr><tr><td>
<h5 align="right"><b><a href="http://www.locafm.com/dub-techno/player.html">Loca FM Dub Techno</a></b></h5>
<h5 align="right"><b><a href="http://s02.fjperezdj.com:8066">http://s02.fjperezdj.com:8066/live</a></b></h5>
</td><td><audio controls src="http://s02.fjperezdj.com:8066/live" preload="none"></audio></td><td>
<h6 id="fourth"></h6>
<h5 align="right"><b><a href="http://electronicmusic.fm">electronicmusic.fm - Dub</a><br>
<a href="http://91.237.213.34:8008">http://91.237.213.34:8008</a></b></h5>
</td><td><audio controls preload="none"><source src="http://91.237.213.34:8008/;" type="audio/mpeg"></audio></td><td>
<h6 id="fourth"></h6>
</td></tr><tr><td>
<h5 align="right"><b><a href="http://schizoid.in/">Schizoid Dub Techno</a></b></h5>
<h5 align="right"><b><a href="http://94.130.113.214:8000/dubtechno">http://schizoid.in:8000/dubtechno</a></b></h5>
</td><td><audio controls preload="none"><source src="http://94.130.113.214:8000/dubtechno" type="audio/mpeg"></audio></td><td>
<h6 id="fifth"></h6>
</td></tr><tr><td>
<h5 align="right"><b><a href="https://mabu-beatz-radio.com/home/dub-techno/">MABU Beatz Dub Techno</a></b></h5>
<h5 align="right"><b><a href="http://78.47.31.164:8002/dub">http://78.47.31.164:8002/dub</a></b></h5>
</td><td><audio controls preload="none"><source src="http://78.47.31.164:8002/dub" type="audio/mpeg"></audio></td><td>
<h6 id="sixth"></h6>
</td></tr><tr><td>
<h5 align="right"><b><a href="http://http://mixcult.net">MixCult Deep Techno Radio</a></b></h5>
<h5 align="right"><b><a href="http://radio.mixcult.net:8000">http://radio.mixcult.net:8000</a></b></h5>
</td><td><audio controls preload="none"><source src="http://radio.mixcult.net:8000/MixCult_256kbps" type="audio/mpeg"></audio></td><td>
<h6 id="seventh"></h6>
</td></tr><tr><td>
<h5 align="right"><b><a href="https://dubte.ch">dubte.ch</a></b></h5>
<h5 align="right"><b><a href="https://c2.radioboss.fm:18382/">https://c2.radioboss.fm:18382</a></b></h5>
</td><td><audio controls preload="none"><source src="https://c2.radioboss.fm:18382/stream" type="audio/mpeg"></audio></td><td>
<h6 id="eighth"></h6>
</td></tr><tr><td>
<h5 align="right"><b><a href="http://www.di.fm/dubtechno">Digitally Imported Dub Techno</a></b></h5>
<h5 align="right"><b><a href="http://www.di.fm/dubtechno">http://prem2.di.fm/dubtechno_hi</a></b></h5>
</td><td><audio controls src="http://prem2.di.fm:80/dubtechno_hi?266a3dc03aaa30a0807d9062" preload="none"></audio></td><td>
<h6 id="ninth"></h6>
</td></tr><tr><td>
<h5 align="right"><b><a href="http://anima.sknt.ru">Anima Amoris [Deep Techno]</a></b></h5>
<h5 align="right"><b><a href="http://amoris.sknt.ru/minimal.mp3">http://amoris.sknt.ru</a></b></h5>
</td><td><audio controls preload="none"><source src="http://amoris.sknt.ru/minimal.mp3" type="audio/mpeg"></audio></td><td>
<h6 id="tenth"></h6>
</td><td>
</td></tr><tr><td colspan="3">
<h5 align="right"><b><a href="http://radcap.ru">Radio Caprice - Dub Techno</a><br>
<a href="http://79.120.39.202:9009">http://79.120.39.202:9009</a></b></h5>
</td><td><audio controls preload="none"><source src="http://79.120.39.202:9009/;" type="audio/mpeg"></audio></td><td>
<h6 id="fifth"></h6>
</td></tr>
</table></div>
<!--
@ -117,4 +85,4 @@ MM88MMM ,adPPYba, ,adPPYba, 88,dPPYba, ,adPPYb,88 88 88 88,dPPYba,
"Y888 `"Ybbd8"' `"Ybbd8"' 88 88 `"8bbdP"Y8 `"YbbdP'Y8 8Y"Ybbd8"'
-->
</body>
</html>
</html>