Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/abrasive/shairport
Airtunes emulator! Shairport is no longer maintained.
https://github.com/abrasive/shairport
Last synced: 7 days ago
JSON representation
Airtunes emulator! Shairport is no longer maintained.
- Host: GitHub
- URL: https://github.com/abrasive/shairport
- Owner: abrasive
- Created: 2011-04-11T06:30:05.000Z (over 13 years ago)
- Default Branch: master
- Last Pushed: 2022-01-14T19:51:45.000Z (almost 3 years ago)
- Last Synced: 2024-05-22T16:31:06.183Z (6 months ago)
- Language: C
- Homepage:
- Size: 1.66 MB
- Stars: 2,433
- Watchers: 129
- Forks: 1,101
- Open Issues: 52
-
Metadata Files:
- Readme: README.md
- License: LICENSES
Awesome Lists containing this project
README
ShairPort is no longer maintained
=========As I no longer use Shairport myself, I am no longer maintaining or supporting Shairport.
Thanks to everyone who has contributed over the years; it's been a great experience.
For the ongoing user, there are a great many forks and ports to choose from now, many of which are of a very high quality and well maintained.— James
ShairPort
---------By [James Laird](mailto:[email protected]) ([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).Build Requirements
------------------
Required:
* OpenSSLOptionally:
* libao
* PulseAudio
* avahiDebian/Raspbian users can get the basics with
`apt-get install libssl-dev libavahi-client-dev libasound2-dev`Runtime Requirements
--------------------
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.
As an alternative, you may use the tinysvcmdns backend, which embeds a lightweight mDNS daemon. It is, however, way less robust than bonjour or avahi.
Check the [mDNS Backends] section for more information.How to get started
-------------
```
./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.
Audio Outputs
-------------
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
```mDNS Backends
-------------
Shairport uses mDNS to advertise the service. Multiple backends are available to perform the task.
For a list of available backends, run `shairport -h`.
The backends prefixed by 'external' rely on external programs that should be present in your path.
By default, shairport will try all backends, in the order they are listed by `shairport -h`, until one works.
You can force the use of a specific backend using `shairport -m tinysvcmdns` for example.Metadata
--------The following metadata can be output for the currently playing track:
* artist
* title
* album
* artwork
* genre
* commentTo enable the output of metadata, the `-M ` flag must be set to
instruct `shairport` where to save the output. This directory must exist. A
fifo named `now_playing` will be created, and records will be written to it
when tracks are changed. The end of a set of metadata is delimited by a
zero-length line. Cover filenames are relative to the cover directory. Files
are not deleted.An example::
artist=Arcade Fire
title=City With No Children
album=The Suburbs
artwork=cover-e6450a45ab900815e831434f5ee0499c.jpg
genre=Rock
comment=
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 to version 1.x
---------------------------
* [James Laird](http://mafipulation.org)
* [Paul Lietar](http://www.lietar.net/~paul)
* [Quentin Smart](http://github.com/sm3rt)
* [Brendan Shanks](http://github.com/mrpippy)
* [Peter Körner](http://mazdermind.de)
* [Muffinman](http://github.com/therealmuffin)
* [Skaman](http://github.com/skaman)
* [Weston](http://github.com/wnielson)
* [allesblinkt](http://github.com/allesblinkt)Contributors to version 0.x
---------------------------
* [James Laird](mailto:[email protected]), author
* [David Hammerton](http://craz.net/), ALAC decoder
* [Albert Zeyer](http://www.az2000.de), maintainer
* [Preston Marshall](mailto:[email protected])
* [Mads Mætzke Tandrup](mailto:[email protected])
* [Martin Spasov](mailto:[email protected])
* [Oleg Kertanov](mailto:[email protected])
* [Rafał Kwaśny](mailto:[email protected])
* [Rakuraku Jyo](mailto:[email protected])
* [Vincent Gijsen](mailto:[email protected])
* [lars](mailto:[email protected])
* [Stuart Shelton](https://blog.stuart.shelton.me/)
* [Andrew Webster](mailto:[email protected])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)