<icecast>
+ <!-- location and admin are two arbitrary strings that are e.g. visible
+ on the server info page of the icecast web interface
+ (server_version.xsl). -->
+ <location>Earth</location>
+ <admin>icemaster@localhost</admin>
+
+ <!-- IMPORTANT!
+ Especially for inexperienced users:
+ Start out by ONLY changing all passwords and restarting Icecast.
+ For detailed setup instructions please refer to the documentation.
+ It's also available here: http://icecast.org/docs/
+ -->
+
<limits>
<clients>100</clients>
- <sources>20</sources>
- <threadpool>16</threadpool>
- <queue-size>524288</queue-size>
- <client-timeout>30</client-timeout>
- <header-timeout>15</header-timeout>
- <source-timeout>10</source-timeout>
+ <sources>50</sources>
+ <queue-size>4194304</queue-size>
+ <client-timeout>60</client-timeout>
+ <header-timeout>30</header-timeout>
+ <source-timeout>20</source-timeout>
<!-- If enabled, this will provide a burst of data when a client
first connects, thereby significantly reducing the startup
time for listeners that do substantial buffering. However,
<!-- same as burst-on-connect, but this allows for being more
specific on how much to burst. Most people won't need to
change from the default 64k. Applies to all mountpoints -->
- <burst-size>65536</burst-size>
+ <burst-size>1048576</burst-size>
</limits>
<authentication>
<!-- Sources log in with username 'source' -->
<source-password>source2parisson</source-password>
- <!-- Relays log in username 'relay' -->
- <relay-password>hackme</relay-password>
+ <!-- Relays log in with username 'relay' -->
+ <relay-password>relay2parisson</relay-password>
<!-- Admin logs in with the username given below -->
<admin-user>admin</admin-user>
- <admin-password>hackme</admin-password>
+ <admin-password>admin2parisson</admin-password>
</authentication>
<!-- set the mountpoint for a shoutcast source to use, the default if not
<yp-url-timeout>15</yp-url-timeout>
<yp-url>http://dir.xiph.org/cgi-bin/yp-cgi</yp-url>
</directory>
- -->
+ -->
<!-- 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
- listings. -->
- <hostname>127.0.0.1</hostname>
+ It affects mainly the urls generated by Icecast for playlists and yp
+ listings. You MUST configure it properly for YP listings to work!
+ -->
+ <hostname>localhost</hostname>
- <!-- You may have multiple <listener> elements -->
+ <!-- You may have multiple <listen-socket> elements -->
<listen-socket>
<port>8000</port>
<!-- <bind-address>127.0.0.1</bind-address> -->
</listen-socket>
<!--
<listen-socket>
- <port>8001</port>
+ <port>8080</port>
+ </listen-socket>
+ -->
+ <!--
+ <listen-socket>
+ <port>8443</port>
+ <ssl>1</ssl>
</listen-socket>
-->
+
+ <!-- Global header settings
+ Headers defined here will be returned for every HTTP request to Icecast.
+
+ The ACAO header makes Icecast public content/API by default
+ This will make streams easier embeddable (some HTML5 functionality needs it).
+ Also it allows direct access to e.g. /status-json.xsl from other sites.
+ If you don't want this, comment out the following line or read up on CORS.
+ -->
+ <http-headers>
+ <header name="Access-Control-Allow-Origin" value="*" />
+ </http-headers>
+
+
+ <!-- Relaying
+ You don't need this if you only have one server.
+ Please refer to the documentation for a detailed explanation.
+ -->
<!--<master-server>127.0.0.1</master-server>-->
<!--<master-server-port>8001</master-server-port>-->
<!--<master-update-interval>120</master-update-interval>-->
<!--
<relay>
<server>127.0.0.1</server>
- <port>8001</port>
+ <port>8080</port>
<mount>/example.ogg</mount>
<local-mount>/different.ogg</local-mount>
<on-demand>0</on-demand>
</relay>
-->
- <!-- Only define a <mount> section if you want to use advanced options,
+
+ <!-- Mountpoints
+ Only define <mount> sections if you want to use advanced options,
like alternative usernames or passwords
- <mount>
+ -->
+
+ <!-- Default settings for all mounts that don't have a specific <mount type="normal">.
+ -->
+ <!--
+ <mount type="default">
+ <public>0</public>
+ <intro>/server-wide-intro.ogg</intro>
+ <max-listener-duration>3600</max-listener-duration>
+ <authentication type="url">
+ <option name="mount_add" value="http://auth.example.org/stream_start.php"/>
+ </authentication>
+ <http-headers>
+ <header name="foo" value="bar" />
+ </http-headers>
+ </mount>
+ -->
+
+ <!-- Normal mounts -->
+ <!--
+ <mount type="normal">
<mount-name>/example-complex.ogg</mount-name>
<username>othersource</username>
<fallback-when-full>1</fallback-when-full>
<intro>/example_intro.ogg</intro>
<hidden>1</hidden>
- <no-yp>1</no-yp>
+ <public>1</public>
<authentication type="htpasswd">
<option name="filename" value="myauth"/>
<option name="allow_duplicate_users" value="0"/>
</authentication>
+ <http-headers>
+ <header name="Access-Control-Allow-Origin" value="http://webplayer.example.org" />
+ <header name="baz" value="quux" />
+ </http-headers>
<on-connect>/home/icecast/bin/stream-start</on-connect>
<on-disconnect>/home/icecast/bin/stream-stop</on-disconnect>
</mount>
+ -->
- <mount>
+ <!--
+ <mount type="normal">
<mount-name>/auth_example.ogg</mount-name>
<authentication type="url">
<option name="mount_add" 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_remove" value="http://myauthserver.net/notify_listener.php"/>
+ <option name="headers" value="x-pragma,x-token"/>
+ <option name="header_prefix" value="ClientHeader."/>
</authentication>
</mount>
-
-->
<fileserve>1</fileserve>
<paths>
- <!-- basedir is only used if chroot is enabled -->
+ <!-- basedir is only used if chroot is enabled -->
<basedir>/usr/share/icecast2</basedir>
<!-- Note that if <chroot> is turned on below, these paths must both
and "bind-address" attributes.
-->
<!--
- <alias source="/foo" dest="/bar"/>
- -->
+ <alias source="/foo" destination="/bar"/>
+ -->
<!-- Aliases: can also be used for simple redirections as well,
this example will redirect all requests for http://server:port/ to
the status page
- -->
- <alias source="/" dest="/status.xsl"/>
+ -->
+ <alias source="/" destination="/status.xsl"/>
+ <!-- The certificate file needs to contain both public and private part.
+ Both should be PEM encoded.
+ <ssl-certificate>/usr/share/icecast2/icecast.pem</ssl-certificate>
+ -->
</paths>
<logging>
<accesslog>access.log</accesslog>
<errorlog>error.log</errorlog>
<!-- <playlistlog>playlist.log</playlistlog> -->
- <loglevel>3</loglevel> <!-- 4 Debug, 3 Info, 2 Warn, 1 Error -->
- <logsize>10000</logsize> <!-- Max size of a logfile -->
+ <loglevel>3</loglevel> <!-- 4 Debug, 3 Info, 2 Warn, 1 Error -->
+ <logsize>10000</logsize> <!-- Max size of a logfile -->
<!-- If logarchive is enabled (1), then when logsize is reached
the logfile will be moved to [error|access|playlist].log.DATESTAMP,
otherwise it will be moved to [error|access|playlist].log.old.