ShairPort ========= By [James Laird](mailto:jhl@mafipulation.org) ([announcement](http://mafipulation.org/blagoblig/2011/04/08#shairport)) What it is ---------- 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). How to use it ------------- ``` ./configure make clean all ./shairport -a 'AP 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. Thanks ------ 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. Contributors ------------ * [James Laird](mailto:jhl@mafipulation.org), founder and initial code * [David Hammerton](http://craz.net/), ALAC decoder * [Albert Zeyer](http://www.az2000.de), maintainer * [Preston Marshall](mailto:preston@synergyeoc.com) * [Mads Mætzke Tandrup](mailto:mads@tandrup.org) * [Martin Spasov](mailto:mspasov@gmail.com) * [Oleg Kertanov](mailto:okertanov@gmail.com) * [Rafał Kwaśny](mailto:mag@entropy.be) * [Rakuraku Jyo](mailto:jyo.rakuraku@gmail.com) * [Vincent Gijsen](mailto:vtj.gijsen@gmail.com) * [lars](mailto:lars@namsral.com) * [Stuart Shelton](https://blog.stuart.shelton.me/) * [Andrew Webster](mailto:andywebs@gmail.com) Known Ports and Tools --------------------- * Java: * [JAirPort](https://github.com/froks/JAirPort) * [RPlay](https://github.com/bencall/RPlay) * Windows: * [shairport4w](http://sf.net/projects/shairport4w) * OS X: * [ShairportMenu](https://github.com/rcarlsen/ShairPortMenu), a GUI wrapper as a menu widget * [MacShairport](https://github.com/joshaber/MacShairport) Changelog --------- * 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