By James Laird (announcement)
This program emulates an AirPort Express for the purpose of streaming music from iTunes and compatible iPods and iPhones. It implements a server for the Apple RAOP protocol. ShairPort does not support AirPlay v2 (video and photo streaming).
Required:
- OpenSSL
Optionally:
- libao
- PulseAudio
- avahi
Debian/Raspbian users can get the basics with
apt-get install libssl-dev libavahi-client-dev libasound2-dev
You must be running an mDNS (Bonjour) daemon. On a Mac, this will be running already. Otherwise, you must be running avahi-daemon or Howl.
./configure
make
./shairport -a 'My Shairport Name'
The triangle-in-rectangle AirTunes (now AirPlay) logo will appear in the iTunes status bar of any machine on the network, or on iPod/iPhone play controls screen. Choose your access point name to start streaming to the ShairPort instance.
Shairport supports different audio backends.
For a list of available backends and their options, run shairport -h
.
Note that options are supplied to backends at the end of the commandline, separated by --, for example:
shairport -o ao -- -d mydriver -o setting=thing
Big thanks to David Hammerton for releasing an ALAC decoder, which is reproduced here in full. Thanks to everyone who has worked to reverse engineer the RAOP protocol - after finding the keys, everything else was pretty much trivial. Thanks also to Apple for obfuscating the private key in the ROM image, using a scheme that made the deobfuscation code itself stand out like a flare. Thanks to Ten Thousand Free Men and their Families for having a computer and stuff. Thanks to wtbw.
- James Laird, author
- David Hammerton, ALAC decoder
- Albert Zeyer, maintainer
- Preston Marshall
- Mads Mætzke Tandrup
- Martin Spasov
- Oleg Kertanov
- Rafał Kwaśny
- Rakuraku Jyo
- Vincent Gijsen
- lars
- Stuart Shelton
- Andrew Webster
- Java:
- Windows:
- OS X:
- ShairportMenu, a GUI wrapper as a menu widget
- MacShairport