diff options
author | root <root@krebs> | 2011-08-07 17:34:38 +0200 |
---|---|---|
committer | root <root@krebs> | 2011-08-07 17:34:38 +0200 |
commit | f39e274bede1cfb720a35555385679d9332baa3f (patch) | |
tree | a27250047093dbe4e031de5128d55f333b088dd2 | |
parent | 6095581a7580485fc0d3baaf86ee21433d6a292c (diff) |
icecrab/*: new module icecrab, icecast for krebs
Contains a makefile which installs icecast and configures it accordingly
-rw-r--r-- | icecrab/Makefile | 6 | ||||
-rw-r--r-- | icecrab/icecast.xml | 174 | ||||
-rw-r--r-- | icecrab/icecast2 | 19 |
3 files changed, 199 insertions, 0 deletions
diff --git a/icecrab/Makefile b/icecrab/Makefile new file mode 100644 index 00000000..36e91b76 --- /dev/null +++ b/icecrab/Makefile @@ -0,0 +1,6 @@ +.phony: debian + +debian: + [ -e /usr/bin/icecast2 ] || apt-get install --yes icecast2 + cp icecast2 /etc/default/icecast2 + cp icecast.xml /etc/icecast2/icecast.xml diff --git a/icecrab/icecast.xml b/icecrab/icecast.xml new file mode 100644 index 00000000..7776dc36 --- /dev/null +++ b/icecrab/icecast.xml @@ -0,0 +1,174 @@ +<icecast> + <limits> + <clients>100</clients> + <sources>2</sources> + <threadpool>5</threadpool> + <queue-size>524288</queue-size> + <client-timeout>30</client-timeout> + <header-timeout>15</header-timeout> + <source-timeout>10</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, + it also significantly increases latency between the source + client and listening client. For low-latency setups, you + might want to disable this. --> + <burst-on-connect>1</burst-on-connect> + <!-- 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>65535</burst-size> + </limits> + + <authentication> + <!-- Sources log in with username 'source' --> + <source-password>shackit</source-password> + <!-- Relays log in username 'relay' --> + <relay-password>shackit</relay-password> + + <!-- Admin logs in with the username given below --> + <admin-user>admin</admin-user> + <admin-password>aidsballs</admin-password> + </authentication> + + <!-- 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 + wanted or an extension is required + <shoutcast-mount>/live.nsv</shoutcast-mount> + --> + + <!-- Uncomment this if you want directory listings --> + <!-- + <directory> + <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>krebs.shack</hostname> + + <!-- You may have multiple <listener> elements --> + <listen-socket> + <port>8000</port> + <!-- <bind-address>127.0.0.1</bind-address> --> + <!-- <shoutcast-mount>/stream</shoutcast-mount> --> + </listen-socket> + <!-- + <listen-socket> + <port>8001</port> + </listen-socket> + --> + + <!--<master-server>127.0.0.1</master-server>--> + <!--<master-server-port>8001</master-server-port>--> + <!--<master-update-interval>120</master-update-interval>--> + <!--<master-password>hackme</master-password>--> + + <!-- setting this makes all relays on-demand unless overridden, this is + useful for master relays which do not have <relay> definitions here. + The default is 0 --> + <!--<relays-on-demand>1</relays-on-demand>--> + + <!-- + <relay> + <server>127.0.0.1</server> + <port>8001</port> + <mount>/example.ogg</mount> + <local-mount>/different.ogg</local-mount> + <on-demand>0</on-demand> + + <relay-shoutcast-metadata>0</relay-shoutcast-metadata> + </relay> + --> + + <!-- Only define a <mount> section if you want to use advanced options, + like alternative usernames or passwords + <mount> + <mount-name>/example-complex.ogg</mount-name> + + <username>othersource</username> + <password>hackmemore</password> + + <max-listeners>1</max-listeners> + <dump-file>/tmp/dump-example1.ogg</dump-file> + <burst-size>65536</burst-size> + <fallback-mount>/example2.ogg</fallback-mount> + <fallback-override>1</fallback-override> + <fallback-when-full>1</fallback-when-full> + <intro>/example_intro.ogg</intro> + <hidden>1</hidden> + <no-yp>1</no-yp> + <authentication type="htpasswd"> + <option name="filename" value="myauth"/> + <option name="allow_duplicate_users" value="0"/> + </authentication> + <on-connect>/home/icecast/bin/stream-start</on-connect> + <on-disconnect>/home/icecast/bin/stream-stop</on-disconnect> + </mount> + + <mount> + <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"/> + </authentication> + </mount> + + --> + + <fileserve>1</fileserve> + + <paths> + <!-- 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 + be relative to the new root, not the original root --> + <logdir>/var/log/icecast2</logdir> + <webroot>/usr/share/icecast2/web</webroot> + <adminroot>/usr/share/icecast2/admin</adminroot> + <!-- <pidfile>/usr/share/icecast2/icecast.pid</pidfile> --> + + <!-- Aliases: treat requests for 'source' path as being for 'dest' path + May be made specific to a port or bound address using the "port" + and "bind-address" attributes. + --> + <!-- + <alias source="/foo" dest="/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"/> + </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 --> + <!-- 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. + Default is non-archive mode (i.e. overwrite) + --> + <!-- <logarchive>1</logarchive> --> + </logging> + + <security> + <chroot>0</chroot> + <!-- + <changeowner> + <user>nobody</user> + <group>nogroup</group> + </changeowner> + --> + </security> +</icecast> diff --git a/icecrab/icecast2 b/icecrab/icecast2 new file mode 100644 index 00000000..3a2521ff --- /dev/null +++ b/icecrab/icecast2 @@ -0,0 +1,19 @@ +# Defaults for icecast2 initscript +# sourced by /etc/init.d/icecast2 +# installed at /etc/default/icecast2 by the maintainer scripts + +# +# This is a POSIX shell fragment +# + +# Full path to the server configuration file +CONFIGFILE="/etc/icecast2/icecast.xml" + +# Name or ID of the user and group the daemon should run under +USERID=icecast2 +GROUPID=icecast + +# Edit /etc/icecast2/icecast.xml and change at least the passwords. +# Change this to true when done to enable the init.d script +ENABLE=true + |