Skip to content
Airtunes emulator!
Branch: master
Clone or download
#4 Compare This branch is 38 commits ahead, 260 commits behind abrasive:master.
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.
.gitignore Update .gitignore to ignore generated files from build. Jan 10, 2012
ChangeLog Convert shairport to libshairport fork as made by XBMC. Jan 9, 2012


Created by Team XBMC

This is a fork of ShairPort written by James Laird <>. The
original maintainer of ShairPort had said that he intended version 0.05 to be
his last release (announcement can be found at Therefore, the XBMC team decided
to fork ShairPort and make it into a library (libshairport) for use with XBMC.

*** Below is the contents of the original README. ***

ShairPort v0.05
James Laird <>
April 13, 2011

What it is
This program emulates an AirPort Express for the purpose of streaming music from iTunes and compatible iPods. It implements a server for the Apple RAOP protocol.
ShairPort does not support AirPlay v2 (video and photo streaming).

It supports multiple simultaneous streams, if your audio output chain (as detected by libao) does so.

How to use it
`perl`. See for further information.

The triangle-in-rectangle AirTunes (now AirPlay) logo will appear in the iTunes status bar of any machine on the network, or on iPod play controls screen. Choose your access point name to start streaming to the ShairPort instance.

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.

* [David Hammerton](
* [Albert Zeyer](
* [Preston Marshall](
* [Mads Mætzke Tandrup](
* [Martin Spasov](
* [Oleg Kertanov](
* [Rafał Kwaśny](
* [Rakuraku Jyo](
* [Vincent Gijsen](
* [lars](
* [Stuart Shelton](
* [Andrew Webster](

Known Ports and Tools


    [ShairportMenu](, a GUI wrapper as a menu widget

* 0.01  April 5, 2011
    * initial release
* 0.02  April 11, 2011
    * bugfix: libao compatibility
* 0.03  April 11, 2011
    * bugfix: ipv6 didn't work - IO::Socket::INET6 is required too
* 0.04  April 12, 2011
    * cross-platform count_leading_zeros under GCC - will now compile cleanly on ARM and other platforms
* 0.05  April 13, 2011
    * error-handling cleanup in the Perl script including more meaningful error messages, based on common problems seen

You can’t perform that action at this time.