AirPlay support for Squeezebox Server


This is the first hacky attempt at streaming stuff from iTunes/iPhone to Squeezebox Server via AirPlay. It's been tested with:

  • Squeezebox Server 7.5.3 (r31792)
  • Ubuntu 10.10 (x86_64)
  • iPhone 4, firmware 4.3.1 (8G4)
  • iTunes 10.2.1 (1)

Matthew Flint,


I have no intention of maintaing this long-term... so I'm putting it on GitHub and hope that someone will adopt it. ;-)


Squeezebox Server, Avahi, OpenSSL and probably other stuff.


  1. git clone SquairPlay
  2. cd SquairPlay
  3. git submodule init
  4. git submodule update
  5. cd shairport
  6. make
  7. make a soft-link to your Squeezebox Server plugins directory from SquairPlay: sudo /path/to/SquairPlay/ /usr/share/squeezeboxserver/Plugins/SquairPlay
  8. go back to SquairPlay directory and "./ --pipe=rawpipe"
  9. a file "rawpipe" will apear in the "shairport" directory when a connection is made for the first time. The "custom-convert.conf" (in the SquairPlay directory) needs to be told where the rawpipe is, so change the path


  1. restart Squeezebox Server
  2. ./ (if not already running)
  3. Use your SBS web interface to create a Favourite with URL "squairplay:0" (that's a zero)
  4. Play something in iTunes or on iPhone
  5. Connect iTunes/iPhone to the AirPlay instance which should now be available
  6. Play the SquairPlay favourite on your Squeezebox

To do

  1. Start "./" automatically
  2. Prevent 'hairplay' from using a new port each time it restarts
  3. Fix the "wav" and "flac" entries in "custom-convert.conf"
  4. Provide a settings page where user can enter the AirPort private key. We probably shouldn't distribute the key with the plugin
  5. Investigate whether the AirPort protocol sends metadata about the currently-playing track?


Probably many, including:

  1. It's fragile
  2. The quality isn't great
  3. Only the mp3 conversion is currently close to being functional
  4. Think the sample rate might be wrong, because music skips
  5. There's a lot of buffering, so it takes a long time for audio to start or stop