Moving to images

This commit is contained in:
Fergal Moran
2015-11-01 14:26:26 +00:00
parent a307403034
commit deb9895383
19 changed files with 1055 additions and 1051 deletions

1
.gitignore vendored
View File

@@ -5,3 +5,4 @@ dss.radio
api_env api_env
web_env web_env
radio_env

Binary file not shown.

0
cleanup.sh Normal file → Executable file
View File

View File

@@ -57,7 +57,7 @@ api:
web: web:
image: fergalmoran/dss.web image: fergalmoran/dss.web
#build: ./dss.web #build: ./dss.web
env_file: env_file:
- ./web_env - ./web_env
restart: always restart: always
links: links:
@@ -76,7 +76,10 @@ icecast:
ports: ports:
- 8000:8000 - 8000:8000
radio: radio:
build: dss.radio/ image: fergalmoran/dss.radio
env_file:
- ./radio_env
#build: dss.radio/
ports: ports:
- "8888:8888" - "8888:8888"
links: links:

View File

@@ -1,101 +1,101 @@
<xsl:stylesheet xmlns:xsl = "http://www.w3.org/1999/XSL/Transform" version = "1.0" > <xsl:stylesheet xmlns:xsl = "http://www.w3.org/1999/XSL/Transform" version = "1.0" >
<xsl:output omit-xml-declaration="no" method="html" doctype-public="-//W3C//DTD XHTML 1.0 Strict//EN" doctype-system="http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd" indent="yes" encoding="UTF-8" /> <xsl:output omit-xml-declaration="no" method="html" doctype-public="-//W3C//DTD XHTML 1.0 Strict//EN" doctype-system="http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd" indent="yes" encoding="UTF-8" />
<xsl:template match = "/icestats" > <xsl:template match = "/icestats" >
<html> <html>
<head> <head>
<title>Icecast Streaming Media Server</title> <title>Icecast Streaming Media Server</title>
<link rel="stylesheet" type="text/css" href="/style.css" /> <link rel="stylesheet" type="text/css" href="/style.css" />
</head> </head>
<body topmargin="0" leftmargin="0" rightmargin="0" bottommargin="0"> <body topmargin="0" leftmargin="0" rightmargin="0" bottommargin="0">
<h2>Icecast2 Admin</h2> <h2>Icecast2 Admin</h2>
<br /> <br />
<div class="roundcont"> <div class="roundcont">
<div class="roundtop"> <div class="roundtop">
<img src="/corner_topleft.jpg" class="corner" style="display: none" /> <img src="/corner_topleft.jpg" class="corner" style="display: none" />
</div> </div>
<table border="0" cellpadding="1" cellspacing="3"> <table border="0" cellpadding="1" cellspacing="3">
<tr> <tr>
<td align="center"> <td align="center">
<a class="nav" href="stats.xsl">Admin Home</a> <a class="nav" href="stats.xsl">Admin Home</a>
<a class="nav" href="listmounts.xsl">List Mountpoints</a> <a class="nav" href="listmounts.xsl">List Mountpoints</a>
<a class="nav" href="moveclients.xsl">Move Listeners</a> <a class="nav" href="moveclients.xsl">Move Listeners</a>
<a class="nav" href="/status.xsl">Index</a> <a class="nav" href="/status.xsl">Index</a>
</td></tr> </td></tr>
</table> </table>
<div class="roundbottom"> <div class="roundbottom">
<img src="/corner_bottomleft.jpg" class="corner" style="display: none" /> <img src="/corner_bottomleft.jpg" class="corner" style="display: none" />
</div> </div>
</div> </div>
<br /> <br />
<br /> <br />
<h1>Listener Stats</h1> <h1>Listener Stats</h1>
<div class="roundcont"> <div class="roundcont">
<div class="roundtop"> <div class="roundtop">
<img src="/corner_topleft.jpg" class="corner" style="display: none" /> <img src="/corner_topleft.jpg" class="corner" style="display: none" />
</div> </div>
<div class="newscontent"> <div class="newscontent">
<xsl:for-each select="source"> <xsl:for-each select="source">
<div class="streamheader"> <div class="streamheader">
<table cellspacing="0" cellpadding="0" > <table cellspacing="0" cellpadding="0" >
<colgroup align="left" /> <colgroup align="left" />
<colgroup align="right" width="300" /> <colgroup align="right" width="300" />
<tr> <tr>
<td><h3>Mount Point <xsl:value-of select="@mount" /></h3></td> <td><h3>Mount Point <xsl:value-of select="@mount" /></h3></td>
<xsl:choose> <xsl:choose>
<xsl:when test="authenticator"> <xsl:when test="authenticator">
<td align="right"><a class="auth" href="/auth.xsl">Login</a></td> <td align="right"><a class="auth" href="/auth.xsl">Login</a></td>
</xsl:when> </xsl:when>
<xsl:otherwise> <xsl:otherwise>
<td align="right"> <td align="right">
<a href="{@mount}.m3u">M3U</a> <a href="{@mount}.m3u">M3U</a>
<a href="{@mount}.xspf">XSPF</a></td> <a href="{@mount}.xspf">XSPF</a></td>
</xsl:otherwise> </xsl:otherwise>
</xsl:choose> </xsl:choose>
</tr></table> </tr></table>
</div> </div>
<table border="0" cellpadding="1" cellspacing="5" bgcolor="444444"> <table border="0" cellpadding="1" cellspacing="5" bgcolor="444444">
<tr> <tr>
<td align="center"> <td align="center">
<a class="nav2" href="listclients.xsl?mount={@mount}">List Clients</a> <a class="nav2" href="listclients.xsl?mount={@mount}">List Clients</a>
<a class="nav2" href="moveclients.xsl?mount={@mount}">Move Listeners</a> <a class="nav2" href="moveclients.xsl?mount={@mount}">Move Listeners</a>
<a class="nav2" href="updatemetadata.xsl?mount={@mount}">Update Metadata</a> <a class="nav2" href="updatemetadata.xsl?mount={@mount}">Update Metadata</a>
<a class="nav2" href="killsource.xsl?mount={@mount}">Kill Source</a> <a class="nav2" href="killsource.xsl?mount={@mount}">Kill Source</a>
</td></tr> </td></tr>
</table> </table>
<br /> <br />
<table cellspacing="0" cellpadding="5" border="1" bordercolor="#C0C0C0" > <table cellspacing="0" cellpadding="5" border="1" bordercolor="#C0C0C0" >
<tr> <tr>
<td ><center><b>IP</b></center></td> <td ><center><b>IP</b></center></td>
<td ><center><b>Seconds Connected</b></center></td> <td ><center><b>Seconds Connected</b></center></td>
<td ><center><b>User Agent</b></center></td> <td ><center><b>User Agent</b></center></td>
<td ><center><b>Action</b></center></td> <td ><center><b>Action</b></center></td>
</tr> </tr>
<xsl:variable name = "themount" ><xsl:value-of select="@mount" /></xsl:variable> <xsl:variable name = "themount" ><xsl:value-of select="@mount" /></xsl:variable>
<xsl:for-each select="listener"> <xsl:for-each select="listener">
<tr> <tr>
<td align="center"><xsl:value-of select="IP" /><xsl:if test="username"> (<xsl:value-of select="username" />)</xsl:if></td> <td align="center"><xsl:value-of select="IP" /><xsl:if test="username"> (<xsl:value-of select="username" />)</xsl:if></td>
<td align="center"><xsl:value-of select="Connected" /></td> <td align="center"><xsl:value-of select="Connected" /></td>
<td align="center"><xsl:value-of select="UserAgent" /></td> <td align="center"><xsl:value-of select="UserAgent" /></td>
<td align="center"><a href="killclient.xsl?mount={$themount}&amp;id={ID}">Kick</a></td> <td align="center"><a href="killclient.xsl?mount={$themount}&amp;id={ID}">Kick</a></td>
</tr> </tr>
</xsl:for-each> </xsl:for-each>
</table> </table>
<br /> <br />
<br /> <br />
</xsl:for-each> </xsl:for-each>
<xsl:text disable-output-escaping="yes">&amp;</xsl:text>nbsp; <xsl:text disable-output-escaping="yes">&amp;</xsl:text>nbsp;
</div> </div>
<div class="roundbottom"> <div class="roundbottom">
<img src="/corner_bottomleft.jpg" class="corner" style="display: none" /> <img src="/corner_bottomleft.jpg" class="corner" style="display: none" />
</div> </div>
</div> </div>
<div class="poster">Support icecast development at <a class="nav" href="http://www.icecast.org">www.icecast.org</a></div> <div class="poster">Support icecast development at <a class="nav" href="http://www.icecast.org">www.icecast.org</a></div>
</body> </body>
</html> </html>
</xsl:template> </xsl:template>
</xsl:stylesheet> </xsl:stylesheet>

View File

@@ -1,84 +1,84 @@
<xsl:stylesheet xmlns:xsl = "http://www.w3.org/1999/XSL/Transform" version = "1.0" > <xsl:stylesheet xmlns:xsl = "http://www.w3.org/1999/XSL/Transform" version = "1.0" >
<xsl:output omit-xml-declaration="no" method="html" doctype-public="-//W3C//DTD XHTML 1.0 Strict//EN" doctype-system="http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd" indent="yes" encoding="UTF-8" /> <xsl:output omit-xml-declaration="no" method="html" doctype-public="-//W3C//DTD XHTML 1.0 Strict//EN" doctype-system="http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd" indent="yes" encoding="UTF-8" />
<xsl:template match = "/icestats" > <xsl:template match = "/icestats" >
<html> <html>
<head> <head>
<title>Icecast Streaming Media Server</title> <title>Icecast Streaming Media Server</title>
<link rel="stylesheet" type="text/css" href="/style.css" /> <link rel="stylesheet" type="text/css" href="/style.css" />
</head> </head>
<body topmargin="0" leftmargin="0" rightmargin="0" bottommargin="0"> <body topmargin="0" leftmargin="0" rightmargin="0" bottommargin="0">
<h2>Icecast2 Admin</h2> <h2>Icecast2 Admin</h2>
<br /> <br />
<div class="roundcont"> <div class="roundcont">
<div class="roundtop"> <div class="roundtop">
<img src="/corner_topleft.jpg" class="corner" style="display: none" /> <img src="/corner_topleft.jpg" class="corner" style="display: none" />
</div> </div>
<table border="0" cellpadding="1" cellspacing="3"> <table border="0" cellpadding="1" cellspacing="3">
<tr> <tr>
<td align="center"> <td align="center">
<a class="nav" href="stats.xsl">Admin Home</a> <a class="nav" href="stats.xsl">Admin Home</a>
<a class="nav" href="listmounts.xsl">List Mountpoints</a> <a class="nav" href="listmounts.xsl">List Mountpoints</a>
<a class="nav" href="moveclients.xsl">Move Listeners</a> <a class="nav" href="moveclients.xsl">Move Listeners</a>
<a class="nav" href="/status.xsl">Index</a> <a class="nav" href="/status.xsl">Index</a>
</td></tr> </td></tr>
</table> </table>
<div class="roundbottom"> <div class="roundbottom">
<img src="/corner_bottomleft.jpg" class="corner" style="display: none" /> <img src="/corner_bottomleft.jpg" class="corner" style="display: none" />
</div> </div>
</div> </div>
<br /> <br />
<br /> <br />
<h1>Active Mountpoints</h1> <h1>Active Mountpoints</h1>
<div class="roundcont"> <div class="roundcont">
<div class="roundtop"> <div class="roundtop">
<img src="/corner_topleft.jpg" class="corner" style="display: none" /> <img src="/corner_topleft.jpg" class="corner" style="display: none" />
</div> </div>
<div class="newscontent"> <div class="newscontent">
<xsl:for-each select="source"> <xsl:for-each select="source">
<div class="streamheader"> <div class="streamheader">
<table cellspacing="0" cellpadding="0" > <table cellspacing="0" cellpadding="0" >
<colgroup align="left" /> <colgroup align="left" />
<colgroup align="right" width="300" /> <colgroup align="right" width="300" />
<tr> <tr>
<td><h3>Mount Point <xsl:value-of select="@mount" /></h3></td> <td><h3>Mount Point <xsl:value-of select="@mount" /></h3></td>
<xsl:choose> <xsl:choose>
<xsl:when test="authenticator"> <xsl:when test="authenticator">
<td align="right"><a class="auth" href="/auth.xsl">Login</a></td> <td align="right"><a class="auth" href="/auth.xsl">Login</a></td>
</xsl:when> </xsl:when>
<xsl:otherwise> <xsl:otherwise>
<td align="right"> <td align="right">
<a href="{@mount}.m3u">M3U</a> <a href="{@mount}.m3u">M3U</a>
<a href="{@mount}.xspf">XSPF</a></td> <a href="{@mount}.xspf">XSPF</a></td>
</xsl:otherwise> </xsl:otherwise>
</xsl:choose> </xsl:choose>
</tr></table> </tr></table>
</div> </div>
<table border="0" cellpadding="1" cellspacing="5" bgcolor="444444"> <table border="0" cellpadding="1" cellspacing="5" bgcolor="444444">
<tr> <tr>
<td align="center"> <td align="center">
<a class="nav2" href="listclients.xsl?mount={@mount}">List Clients</a> <a class="nav2" href="listclients.xsl?mount={@mount}">List Clients</a>
<a class="nav2" href="moveclients.xsl?mount={@mount}">Move Listeners</a> <a class="nav2" href="moveclients.xsl?mount={@mount}">Move Listeners</a>
<a class="nav2" href="updatemetadata.xsl?mount={@mount}">Update Metadata</a> <a class="nav2" href="updatemetadata.xsl?mount={@mount}">Update Metadata</a>
<a class="nav2" href="killsource.xsl?mount={@mount}">Kill Source</a> <a class="nav2" href="killsource.xsl?mount={@mount}">Kill Source</a>
<xsl:if test="authenticator"><a class="nav2" href="manageauth.xsl?mount={@mount}">Manage Authentication</a></xsl:if> <xsl:if test="authenticator"><a class="nav2" href="manageauth.xsl?mount={@mount}">Manage Authentication</a></xsl:if>
</td></tr> </td></tr>
</table> </table>
<br /> <br />
<p><xsl:value-of select="listeners" /> Listener(s)</p> <p><xsl:value-of select="listeners" /> Listener(s)</p>
<br></br> <br></br>
</xsl:for-each> </xsl:for-each>
<xsl:text disable-output-escaping="yes">&amp;</xsl:text>nbsp; <xsl:text disable-output-escaping="yes">&amp;</xsl:text>nbsp;
</div> </div>
<div class="roundbottom"> <div class="roundbottom">
<img src="/corner_bottomleft.jpg" class="corner" style="display: none" /> <img src="/corner_bottomleft.jpg" class="corner" style="display: none" />
</div> </div>
</div> </div>
<div class="poster">Support icecast development at <a class="nav" href="http://www.icecast.org">www.icecast.org</a></div> <div class="poster">Support icecast development at <a class="nav" href="http://www.icecast.org">www.icecast.org</a></div>
</body> </body>
</html> </html>
</xsl:template> </xsl:template>
</xsl:stylesheet> </xsl:stylesheet>

View File

@@ -1,98 +1,98 @@
<xsl:stylesheet xmlns:xsl = "http://www.w3.org/1999/XSL/Transform" version = "1.0" > <xsl:stylesheet xmlns:xsl = "http://www.w3.org/1999/XSL/Transform" version = "1.0" >
<xsl:output omit-xml-declaration="no" method="html" doctype-public="-//W3C//DTD XHTML 1.0 Strict//EN" doctype-system="http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd" indent="yes" encoding="UTF-8" /> <xsl:output omit-xml-declaration="no" method="html" doctype-public="-//W3C//DTD XHTML 1.0 Strict//EN" doctype-system="http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd" indent="yes" encoding="UTF-8" />
<xsl:template match = "/icestats" > <xsl:template match = "/icestats" >
<html> <html>
<head> <head>
<title>Icecast Streaming Media Server</title> <title>Icecast Streaming Media Server</title>
<link rel="stylesheet" type="text/css" href="/style.css" /> <link rel="stylesheet" type="text/css" href="/style.css" />
</head> </head>
<body topmargin="0" leftmargin="0" rightmargin="0" bottommargin="0"> <body topmargin="0" leftmargin="0" rightmargin="0" bottommargin="0">
<h2>Icecast2 Admin</h2> <h2>Icecast2 Admin</h2>
<br /> <br />
<div class="roundcont"> <div class="roundcont">
<div class="roundtop"> <div class="roundtop">
<img src="/corner_topleft.jpg" class="corner" style="display: none" /> <img src="/corner_topleft.jpg" class="corner" style="display: none" />
</div> </div>
<table border="0" cellpadding="1" cellspacing="3"> <table border="0" cellpadding="1" cellspacing="3">
<tr> <tr>
<td align="center"> <td align="center">
<a class="nav" href="stats.xsl">Admin Home</a> <a class="nav" href="stats.xsl">Admin Home</a>
<a class="nav" href="listmounts.xsl">List Mountpoints</a> <a class="nav" href="listmounts.xsl">List Mountpoints</a>
<a class="nav" href="moveclients.xsl">Move Listeners</a> <a class="nav" href="moveclients.xsl">Move Listeners</a>
<a class="nav" href="/status.xsl">Index</a> <a class="nav" href="/status.xsl">Index</a>
</td></tr> </td></tr>
</table> </table>
<div class="roundbottom"> <div class="roundbottom">
<img src="/corner_bottomleft.jpg" class="corner" style="display: none" /> <img src="/corner_bottomleft.jpg" class="corner" style="display: none" />
</div> </div>
</div> </div>
<br /> <br />
<br /> <br />
<div class="roundcont"> <div class="roundcont">
<div class="roundtop"> <div class="roundtop">
<img src="/corner_topleft.jpg" class="corner" style="display: none" /> <img src="/corner_topleft.jpg" class="corner" style="display: none" />
</div> </div>
<div class="newscontent"> <div class="newscontent">
<xsl:for-each select="iceresponse"> <xsl:for-each select="iceresponse">
<xsl:value-of select="message" /> <xsl:value-of select="message" />
</xsl:for-each> </xsl:for-each>
<xsl:for-each select="source"> <xsl:for-each select="source">
<h3> <h3>
<xsl:if test="server_name"><xsl:value-of select="server_name" /> </xsl:if> <xsl:if test="server_name"><xsl:value-of select="server_name" /> </xsl:if>
(<xsl:value-of select="@mount" />)</h3> (<xsl:value-of select="@mount" />)</h3>
<table border="0" cellpadding="1" cellspacing="5" bgcolor="444444"> <table border="0" cellpadding="1" cellspacing="5" bgcolor="444444">
<tr> <tr>
<td align="center"> <td align="center">
<a class="nav2" href="listclients.xsl?mount={@mount}">List Clients</a> <a class="nav2" href="listclients.xsl?mount={@mount}">List Clients</a>
<a class="nav2" href="moveclients.xsl?mount={@mount}">Move Listeners</a> <a class="nav2" href="moveclients.xsl?mount={@mount}">Move Listeners</a>
<a class="nav2" href="updatemetadata.xsl?mount={@mount}">Update Metadata</a> <a class="nav2" href="updatemetadata.xsl?mount={@mount}">Update Metadata</a>
<a class="nav2" href="killsource.xsl?mount={@mount}">Kill Source</a> <a class="nav2" href="killsource.xsl?mount={@mount}">Kill Source</a>
</td></tr> </td></tr>
</table> </table>
<br></br> <br></br>
<form method="GET" action="manageauth.xsl"> <form method="GET" action="manageauth.xsl">
<table cellpadding="2" cellspacing="4" border="0" > <table cellpadding="2" cellspacing="4" border="0" >
<tr> <tr>
<td ><b>User Id</b></td> <td ><b>User Id</b></td>
<td ></td> <td ></td>
</tr> </tr>
<xsl:variable name = "themount" ><xsl:value-of select="@mount" /></xsl:variable> <xsl:variable name = "themount" ><xsl:value-of select="@mount" /></xsl:variable>
<xsl:for-each select="User"> <xsl:for-each select="User">
<tr> <tr>
<td><xsl:value-of select="username" /></td> <td><xsl:value-of select="username" /></td>
<td><a class="nav2" href="manageauth.xsl?mount={$themount}&amp;username={username}&amp;action=delete">delete</a></td> <td><a class="nav2" href="manageauth.xsl?mount={$themount}&amp;username={username}&amp;action=delete">delete</a></td>
</tr> </tr>
</xsl:for-each> </xsl:for-each>
</table> </table>
<table cellpadding="2" cellspacing="4" border="0" > <table cellpadding="2" cellspacing="4" border="0" >
<tr> <tr>
<td ><b>User Id</b></td> <td ><b>User Id</b></td>
<td ><b>Password</b></td> <td ><b>Password</b></td>
</tr> </tr>
<tr> <tr>
<td ><input type="text" name="username" /></td> <td ><input type="text" name="username" /></td>
<td ><input type="text" name="password" /></td> <td ><input type="text" name="password" /></td>
</tr> </tr>
<tr> <tr>
<td colspan="2"><input type="Submit" name="Submit" value="Add New User" /></td> <td colspan="2"><input type="Submit" name="Submit" value="Add New User" /></td>
</tr> </tr>
</table> </table>
<input type="hidden" name="mount" value="{@mount}"/> <input type="hidden" name="mount" value="{@mount}"/>
<input type="hidden" name="action" value="add"/> <input type="hidden" name="action" value="add"/>
</form> </form>
<br /> <br />
<br /> <br />
</xsl:for-each> </xsl:for-each>
<xsl:text disable-output-escaping="yes">&amp;</xsl:text>nbsp; <xsl:text disable-output-escaping="yes">&amp;</xsl:text>nbsp;
</div> </div>
<div class="roundbottom"> <div class="roundbottom">
<img src="/corner_bottomleft.jpg" class="corner" style="display: none" /> <img src="/corner_bottomleft.jpg" class="corner" style="display: none" />
</div> </div>
</div> </div>
<div class="poster">Support icecast development at <a class="nav" href="http://www.icecast.org">www.icecast.org</a></div> <div class="poster">Support icecast development at <a class="nav" href="http://www.icecast.org">www.icecast.org</a></div>
</body> </body>
</html> </html>
</xsl:template> </xsl:template>
</xsl:stylesheet> </xsl:stylesheet>

View File

@@ -1,63 +1,63 @@
<xsl:stylesheet xmlns:xsl = "http://www.w3.org/1999/XSL/Transform" version = "1.0" > <xsl:stylesheet xmlns:xsl = "http://www.w3.org/1999/XSL/Transform" version = "1.0" >
<xsl:output omit-xml-declaration="no" method="html" doctype-public="-//W3C//DTD XHTML 1.0 Strict//EN" doctype-system="http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd" indent="yes" encoding="UTF-8" /> <xsl:output omit-xml-declaration="no" method="html" doctype-public="-//W3C//DTD XHTML 1.0 Strict//EN" doctype-system="http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd" indent="yes" encoding="UTF-8" />
<xsl:template match = "/icestats" > <xsl:template match = "/icestats" >
<html> <html>
<head> <head>
<title>Icecast Streaming Media Server</title> <title>Icecast Streaming Media Server</title>
<link rel="stylesheet" type="text/css" href="/style.css" /> <link rel="stylesheet" type="text/css" href="/style.css" />
</head> </head>
<body topmargin="0" leftmargin="0" rightmargin="0" bottommargin="0"> <body topmargin="0" leftmargin="0" rightmargin="0" bottommargin="0">
<h2>Icecast2 Admin</h2> <h2>Icecast2 Admin</h2>
<br /> <br />
<div class="roundcont"> <div class="roundcont">
<div class="roundtop"> <div class="roundtop">
<img src="/corner_topleft.jpg" class="corner" style="display: none" /> <img src="/corner_topleft.jpg" class="corner" style="display: none" />
</div> </div>
<table border="0" cellpadding="1" cellspacing="3"> <table border="0" cellpadding="1" cellspacing="3">
<tr> <tr>
<td align="center"> <td align="center">
<a class="nav" href="stats.xsl">Admin Home</a> <a class="nav" href="stats.xsl">Admin Home</a>
<a class="nav" href="listmounts.xsl">List Mountpoints</a> <a class="nav" href="listmounts.xsl">List Mountpoints</a>
<a class="nav" href="moveclients.xsl">Move Listeners</a> <a class="nav" href="moveclients.xsl">Move Listeners</a>
<a class="nav" href="/status.xsl">Index</a> <a class="nav" href="/status.xsl">Index</a>
</td></tr> </td></tr>
</table> </table>
<div class="roundbottom"> <div class="roundbottom">
<img src="/corner_bottomleft.jpg" class="corner" style="display: none" /> <img src="/corner_bottomleft.jpg" class="corner" style="display: none" />
</div> </div>
</div> </div>
<br /> <br />
<br /> <br />
<xsl:variable name = "currentmount" ><xsl:value-of select="current_source" /></xsl:variable> <xsl:variable name = "currentmount" ><xsl:value-of select="current_source" /></xsl:variable>
<h1>Moving Listeners From (<xsl:value-of select="current_source" />)</h1> <h1>Moving Listeners From (<xsl:value-of select="current_source" />)</h1>
<div class="roundcont"> <div class="roundcont">
<div class="roundtop"> <div class="roundtop">
<img src="/corner_topleft.jpg" class="corner" style="display: none" /> <img src="/corner_topleft.jpg" class="corner" style="display: none" />
</div> </div>
<div class="newscontent"> <div class="newscontent">
<h3>Move to which mountpoint ?</h3> <h3>Move to which mountpoint ?</h3>
<xsl:for-each select="source"> <xsl:for-each select="source">
<table border="0" cellpadding="1" cellspacing="5" > <table border="0" cellpadding="1" cellspacing="5" >
<tr> <tr>
<td>Move from (<xsl:copy-of select="$currentmount" />) to (<xsl:value-of select="@mount" />)</td> <td>Move from (<xsl:copy-of select="$currentmount" />) to (<xsl:value-of select="@mount" />)</td>
<td><xsl:value-of select="listeners" /> Listeners</td> <td><xsl:value-of select="listeners" /> Listeners</td>
<td><a class="nav2" href="moveclients.xsl?mount={$currentmount}&amp;destination={@mount}">Move Clients</a></td> <td><a class="nav2" href="moveclients.xsl?mount={$currentmount}&amp;destination={@mount}">Move Clients</a></td>
</tr> </tr>
</table> </table>
<br /> <br />
<br /> <br />
</xsl:for-each> </xsl:for-each>
<xsl:text disable-output-escaping="yes">&amp;</xsl:text>nbsp; <xsl:text disable-output-escaping="yes">&amp;</xsl:text>nbsp;
</div> </div>
<div class="roundbottom"> <div class="roundbottom">
<img src="/corner_bottomleft.jpg" class="corner" style="display: none" /> <img src="/corner_bottomleft.jpg" class="corner" style="display: none" />
</div> </div>
</div> </div>
<div class="poster">Support icecast development at <a class="nav" href="http://www.icecast.org">www.icecast.org</a></div> <div class="poster">Support icecast development at <a class="nav" href="http://www.icecast.org">www.icecast.org</a></div>
</body> </body>
</html> </html>
</xsl:template> </xsl:template>
</xsl:stylesheet> </xsl:stylesheet>

View File

@@ -1,56 +1,56 @@
<xsl:stylesheet xmlns:xsl = "http://www.w3.org/1999/XSL/Transform" version = "1.0" > <xsl:stylesheet xmlns:xsl = "http://www.w3.org/1999/XSL/Transform" version = "1.0" >
<xsl:output omit-xml-declaration="no" method="html" doctype-public="-//W3C//DTD XHTML 1.0 Strict//EN" doctype-system="http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd" indent="yes" encoding="UTF-8" /> <xsl:output omit-xml-declaration="no" method="html" doctype-public="-//W3C//DTD XHTML 1.0 Strict//EN" doctype-system="http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd" indent="yes" encoding="UTF-8" />
<xsl:template match = "/iceresponse" > <xsl:template match = "/iceresponse" >
<html> <html>
<head> <head>
<title>Icecast Streaming Media Server</title> <title>Icecast Streaming Media Server</title>
<link rel="stylesheet" type="text/css" href="/style.css" /> <link rel="stylesheet" type="text/css" href="/style.css" />
</head> </head>
<body topmargin="0" leftmargin="0" rightmargin="0" bottommargin="0"> <body topmargin="0" leftmargin="0" rightmargin="0" bottommargin="0">
<img align="left" src="/icecast.png" /><h2><center>Icecast2 Admin</center></h2> <img align="left" src="/icecast.png" /><h2><center>Icecast2 Admin</center></h2>
<br /> <br />
<div class="roundcont"> <div class="roundcont">
<div class="roundtop"> <div class="roundtop">
<img src="/corner_topleft.jpg" class="corner" style="display: none" /> <img src="/corner_topleft.jpg" class="corner" style="display: none" />
</div> </div>
<table border="0" cellpadding="1" cellspacing="3"> <table border="0" cellpadding="1" cellspacing="3">
<tr> <tr>
<td align="center"> <td align="center">
<a class="nav" href="stats.xsl">Admin Home</a> | <a class="nav" href="stats.xsl">Admin Home</a> |
<a class="nav" href="listmounts.xsl">List Mountpoints</a> | <a class="nav" href="listmounts.xsl">List Mountpoints</a> |
<a class="nav" href="moveclients.xsl">Move Listeners</a> | <a class="nav" href="moveclients.xsl">Move Listeners</a> |
<a class="nav" href="/status.xsl">Index</a> <a class="nav" href="/status.xsl">Index</a>
</td></tr> </td></tr>
</table> </table>
<div class="roundbottom"> <div class="roundbottom">
<img src="/corner_bottomleft.jpg" class="corner" style="display: none" /> <img src="/corner_bottomleft.jpg" class="corner" style="display: none" />
</div> </div>
</div> </div>
<br /> <br />
<br /> <br />
<h1>Icecast Server Response</h1> <h1>Icecast Server Response</h1>
<div class="roundcont"> <div class="roundcont">
<div class="roundtop"> <div class="roundtop">
<img src="/corner_topleft.jpg" class="corner" style="display: none" /> <img src="/corner_topleft.jpg" class="corner" style="display: none" />
</div> </div>
<div class="newscontent"> <div class="newscontent">
<h3>Response</h3> <h3>Response</h3>
<xsl:for-each select="/iceresponse"> <xsl:for-each select="/iceresponse">
Message : <xsl:value-of select="message" /><br></br> Message : <xsl:value-of select="message" /><br></br>
Return Code: <xsl:value-of select="return" /><br></br> Return Code: <xsl:value-of select="return" /><br></br>
</xsl:for-each> </xsl:for-each>
<br /> <br />
<br /> <br />
</div> </div>
<div class="roundbottom"> <div class="roundbottom">
<img src="/corner_bottomleft.jpg" class="corner" style="display: none" /> <img src="/corner_bottomleft.jpg" class="corner" style="display: none" />
</div> </div>
</div> </div>
<div class="poster">Support icecast development at <a class="nav" href="http://www.icecast.org">www.icecast.org</a></div> <div class="poster">Support icecast development at <a class="nav" href="http://www.icecast.org">www.icecast.org</a></div>
</body> </body>
</html> </html>
</xsl:template> </xsl:template>
</xsl:stylesheet> </xsl:stylesheet>

View File

@@ -1,124 +1,124 @@
<xsl:stylesheet xmlns:xsl = "http://www.w3.org/1999/XSL/Transform" version = "1.0" > <xsl:stylesheet xmlns:xsl = "http://www.w3.org/1999/XSL/Transform" version = "1.0" >
<xsl:output omit-xml-declaration="no" method="html" doctype-public="-//W3C//DTD XHTML 1.0 Strict//EN" doctype-system="http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd" indent="yes" encoding="UTF-8" /> <xsl:output omit-xml-declaration="no" method="html" doctype-public="-//W3C//DTD XHTML 1.0 Strict//EN" doctype-system="http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd" indent="yes" encoding="UTF-8" />
<xsl:template match = "/icestats" > <xsl:template match = "/icestats" >
<html> <html>
<head> <head>
<title>Icecast Streaming Media Server</title> <title>Icecast Streaming Media Server</title>
<link rel="stylesheet" type="text/css" href="/style.css" /> <link rel="stylesheet" type="text/css" href="/style.css" />
</head> </head>
<body topmargin="0" leftmargin="0" rightmargin="0" bottommargin="0"> <body topmargin="0" leftmargin="0" rightmargin="0" bottommargin="0">
<h2>Icecast2 Admin</h2> <h2>Icecast2 Admin</h2>
<br /> <br />
<!--header menu --> <!--header menu -->
<div class="roundcont"> <div class="roundcont">
<div class="roundtop"> <div class="roundtop">
<img src="/corner_topleft.jpg" class="corner" style="display: none" /> <img src="/corner_topleft.jpg" class="corner" style="display: none" />
</div> </div>
<table border="0" cellpadding="1" cellspacing="3"> <table border="0" cellpadding="1" cellspacing="3">
<tr> <tr>
<td align="center"> <td align="center">
<a class="nav" href="stats.xsl">Admin Home</a> <a class="nav" href="stats.xsl">Admin Home</a>
<a class="nav" href="listmounts.xsl">List Mountpoints</a> <a class="nav" href="listmounts.xsl">List Mountpoints</a>
<a class="nav" href="moveclients.xsl">Move Listeners</a> <a class="nav" href="moveclients.xsl">Move Listeners</a>
<a class="nav" href="/status.xsl">Index</a> <a class="nav" href="/status.xsl">Index</a>
</td></tr> </td></tr>
</table> </table>
<div class="roundbottom"> <div class="roundbottom">
<img src="/corner_bottomleft.jpg" class="corner" style="display: none" /> <img src="/corner_bottomleft.jpg" class="corner" style="display: none" />
</div> </div>
</div> </div>
<br /> <br />
<br /> <br />
<!--end header menu --> <!--end header menu -->
<!--global server stats--> <!--global server stats-->
<div class="roundcont"> <div class="roundcont">
<div class="roundtop"> <div class="roundtop">
<img src="/corner_topleft.jpg" class="corner" style="display: none" /> <img src="/corner_topleft.jpg" class="corner" style="display: none" />
</div> </div>
<div class="newscontent"> <div class="newscontent">
<h3>Global Server Stats</h3> <h3>Global Server Stats</h3>
<table border="0" cellpadding="4"> <table border="0" cellpadding="4">
<xsl:for-each select="/icestats"> <xsl:for-each select="/icestats">
<xsl:for-each select="*"> <xsl:for-each select="*">
<xsl:if test = "name()!='source'"> <xsl:if test = "name()!='source'">
<tr> <tr>
<td width="130"><xsl:value-of select="name()" /></td> <td width="130"><xsl:value-of select="name()" /></td>
<td class="streamdata"><xsl:value-of select="." /></td> <td class="streamdata"><xsl:value-of select="." /></td>
</tr> </tr>
</xsl:if> </xsl:if>
</xsl:for-each> </xsl:for-each>
</xsl:for-each> </xsl:for-each>
</table> </table>
</div> </div>
<div class="roundbottom"> <div class="roundbottom">
<img src="/corner_bottomleft.jpg" class="corner" style="display: none" /> <img src="/corner_bottomleft.jpg" class="corner" style="display: none" />
</div> </div>
</div> </div>
<br /> <br />
<br /> <br />
<!--end global server stats--> <!--end global server stats-->
<!--mount point stats--> <!--mount point stats-->
<xsl:for-each select="source"> <xsl:for-each select="source">
<xsl:if test = "listeners!=''"> <xsl:if test = "listeners!=''">
<div class="roundcont"> <div class="roundcont">
<div class="roundtop"> <div class="roundtop">
<img src="/corner_topleft.jpg" class="corner" style="display: none" /> <img src="/corner_topleft.jpg" class="corner" style="display: none" />
</div> </div>
<div class="newscontent"> <div class="newscontent">
<div class="streamheader"> <div class="streamheader">
<table cellspacing="0" cellpadding="0" > <table cellspacing="0" cellpadding="0" >
<colgroup align="left" /> <colgroup align="left" />
<colgroup align="right" width="300" /> <colgroup align="right" width="300" />
<tr> <tr>
<td><h3>Mount Point <xsl:value-of select="@mount" /></h3></td> <td><h3>Mount Point <xsl:value-of select="@mount" /></h3></td>
<xsl:choose> <xsl:choose>
<xsl:when test="authenticator"> <xsl:when test="authenticator">
<td align="right"><a class="auth" href="/auth.xsl">Login</a></td> <td align="right"><a class="auth" href="/auth.xsl">Login</a></td>
</xsl:when> </xsl:when>
<xsl:otherwise> <xsl:otherwise>
<td align="right"> <td align="right">
<a href="{@mount}.m3u">M3U</a> <a href="{@mount}.m3u">M3U</a>
<a href="{@mount}.xspf">XSPF</a></td> <a href="{@mount}.xspf">XSPF</a></td>
</xsl:otherwise> </xsl:otherwise>
</xsl:choose> </xsl:choose>
</tr></table> </tr></table>
</div> </div>
<table border="0" cellpadding="1" cellspacing="5" bgcolor="444444"> <table border="0" cellpadding="1" cellspacing="5" bgcolor="444444">
<tr> <tr>
<td align="center"> <td align="center">
<a class="nav2" href="listclients.xsl?mount={@mount}">List Clients</a> <a class="nav2" href="listclients.xsl?mount={@mount}">List Clients</a>
<a class="nav2" href="moveclients.xsl?mount={@mount}">Move MountPoints</a> <a class="nav2" href="moveclients.xsl?mount={@mount}">Move MountPoints</a>
<a class="nav2" href="updatemetadata.xsl?mount={@mount}">Update Metadata</a> <a class="nav2" href="updatemetadata.xsl?mount={@mount}">Update Metadata</a>
<a class="nav2" href="killsource.xsl?mount={@mount}">Kill Source</a> <a class="nav2" href="killsource.xsl?mount={@mount}">Kill Source</a>
<xsl:if test="authenticator"><a class="nav2" href="manageauth.xsl?mount={@mount}">Manage Authentication</a></xsl:if> <xsl:if test="authenticator"><a class="nav2" href="manageauth.xsl?mount={@mount}">Manage Authentication</a></xsl:if>
</td></tr> </td></tr>
</table> </table>
<br /> <br />
<table cellpadding="5" cellspacing="0" border="0"> <table cellpadding="5" cellspacing="0" border="0">
<xsl:for-each select="*"> <xsl:for-each select="*">
<tr> <tr>
<td width="130"><xsl:value-of select="name()" /></td> <td width="130"><xsl:value-of select="name()" /></td>
<td class="streamdata"><xsl:value-of select="." /></td> <td class="streamdata"><xsl:value-of select="." /></td>
</tr> </tr>
</xsl:for-each> </xsl:for-each>
</table> </table>
</div> </div>
<div class="roundbottom"> <div class="roundbottom">
<img src="/corner_bottomleft.jpg" class="corner" style="display: none" /> <img src="/corner_bottomleft.jpg" class="corner" style="display: none" />
</div> </div>
</div> </div>
<br /> <br />
<br /> <br />
</xsl:if> </xsl:if>
</xsl:for-each> </xsl:for-each>
<xsl:text disable-output-escaping="yes">&amp;</xsl:text>nbsp; <xsl:text disable-output-escaping="yes">&amp;</xsl:text>nbsp;
<!--end mount point stats--> <!--end mount point stats-->
<div class="poster">Support icecast development at <a class="nav" href="http://www.icecast.org">www.icecast.org</a></div> <div class="poster">Support icecast development at <a class="nav" href="http://www.icecast.org">www.icecast.org</a></div>
</body> </body>
</html> </html>
</xsl:template> </xsl:template>
</xsl:stylesheet> </xsl:stylesheet>

View File

@@ -1,67 +1,67 @@
<xsl:stylesheet xmlns:xsl = "http://www.w3.org/1999/XSL/Transform" version = "1.0" > <xsl:stylesheet xmlns:xsl = "http://www.w3.org/1999/XSL/Transform" version = "1.0" >
<xsl:output omit-xml-declaration="no" method="html" doctype-public="-//W3C//DTD XHTML 1.0 Strict//EN" doctype-system="http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd" indent="yes" encoding="UTF-8" /> <xsl:output omit-xml-declaration="no" method="html" doctype-public="-//W3C//DTD XHTML 1.0 Strict//EN" doctype-system="http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd" indent="yes" encoding="UTF-8" />
<xsl:template match = "/icestats" > <xsl:template match = "/icestats" >
<html> <html>
<head> <head>
<title>Icecast Streaming Media Server</title> <title>Icecast Streaming Media Server</title>
<link rel="stylesheet" type="text/css" href="/style.css" /> <link rel="stylesheet" type="text/css" href="/style.css" />
</head> </head>
<body topmargin="0" leftmargin="0" rightmargin="0" bottommargin="0"> <body topmargin="0" leftmargin="0" rightmargin="0" bottommargin="0">
<h2>Icecast2 Admin</h2> <h2>Icecast2 Admin</h2>
<br /> <br />
<div class="roundcont"> <div class="roundcont">
<div class="roundtop"> <div class="roundtop">
<img src="/corner_topleft.jpg" class="corner" style="display: none" /> <img src="/corner_topleft.jpg" class="corner" style="display: none" />
</div> </div>
<table border="0" cellpadding="1" cellspacing="3"> <table border="0" cellpadding="1" cellspacing="3">
<tr> <tr>
<td align="center"> <td align="center">
<a class="nav" href="stats.xsl">Admin Home</a> <a class="nav" href="stats.xsl">Admin Home</a>
<a class="nav" href="listmounts.xsl">List Mountpoints</a> <a class="nav" href="listmounts.xsl">List Mountpoints</a>
<a class="nav" href="moveclients.xsl">Move Listeners</a> <a class="nav" href="moveclients.xsl">Move Listeners</a>
<a class="nav" href="/status.xsl">Index</a> <a class="nav" href="/status.xsl">Index</a>
</td></tr> </td></tr>
</table> </table>
<div class="roundbottom"> <div class="roundbottom">
<img src="/corner_bottomleft.jpg" class="corner" style="display: none" /> <img src="/corner_bottomleft.jpg" class="corner" style="display: none" />
</div> </div>
</div> </div>
<br /> <br />
<br /> <br />
<h1>Update Metadata</h1> <h1>Update Metadata</h1>
<div class="roundcont"> <div class="roundcont">
<div class="roundtop"> <div class="roundtop">
<img src="/corner_topleft.jpg" class="corner" style="display: none" /> <img src="/corner_topleft.jpg" class="corner" style="display: none" />
</div> </div>
<div class="newscontent"> <div class="newscontent">
<xsl:for-each select="source"> <xsl:for-each select="source">
<h3> <h3>
<xsl:if test="server_name"><xsl:value-of select="server_name" /> </xsl:if> <xsl:if test="server_name"><xsl:value-of select="server_name" /> </xsl:if>
(<xsl:value-of select="@mount" />)</h3> (<xsl:value-of select="@mount" />)</h3>
<form method="GET" action="/admin/metadata.xsl"> <form method="GET" action="/admin/metadata.xsl">
<table border="0" cellpadding="4"> <table border="0" cellpadding="4">
<tr><td>Metadata : <input type="text" name="song"/></td></tr> <tr><td>Metadata : <input type="text" name="song"/></td></tr>
<tr><td><input type="Submit" value="Update"/></td></tr> <tr><td><input type="Submit" value="Update"/></td></tr>
</table> </table>
<input type="hidden" name="mount" value="{@mount}"/> <input type="hidden" name="mount" value="{@mount}"/>
<input type="hidden" name="mode" value="updinfo"/> <input type="hidden" name="mode" value="updinfo"/>
<input type="hidden" name="charset" value="UTF-8"/> <input type="hidden" name="charset" value="UTF-8"/>
</form> </form>
<br /> <br />
<br /> <br />
</xsl:for-each> </xsl:for-each>
<xsl:text disable-output-escaping="yes">&amp;</xsl:text>nbsp; <xsl:text disable-output-escaping="yes">&amp;</xsl:text>nbsp;
</div> </div>
<div class="roundbottom"> <div class="roundbottom">
<img src="/corner_bottomleft.jpg" class="corner" style="display: none" /> <img src="/corner_bottomleft.jpg" class="corner" style="display: none" />
</div> </div>
</div> </div>
<div class="poster">Support icecast development at <a class="nav" href="http://www.icecast.org">www.icecast.org</a></div> <div class="poster">Support icecast development at <a class="nav" href="http://www.icecast.org">www.icecast.org</a></div>
</body> </body>
</html> </html>
</xsl:template> </xsl:template>
</xsl:stylesheet> </xsl:stylesheet>

View File

@@ -1,174 +1,174 @@
<icecast> <icecast>
<limits> <limits>
<clients>1000</clients> <clients>1000</clients>
<sources>42</sources> <sources>42</sources>
<threadpool>5</threadpool> <threadpool>5</threadpool>
<queue-size>524288</queue-size> <queue-size>524288</queue-size>
<client-timeout>30</client-timeout> <client-timeout>30</client-timeout>
<header-timeout>15</header-timeout> <header-timeout>15</header-timeout>
<source-timeout>10</source-timeout> <source-timeout>10</source-timeout>
<!-- If enabled, this will provide a burst of data when a client <!-- If enabled, this will provide a burst of data when a client
first connects, thereby significantly reducing the startup first connects, thereby significantly reducing the startup
time for listeners that do substantial buffering. However, time for listeners that do substantial buffering. However,
it also significantly increases latency between the source it also significantly increases latency between the source
client and listening client. For low-latency setups, you client and listening client. For low-latency setups, you
might want to disable this. --> might want to disable this. -->
<burst-on-connect>1</burst-on-connect> <burst-on-connect>1</burst-on-connect>
<!-- same as burst-on-connect, but this allows for being more <!-- same as burst-on-connect, but this allows for being more
specific on how much to burst. Most people won't need to specific on how much to burst. Most people won't need to
change from the default 64k. Applies to all mountpoints --> change from the default 64k. Applies to all mountpoints -->
<burst-size>65535</burst-size> <burst-size>65535</burst-size>
</limits> </limits>
<authentication> <authentication>
<!-- Sources log in with username 'source' --> <!-- Sources log in with username 'source' -->
<source-password>hackme</source-password> <source-password>hackme</source-password>
<!-- Relays log in username 'relay' --> <!-- Relays log in username 'relay' -->
<relay-password>hackme</relay-password> <relay-password>hackme</relay-password>
<!-- Admin logs in with the username given below --> <!-- Admin logs in with the username given below -->
<admin-user>admin</admin-user> <admin-user>admin</admin-user>
<admin-password>hackme</admin-password> <admin-password>hackme</admin-password>
</authentication> </authentication>
<!-- set the mountpoint for a shoutcast source to use, the default if not <!-- set the mountpoint for a shoutcast source to use, the default if not
specified is /stream but you can change it here if an alternative is specified is /stream but you can change it here if an alternative is
wanted or an extension is required wanted or an extension is required
<shoutcast-mount>/live.nsv</shoutcast-mount> <shoutcast-mount>/live.nsv</shoutcast-mount>
--> -->
<!-- Uncomment this if you want directory listings --> <!-- Uncomment this if you want directory listings -->
<!-- <!--
<directory> <directory>
<yp-url-timeout>15</yp-url-timeout> <yp-url-timeout>15</yp-url-timeout>
<yp-url>http://dir.xiph.org/cgi-bin/yp-cgi</yp-url> <yp-url>http://dir.xiph.org/cgi-bin/yp-cgi</yp-url>
</directory> </directory>
--> -->
<!-- This is the hostname other people will use to connect to your server. <!-- This is the hostname other people will use to connect to your server.
It affects mainly the urls generated by Icecast for playlists and yp It affects mainly the urls generated by Icecast for playlists and yp
listings. --> listings. -->
<hostname>localhost</hostname> <hostname>localhost</hostname>
<!-- You may have multiple <listener> elements --> <!-- You may have multiple <listener> elements -->
<listen-socket> <listen-socket>
<port>8000</port> <port>8000</port>
<!-- <bind-address>127.0.0.1</bind-address> --> <!-- <bind-address>127.0.0.1</bind-address> -->
<!-- <shoutcast-mount>/stream</shoutcast-mount> --> <!-- <shoutcast-mount>/stream</shoutcast-mount> -->
</listen-socket> </listen-socket>
<!-- <!--
<listen-socket> <listen-socket>
<port>8001</port> <port>8001</port>
</listen-socket> </listen-socket>
--> -->
<!--<master-server>127.0.0.1</master-server>--> <!--<master-server>127.0.0.1</master-server>-->
<!--<master-server-port>8001</master-server-port>--> <!--<master-server-port>8001</master-server-port>-->
<!--<master-update-interval>120</master-update-interval>--> <!--<master-update-interval>120</master-update-interval>-->
<!--<master-password>hackme</master-password>--> <!--<master-password>hackme</master-password>-->
<!-- setting this makes all relays on-demand unless overridden, this is <!-- setting this makes all relays on-demand unless overridden, this is
useful for master relays which do not have <relay> definitions here. useful for master relays which do not have <relay> definitions here.
The default is 0 --> The default is 0 -->
<!--<relays-on-demand>1</relays-on-demand>--> <!--<relays-on-demand>1</relays-on-demand>-->
<!-- <!--
<relay> <relay>
<server>127.0.0.1</server> <server>127.0.0.1</server>
<port>8001</port> <port>8001</port>
<mount>/example.ogg</mount> <mount>/example.ogg</mount>
<local-mount>/different.ogg</local-mount> <local-mount>/different.ogg</local-mount>
<on-demand>0</on-demand> <on-demand>0</on-demand>
<relay-shoutcast-metadata>0</relay-shoutcast-metadata> <relay-shoutcast-metadata>0</relay-shoutcast-metadata>
</relay> </relay>
--> -->
<!-- Only define a <mount> section if you want to use advanced options, <!-- Only define a <mount> section if you want to use advanced options,
like alternative usernames or passwords like alternative usernames or passwords
<mount> <mount>
<mount-name>/example-complex.ogg</mount-name> <mount-name>/example-complex.ogg</mount-name>
<username>othersource</username> <username>othersource</username>
<password>hackmemore</password> <password>hackmemore</password>
<max-listeners>1</max-listeners> <max-listeners>1</max-listeners>
<dump-file>/tmp/dump-example1.ogg</dump-file> <dump-file>/tmp/dump-example1.ogg</dump-file>
<burst-size>65536</burst-size> <burst-size>65536</burst-size>
<fallback-mount>/example2.ogg</fallback-mount> <fallback-mount>/example2.ogg</fallback-mount>
<fallback-override>1</fallback-override> <fallback-override>1</fallback-override>
<fallback-when-full>1</fallback-when-full> <fallback-when-full>1</fallback-when-full>
<intro>/example_intro.ogg</intro> <intro>/example_intro.ogg</intro>
<hidden>1</hidden> <hidden>1</hidden>
<no-yp>1</no-yp> <no-yp>1</no-yp>
<authentication type="htpasswd"> <authentication type="htpasswd">
<option name="filename" value="myauth"/> <option name="filename" value="myauth"/>
<option name="allow_duplicate_users" value="0"/> <option name="allow_duplicate_users" value="0"/>
</authentication> </authentication>
<on-connect>/home/icecast/bin/stream-start</on-connect> <on-connect>/home/icecast/bin/stream-start</on-connect>
<on-disconnect>/home/icecast/bin/stream-stop</on-disconnect> <on-disconnect>/home/icecast/bin/stream-stop</on-disconnect>
</mount> </mount>
<mount> <mount>
<mount-name>/auth_example.ogg</mount-name> <mount-name>/auth_example.ogg</mount-name>
<authentication type="url"> <authentication type="url">
<option name="mount_add" value="http://myauthserver.net/notify_mount.php"/> <option name="mount_add" value="http://myauthserver.net/notify_mount.php"/>
<option name="mount_remove" value="http://myauthserver.net/notify_mount.php"/> <option name="mount_remove" value="http://myauthserver.net/notify_mount.php"/>
<option name="listener_add" value="http://myauthserver.net/notify_listener.php"/> <option name="listener_add" value="http://myauthserver.net/notify_listener.php"/>
<option name="listener_remove" value="http://myauthserver.net/notify_listener.php"/> <option name="listener_remove" value="http://myauthserver.net/notify_listener.php"/>
</authentication> </authentication>
</mount> </mount>
--> -->
<fileserve>1</fileserve> <fileserve>1</fileserve>
<paths> <paths>
<!-- basedir is only used if chroot is enabled --> <!-- basedir is only used if chroot is enabled -->
<basedir>/usr/share/icecast2</basedir> <basedir>/usr/share/icecast2</basedir>
<!-- Note that if <chroot> is turned on below, these paths must both <!-- Note that if <chroot> is turned on below, these paths must both
be relative to the new root, not the original root --> be relative to the new root, not the original root -->
<logdir>/var/log/icecast2</logdir> <logdir>/var/log/icecast2</logdir>
<webroot>/usr/share/icecast2/web</webroot> <webroot>/usr/share/icecast2/web</webroot>
<adminroot>/usr/share/icecast2/admin</adminroot> <adminroot>/usr/share/icecast2/admin</adminroot>
<!-- <pidfile>/usr/share/icecast2/icecast.pid</pidfile> --> <!-- <pidfile>/usr/share/icecast2/icecast.pid</pidfile> -->
<!-- Aliases: treat requests for 'source' path as being for 'dest' path <!-- Aliases: treat requests for 'source' path as being for 'dest' path
May be made specific to a port or bound address using the "port" May be made specific to a port or bound address using the "port"
and "bind-address" attributes. and "bind-address" attributes.
--> -->
<!-- <!--
<alias source="/foo" dest="/bar"/> <alias source="/foo" dest="/bar"/>
--> -->
<!-- Aliases: can also be used for simple redirections as well, <!-- Aliases: can also be used for simple redirections as well,
this example will redirect all requests for http://server:port/ to this example will redirect all requests for http://server:port/ to
the status page the status page
--> -->
<alias source="/" dest="/status.xsl"/> <alias source="/" dest="/status.xsl"/>
</paths> </paths>
<logging> <logging>
<accesslog>access.log</accesslog> <accesslog>access.log</accesslog>
<errorlog>error.log</errorlog> <errorlog>error.log</errorlog>
<!-- <playlistlog>playlist.log</playlistlog> --> <!-- <playlistlog>playlist.log</playlistlog> -->
<loglevel>3</loglevel> <!-- 4 Debug, 3 Info, 2 Warn, 1 Error --> <loglevel>3</loglevel> <!-- 4 Debug, 3 Info, 2 Warn, 1 Error -->
<logsize>10000</logsize> <!-- Max size of a logfile --> <logsize>10000</logsize> <!-- Max size of a logfile -->
<!-- If logarchive is enabled (1), then when logsize is reached <!-- If logarchive is enabled (1), then when logsize is reached
the logfile will be moved to [error|access|playlist].log.DATESTAMP, the logfile will be moved to [error|access|playlist].log.DATESTAMP,
otherwise it will be moved to [error|access|playlist].log.old. otherwise it will be moved to [error|access|playlist].log.old.
Default is non-archive mode (i.e. overwrite) Default is non-archive mode (i.e. overwrite)
--> -->
<!-- <logarchive>1</logarchive> --> <!-- <logarchive>1</logarchive> -->
</logging> </logging>
<security> <security>
<chroot>0</chroot> <chroot>0</chroot>
<!-- <!--
<changeowner> <changeowner>
<user>nobody</user> <user>nobody</user>
<group>nogroup</group> <group>nogroup</group>
</changeowner> </changeowner>
--> -->
</security> </security>
</icecast> </icecast>

View File

@@ -1,57 +1,57 @@
<xsl:stylesheet xmlns:xsl = "http://www.w3.org/1999/XSL/Transform" version = "1.0" > <xsl:stylesheet xmlns:xsl = "http://www.w3.org/1999/XSL/Transform" version = "1.0" >
<xsl:output omit-xml-declaration="no" method="html" doctype-public="-//W3C//DTD XHTML 1.0 Strict//EN" doctype-system="http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd" indent="yes" encoding="UTF-8" /> <xsl:output omit-xml-declaration="no" method="html" doctype-public="-//W3C//DTD XHTML 1.0 Strict//EN" doctype-system="http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd" indent="yes" encoding="UTF-8" />
<xsl:template match = "/icestats" > <xsl:template match = "/icestats" >
<html> <html>
<head> <head>
<title>Icecast Streaming Media Server</title> <title>Icecast Streaming Media Server</title>
<link rel="stylesheet" type="text/css" href="style.css" /> <link rel="stylesheet" type="text/css" href="style.css" />
</head> </head>
<body topmargin="0" leftmargin="0" rightmargin="0" bottommargin="0"> <body topmargin="0" leftmargin="0" rightmargin="0" bottommargin="0">
<table border="0" width="100%%"> <table border="0" width="100%%">
<tr> <tr>
<td width="50"></td> <td width="50"></td>
<td> <td>
<h2>Authorization Page</h2> <h2>Authorization Page</h2>
<div class="roundcont"> <div class="roundcont">
<div class="roundtop"> <div class="roundtop">
<img src="/corner_topleft.jpg" class="corner" style="display: none" /> <img src="/corner_topleft.jpg" class="corner" style="display: none" />
</div> </div>
<div class="newscontent"> <div class="newscontent">
<xsl:for-each select="source"> <xsl:for-each select="source">
<xsl:choose> <xsl:choose>
<xsl:when test="listeners"> <xsl:when test="listeners">
<xsl:if test="authenticator"> <xsl:if test="authenticator">
<xsl:if test="server_name"><xsl:value-of select="server_name" /> </xsl:if> <xsl:if test="server_name"><xsl:value-of select="server_name" /> </xsl:if>
<h3>(<xsl:value-of select="@mount" />)</h3> <h3>(<xsl:value-of select="@mount" />)</h3>
<form method="GET" action="/admin/buildm3u"> <form method="GET" action="/admin/buildm3u">
<table border="0" cellpadding="4"> <table border="0" cellpadding="4">
<tr><td>Username : <input type="text" name="username"/></td></tr> <tr><td>Username : <input type="text" name="username"/></td></tr>
<tr><td>Password : <input type="password" name="password"/></td></tr> <tr><td>Password : <input type="password" name="password"/></td></tr>
<tr><td><input type="Submit" value="Login"/></td></tr> <tr><td><input type="Submit" value="Login"/></td></tr>
</table> </table>
<input type="hidden" name="mount" value="{@mount}"/> <input type="hidden" name="mount" value="{@mount}"/>
</form> </form>
</xsl:if> </xsl:if>
</xsl:when> </xsl:when>
<xsl:otherwise> <xsl:otherwise>
<h3><xsl:value-of select="@mount" /> - Not Connected</h3> <h3><xsl:value-of select="@mount" /> - Not Connected</h3>
</xsl:otherwise> </xsl:otherwise>
</xsl:choose> </xsl:choose>
<br></br> <br></br>
<br></br> <br></br>
</xsl:for-each> </xsl:for-each>
<xsl:text disable-output-escaping="yes">&amp;</xsl:text>nbsp; <xsl:text disable-output-escaping="yes">&amp;</xsl:text>nbsp;
</div> </div>
<div class="roundbottom"> <div class="roundbottom">
<img src="/corner_bottomleft.jpg" class="corner" style="display: none" /> <img src="/corner_bottomleft.jpg" class="corner" style="display: none" />
</div> </div>
</div> </div>
<br></br><br></br> <br></br><br></br>
</td> </td>
<td width="25"></td></tr> <td width="25"></td></tr>
</table> </table>
<div class="poster">Support icecast development at <a class="nav" target="_blank" href="http://www.icecast.org">www.icecast.org</a></div> <div class="poster">Support icecast development at <a class="nav" target="_blank" href="http://www.icecast.org">www.icecast.org</a></div>
</body> </body>
</html> </html>
</xsl:template> </xsl:template>
</xsl:stylesheet> </xsl:stylesheet>

View File

@@ -1,91 +1,91 @@
<xsl:stylesheet xmlns:xsl = "http://www.w3.org/1999/XSL/Transform" version = "1.0" > <xsl:stylesheet xmlns:xsl = "http://www.w3.org/1999/XSL/Transform" version = "1.0" >
<xsl:output omit-xml-declaration="no" method="html" doctype-public="-//W3C//DTD XHTML 1.0 Strict//EN" doctype-system="http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd" indent="yes" encoding="UTF-8" /> <xsl:output omit-xml-declaration="no" method="html" doctype-public="-//W3C//DTD XHTML 1.0 Strict//EN" doctype-system="http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd" indent="yes" encoding="UTF-8" />
<xsl:template match = "/icestats" > <xsl:template match = "/icestats" >
<html> <html>
<head> <head>
<title>Icecast Streaming Media Server</title> <title>Icecast Streaming Media Server</title>
<link rel="stylesheet" type="text/css" href="style.css" /> <link rel="stylesheet" type="text/css" href="style.css" />
</head> </head>
<body topmargin="0" leftmargin="0" rightmargin="0" bottommargin="0"> <body topmargin="0" leftmargin="0" rightmargin="0" bottommargin="0">
<h2>Server Information</h2> <h2>Server Information</h2>
<br /> <br />
<!--index header menu --> <!--index header menu -->
<div class="roundcont"> <div class="roundcont">
<div class="roundtop"> <div class="roundtop">
<img src="/corner_topleft.jpg" class="corner" style="display: none" /> <img src="/corner_topleft.jpg" class="corner" style="display: none" />
</div> </div>
<table border="0" width="100%" id="table1" cellspacing="0" cellpadding="4"> <table border="0" width="100%" id="table1" cellspacing="0" cellpadding="4">
<tr> <tr>
<td bgcolor="#656565"> <td bgcolor="#656565">
<a class="nav" href="admin/">Administration</a> <a class="nav" href="admin/">Administration</a>
<a class="nav" href="status.xsl">Server Status</a> <a class="nav" href="status.xsl">Server Status</a>
<a class="nav" href="server_version.xsl">Version</a></td> <a class="nav" href="server_version.xsl">Version</a></td>
</tr> </tr>
</table> </table>
<div class="roundbottom"> <div class="roundbottom">
<img src="/corner_bottomleft.jpg" class="corner" style="display: none" /> <img src="/corner_bottomleft.jpg" class="corner" style="display: none" />
</div> </div>
</div> </div>
<br /> <br />
<br /> <br />
<!--end index header menu --> <!--end index header menu -->
<div class="roundcont"> <div class="roundcont">
<div class="roundtop"> <div class="roundtop">
<img src="/corner_topleft.jpg" class="corner" style="display: none" /> <img src="/corner_topleft.jpg" class="corner" style="display: none" />
</div> </div>
<div class="newscontent"> <div class="newscontent">
<h3>Server Information</h3> <h3>Server Information</h3>
<table border="0" cellpadding="4"> <table border="0" cellpadding="4">
<xsl:for-each select="/icestats"> <xsl:for-each select="/icestats">
<tr> <tr>
<td width="130">Location</td> <td width="130">Location</td>
<td class="streamdata"><xsl:value-of select="location" /></td> <td class="streamdata"><xsl:value-of select="location" /></td>
</tr> </tr>
<tr> <tr>
<td width="130">Admin</td> <td width="130">Admin</td>
<td class="streamdata"><xsl:value-of select="admin" /></td> <td class="streamdata"><xsl:value-of select="admin" /></td>
</tr> </tr>
<tr> <tr>
<td width="130">Host</td> <td width="130">Host</td>
<td class="streamdata"><xsl:value-of select="host" /></td> <td class="streamdata"><xsl:value-of select="host" /></td>
</tr> </tr>
<tr> <tr>
<td width="130">Version</td> <td width="130">Version</td>
<td class="streamdata"><xsl:value-of select="server_id" /></td> <td class="streamdata"><xsl:value-of select="server_id" /></td>
</tr> </tr>
</xsl:for-each> </xsl:for-each>
<tr> <tr>
<td width="130">Download</td> <td width="130">Download</td>
<td class="streamdata"><a class="nav" target="_blank" href="http://icecast.org/download.php">icecast.org</a></td> <td class="streamdata"><a class="nav" target="_blank" href="http://icecast.org/download.php">icecast.org</a></td>
</tr> </tr>
<tr> <tr>
<td width="130">Subversion</td> <td width="130">Subversion</td>
<td class="streamdata"><a class="nav" target="_blank" href="http://icecast.org/svn.php">click here</a></td> <td class="streamdata"><a class="nav" target="_blank" href="http://icecast.org/svn.php">click here</a></td>
</tr> </tr>
<tr> <tr>
<td width="130">Documentation</td> <td width="130">Documentation</td>
<td class="streamdata"><a class="nav" target="_blank" href="http://icecast.org/docs.php">click here</a></td> <td class="streamdata"><a class="nav" target="_blank" href="http://icecast.org/docs.php">click here</a></td>
</tr> </tr>
<tr> <tr>
<td width="130">Stream Directory </td> <td width="130">Stream Directory </td>
<td class="streamdata"><a class="nav" target="_blank" href="http://dir.xiph.org/index.php">dir.xiph.org</a></td> <td class="streamdata"><a class="nav" target="_blank" href="http://dir.xiph.org/index.php">dir.xiph.org</a></td>
</tr> </tr>
<tr> <tr>
<td width="130">Community</td> <td width="130">Community</td>
<td class="streamdata"><a class="nav" target="_blank" href="http://forum.icecast.org/">forum.icecast.org</a></td> <td class="streamdata"><a class="nav" target="_blank" href="http://forum.icecast.org/">forum.icecast.org</a></td>
</tr> </tr>
</table> </table>
</div> </div>
<div class="roundbottom"> <div class="roundbottom">
<img src="/corner_bottomleft.jpg" class="corner" style="display: none" /> <img src="/corner_bottomleft.jpg" class="corner" style="display: none" />
</div> </div>
</div> </div>
<br /> <br />
<br /> <br />
<div class="poster">Support icecast development at <a class="nav" target="_blank" href="http://www.icecast.org">www.icecast.org</a></div> <div class="poster">Support icecast development at <a class="nav" target="_blank" href="http://www.icecast.org">www.icecast.org</a></div>
</body> </body>
</html> </html>
</xsl:template> </xsl:template>
</xsl:stylesheet> </xsl:stylesheet>

View File

@@ -1,122 +1,122 @@
<xsl:stylesheet xmlns:xsl = "http://www.w3.org/1999/XSL/Transform" version = "1.0" > <xsl:stylesheet xmlns:xsl = "http://www.w3.org/1999/XSL/Transform" version = "1.0" >
<xsl:output omit-xml-declaration="no" method="html" doctype-public="-//W3C//DTD XHTML 1.0 Strict//EN" doctype-system="http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd" indent="yes" encoding="UTF-8" /> <xsl:output omit-xml-declaration="no" method="html" doctype-public="-//W3C//DTD XHTML 1.0 Strict//EN" doctype-system="http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd" indent="yes" encoding="UTF-8" />
<xsl:template match = "/icestats" > <xsl:template match = "/icestats" >
<html> <html>
<head> <head>
<title>Icecast Streaming Media Server</title> <title>Icecast Streaming Media Server</title>
<link rel="stylesheet" type="text/css" href="style.css" /> <link rel="stylesheet" type="text/css" href="style.css" />
</head> </head>
<body topmargin="0" leftmargin="0" rightmargin="0" bottommargin="0"> <body topmargin="0" leftmargin="0" rightmargin="0" bottommargin="0">
<h2>Icecast2 Status</h2> <h2>Icecast2 Status</h2>
<br /> <br />
<!--index header menu --> <!--index header menu -->
<div class="roundcont"> <div class="roundcont">
<div class="roundtop"> <div class="roundtop">
<img src="/corner_topleft.jpg" class="corner" style="display: none" /> <img src="/corner_topleft.jpg" class="corner" style="display: none" />
</div> </div>
<table border="0" width="100%" id="table1" cellspacing="0" cellpadding="4"> <table border="0" width="100%" id="table1" cellspacing="0" cellpadding="4">
<tr> <tr>
<td bgcolor="#656565"> <td bgcolor="#656565">
<a class="nav" href="admin/">Administration</a> <a class="nav" href="admin/">Administration</a>
<a class="nav" href="status.xsl">Server Status</a> <a class="nav" href="status.xsl">Server Status</a>
<a class="nav" href="server_version.xsl">Version</a></td> <a class="nav" href="server_version.xsl">Version</a></td>
</tr> </tr>
</table> </table>
<div class="roundbottom"> <div class="roundbottom">
<img src="/corner_bottomleft.jpg" class="corner" style="display: none" /> <img src="/corner_bottomleft.jpg" class="corner" style="display: none" />
</div> </div>
</div> </div>
<br /> <br />
<br /> <br />
<!--end index header menu --> <!--end index header menu -->
<!--mount point stats--> <!--mount point stats-->
<xsl:for-each select="source"> <xsl:for-each select="source">
<xsl:choose> <xsl:choose>
<xsl:when test="listeners"> <xsl:when test="listeners">
<div class="roundcont"> <div class="roundcont">
<div class="roundtop"> <div class="roundtop">
<img src="/corner_topleft.jpg" class="corner" style="display: none" /> <img src="/corner_topleft.jpg" class="corner" style="display: none" />
</div> </div>
<div class="newscontent"> <div class="newscontent">
<div class="streamheader"> <div class="streamheader">
<table cellspacing="0" cellpadding="0"> <table cellspacing="0" cellpadding="0">
<colgroup align="left" /> <colgroup align="left" />
<colgroup align="right" width="300" /> <colgroup align="right" width="300" />
<tr> <tr>
<td><h3>Mount Point <xsl:value-of select="@mount" /></h3></td> <td><h3>Mount Point <xsl:value-of select="@mount" /></h3></td>
<xsl:choose> <xsl:choose>
<xsl:when test="authenticator"> <xsl:when test="authenticator">
<td align="right"><a class="auth" href="/auth.xsl">Login</a></td> <td align="right"><a class="auth" href="/auth.xsl">Login</a></td>
</xsl:when> </xsl:when>
<xsl:otherwise> <xsl:otherwise>
<td align="right"> <a href="{@mount}.m3u">M3U</a> <a href="{@mount}.xspf">XSPF</a></td> <td align="right"> <a href="{@mount}.m3u">M3U</a> <a href="{@mount}.xspf">XSPF</a></td>
</xsl:otherwise> </xsl:otherwise>
</xsl:choose> </xsl:choose>
</tr></table> </tr></table>
</div> </div>
<table border="0" cellpadding="4"> <table border="0" cellpadding="4">
<xsl:if test="server_name"> <xsl:if test="server_name">
<tr><td>Stream Title:</td><td class="streamdata"> <xsl:value-of select="server_name" /></td></tr> <tr><td>Stream Title:</td><td class="streamdata"> <xsl:value-of select="server_name" /></td></tr>
</xsl:if> </xsl:if>
<xsl:if test="server_description"> <xsl:if test="server_description">
<tr><td>Stream Description:</td><td class="streamdata"> <xsl:value-of select="server_description" /></td></tr> <tr><td>Stream Description:</td><td class="streamdata"> <xsl:value-of select="server_description" /></td></tr>
</xsl:if> </xsl:if>
<xsl:if test="server_type"> <xsl:if test="server_type">
<tr><td>Content Type:</td><td class="streamdata"><xsl:value-of select="server_type" /></td></tr> <tr><td>Content Type:</td><td class="streamdata"><xsl:value-of select="server_type" /></td></tr>
</xsl:if> </xsl:if>
<xsl:if test="stream_start"> <xsl:if test="stream_start">
<tr><td>Mount started:</td><td class="streamdata"><xsl:value-of select="stream_start" /></td></tr> <tr><td>Mount started:</td><td class="streamdata"><xsl:value-of select="stream_start" /></td></tr>
</xsl:if> </xsl:if>
<xsl:if test="bitrate"> <xsl:if test="bitrate">
<tr><td>Bitrate:</td><td class="streamdata"> <xsl:value-of select="bitrate" /></td></tr> <tr><td>Bitrate:</td><td class="streamdata"> <xsl:value-of select="bitrate" /></td></tr>
</xsl:if> </xsl:if>
<xsl:if test="quality"> <xsl:if test="quality">
<tr><td>Quality:</td><td class="streamdata"> <xsl:value-of select="quality" /></td></tr> <tr><td>Quality:</td><td class="streamdata"> <xsl:value-of select="quality" /></td></tr>
</xsl:if> </xsl:if>
<xsl:if test="video_quality"> <xsl:if test="video_quality">
<tr><td>Video Quality:</td><td class="streamdata"> <xsl:value-of select="video_quality" /></td></tr> <tr><td>Video Quality:</td><td class="streamdata"> <xsl:value-of select="video_quality" /></td></tr>
</xsl:if> </xsl:if>
<xsl:if test="frame_size"> <xsl:if test="frame_size">
<tr><td>Framesize:</td><td class="streamdata"> <xsl:value-of select="frame_size" /></td></tr> <tr><td>Framesize:</td><td class="streamdata"> <xsl:value-of select="frame_size" /></td></tr>
</xsl:if> </xsl:if>
<xsl:if test="frame_rate"> <xsl:if test="frame_rate">
<tr><td>Framerate:</td><td class="streamdata"> <xsl:value-of select="frame_rate" /></td></tr> <tr><td>Framerate:</td><td class="streamdata"> <xsl:value-of select="frame_rate" /></td></tr>
</xsl:if> </xsl:if>
<xsl:if test="listeners"> <xsl:if test="listeners">
<tr><td>Current Listeners:</td><td class="streamdata"> <xsl:value-of select="listeners" /></td></tr> <tr><td>Current Listeners:</td><td class="streamdata"> <xsl:value-of select="listeners" /></td></tr>
</xsl:if> </xsl:if>
<xsl:if test="listener_peak"> <xsl:if test="listener_peak">
<tr><td>Peak Listeners:</td><td class="streamdata"> <xsl:value-of select="listener_peak" /></td></tr> <tr><td>Peak Listeners:</td><td class="streamdata"> <xsl:value-of select="listener_peak" /></td></tr>
</xsl:if> </xsl:if>
<xsl:if test="genre"> <xsl:if test="genre">
<tr><td>Stream Genre:</td><td class="streamdata"> <xsl:value-of select="genre" /></td></tr> <tr><td>Stream Genre:</td><td class="streamdata"> <xsl:value-of select="genre" /></td></tr>
</xsl:if> </xsl:if>
<xsl:if test="server_url"> <xsl:if test="server_url">
<tr><td>Stream URL:</td><td class="streamdata"> <a target="_blank" href="{server_url}"><xsl:value-of select="server_url" /></a></td></tr> <tr><td>Stream URL:</td><td class="streamdata"> <a target="_blank" href="{server_url}"><xsl:value-of select="server_url" /></a></td></tr>
</xsl:if> </xsl:if>
<tr><td>Current Song:</td><td class="streamdata"> <tr><td>Current Song:</td><td class="streamdata">
<xsl:if test="artist"><xsl:value-of select="artist" /> - </xsl:if><xsl:value-of select="title" /></td></tr> <xsl:if test="artist"><xsl:value-of select="artist" /> - </xsl:if><xsl:value-of select="title" /></td></tr>
</table> </table>
</div> </div>
<div class="roundbottom"> <div class="roundbottom">
<img src="/corner_bottomleft.jpg" class="corner" style="display: none" /> <img src="/corner_bottomleft.jpg" class="corner" style="display: none" />
</div> </div>
</div> </div>
<br /> <br />
<br /> <br />
</xsl:when> </xsl:when>
<xsl:otherwise> <xsl:otherwise>
<h3><xsl:value-of select="@mount" /> - Not Connected</h3> <h3><xsl:value-of select="@mount" /> - Not Connected</h3>
</xsl:otherwise> </xsl:otherwise>
</xsl:choose> </xsl:choose>
</xsl:for-each> </xsl:for-each>
<xsl:text disable-output-escaping="yes">&amp;</xsl:text>nbsp; <xsl:text disable-output-escaping="yes">&amp;</xsl:text>nbsp;
<div class="poster">Support icecast development at <a class="nav" target="_blank" href="http://www.icecast.org">www.icecast.org</a></div> <div class="poster">Support icecast development at <a class="nav" target="_blank" href="http://www.icecast.org">www.icecast.org</a></div>
</body> </body>
</html> </html>
</xsl:template> </xsl:template>
</xsl:stylesheet> </xsl:stylesheet>

View File

@@ -1,12 +1,12 @@
<xsl:stylesheet xmlns:xsl = "http://www.w3.org/1999/XSL/Transform" version = "1.0" > <xsl:stylesheet xmlns:xsl = "http://www.w3.org/1999/XSL/Transform" version = "1.0" >
<xsl:output omit-xml-declaration="no" method="xml" doctype-public="-//W3C//DTD XHTML 1.0 Strict//EN" doctype-system="http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd" indent="yes" encoding="UTF-8" /> <xsl:output omit-xml-declaration="no" method="xml" doctype-public="-//W3C//DTD XHTML 1.0 Strict//EN" doctype-system="http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd" indent="yes" encoding="UTF-8" />
<xsl:template match = "/icestats" > <xsl:template match = "/icestats" >
<pre> <pre>
MountPoint,Connections,Stream Name,Current Listeners,Description,Currently Playing,Stream URL MountPoint,Connections,Stream Name,Current Listeners,Description,Currently Playing,Stream URL
Global,Client:<xsl:value-of select="connections" /> Source: <xsl:value-of select="source_connections" />,,<xsl:value-of select="listeners" />,, Global,Client:<xsl:value-of select="connections" /> Source: <xsl:value-of select="source_connections" />,,<xsl:value-of select="listeners" />,,
<xsl:for-each select="source"> <xsl:for-each select="source">
<xsl:value-of select="@mount" />,,<xsl:value-of select="name" />,<xsl:value-of select="listeners" />,<xsl:value-of select="description" />,<xsl:value-of select="artist" /> - <xsl:value-of select="title" />,<xsl:value-of select="url" /> <xsl:value-of select="@mount" />,,<xsl:value-of select="name" />,<xsl:value-of select="listeners" />,<xsl:value-of select="description" />,<xsl:value-of select="artist" /> - <xsl:value-of select="title" />,<xsl:value-of select="url" />
</xsl:for-each> </xsl:for-each>
</pre> </pre>
</xsl:template> </xsl:template>
</xsl:stylesheet> </xsl:stylesheet>

0
icecast/start.sh Normal file → Executable file
View File

0
postgres/scaffold_db.sh Normal file → Executable file
View File

0
rebuild.sh Normal file → Executable file
View File