X-Git-Url: https://git.piment-noir.org/?p=deb_shairplay.git;a=blobdiff_plain;f=README.md;h=6b7b617871cdab08b43420973a6bb35127fdb6ac;hp=e578bbef0a2f17f58b067c6d322c9941bbed220d;hb=193138f39adc47108e4091753ea6db8d15ae289a;hpb=2fa7773505d13b87edefd309d9a6564b473cd3b7 diff --git a/README.md b/README.md index e578bbe..6b7b617 100644 --- a/README.md +++ b/README.md @@ -1,13 +1,61 @@ Shairplay ========= -Free portable AirPlay server implementation. +Free portable AirPlay server implementation similar to [ShairPort](https://github.com/abrasive/shairport). + +Currently only AirPort Express emulation is supported. Disclaimer ---------- All the resources in this repository are written using only freely available information from the internet. The code and related resources are meant for -educational purposes only. It is up to the user to make sure all local laws are -adhered to. +educational purposes only. It is the responsibility of the user to make sure +all local laws are adhered to. + +Installation +------------ + +First you need to install some dependencies, for example on Ubuntu you would +write: +``` +sudo apt-get install autoconf automake libtool +sudo apt-get install libltdl-dev libao-dev libavahi-compat-libdnssd-dev +sudo apt-get install avahi-daemon +``` + +``` +./autogen.sh +./configure +make +sudo make install +``` + +Notice that libao is required in order to install the shairplay binary, +otherwise only the library is compiled and installed. + +Usage +----- + +Check available options with ```shairplay --help```: + +``` +Usage: shairplay [OPTION...] + + -a, --apname=AirPort Sets Airport name + -p, --password=secret Sets password + -o, --server_port=5000 Sets port for RAOP service + --ao_driver=driver Sets the ao driver (optional) + --ao_devicename=devicename Sets the ao device name (optional) + --ao_deviceid=id Sets the ao device id (optional) + -h, --help This help +``` + +Start the server with ```shairplay```, if you are connected to a Wi-Fi the +server should show as an AirPort Express on your iOS devices and Mac OS X +computers in the same network. + +Notice that you need to have the airport.key file in your working directory when +starting the shairplay service. It is not included in the binary for possible +legal reasons. Related software ---------------- @@ -20,6 +68,7 @@ Description Short description about what each file in the main library does: +``` src/lib/base64.* - base64 encoder/decoder src/lib/dnssd.* - dnssd helper functions src/lib/http_parser.* - HTTP parser from joyent (nginx fork) @@ -35,12 +84,15 @@ src/lib/rsakey.* - Decrypts and parses the RSA key to bigints src/lib/rsapem.* - Converts the RSA PEM key to DER encoded bytes src/lib/sdp.* - Extremely simple RAOP specific SDP parser src/lib/utils.* - Utils for reading a file and handling strings +``` Short description about what each file in the Qt application does: +``` AirTV-Qt/main.cpp - Initializes the application AirTV-Qt/mainapplication.cpp - Creates the tray icon and starts RAOP AirTV-Qt/raopservice.cpp - Handles all communication with the library AirTV-Qt/raopcallbackhandler.cpp - Converts C callbacks to Qt callbacks AirTV-Qt/audiooutput.cpp - Takes care of the actual audio output +```