Blog |Follow Nick on Twitter| About

This is my 1st mini-project ! :D

Written completely in PHP it's a web front end to manage ices.

A short while ago I stubled across whilst looking for a way to stream MP3's from my house to my desk @ work ;) To Stream MP3's you need a Streaming Server , i.e. something to stream audio to the clients and a Broadcast Server i.e. something to broadcast your audio file (*.mp3) to the streaming server. I've used both icecast (Streaming Server) & ices (Broadcast Server) , both of which only have shell (command line) & text file config tools, not exactly pretty & lots of typing :(

So to make things easier I decided to start wrting my own, I wrote some alpha code which did the job , but I wasn't happy with the code. I posted the icecast-mailing list to see if anyone else had already done something I could use. It turns out that no one had :( , a guy called Chuck was also thinking of doing the same thing; so I asked him if he's interested in sharing what he's done, actually I'm a little further than him, but because I was ashamed of my alpha code, I decided to finish my BETA, and here it is :D !

It's realsed under GNU GPL. A HTML version can be found at and a text version can be found at

Have a go, and let me know how you get on . Please report bugs on my Contact Page.

DOWNLOAD: php-ices-BETA.tgz

Things I'd like to do for a next version. (In no particular order).

  • File Browser Cookies (so it remembers the last directory your loaded files from)
  • Skining (This version isn't exactly pretty)
  • More control over ices.conf
  • Config via gui rather than config.php

Install Instructions

This hopefully should be quite straight forward.

  1. Unpack php-ices into your webservers root.
  2. Create a temp directory in php-ices. Something like /var/www/html/php-ices/temp
  3. Make the temp directory writeable to the webserever process. Something like
    chmod 666 /var/www/html/php-ices/temp or chown apache /var/www/html/php-ices/temp
  4. Edit config php to meet your needs ;-) At the very least set the stream password on line 31 !
  5. Point your Web browser at php-ices !



Nick Bettison ©