website/content/lab-notes/miraidon (airplay server).md
Mira Kristipati 6178c08a19
All checks were successful
/ ls (push) Successful in 5s
add marquee
2025-01-29 10:32:31 -05:00

65 lines
2.8 KiB
Markdown
Executable file

---
date: "1970-01-01"
draft: true
title: Miraidon (Airplay Server)
---
## Reference Impls
- https://github.com/mikebrady/shairport-sync/tree/master?tab=readme-ov-file
- https://github.com/ckdo/airplay2-receiver
- registers mdns service
- starts http server on port `7000`
- forwards requests to `AP2Handler`
- SETUP
- should receive a bplist
- if it contains `streams`
- TODO
- else
- seems to be sending event?
-
- GET
- POST
- service Discovery uses mdns/bonjour
- feature flags are in a SRV record
- TODO: how do I set up an mdns responder
- [mdns_sd](https://docs.rs/mdns-sd/latest/mdns_sd/)
- seems like the actual transfers themselves use http over a different port
```
= wlp0s20f3 IPv6 4431B2384B11@Akristip-l-PF4BWXDJ AirTunes Remote Audio local
hostname = [akristip-l-PF4BWXDJ.local]
address = [fd71:e5f3:3440:f95e:dbf9:f904:c567:1ab9]
port = [5000]
txt = ["pw=false" "txtvers=1" "ch=2" "cn=0,1" "ek=1" "et=0,1" "sv=false" "da=true" "sr=44100" "ss=16" "md=0,1,2" "vn=65537" "tp=TCP,UDP" "vs=105.1" "am=ShairportSync" "fv=4.3.4" "sf=0x4"]
= lo IPv4 4431B2384B11@Akristip-l-PF4BWXDJ AirTunes Remote Audio local
hostname = [akristip-l-PF4BWXDJ.local]
address = [127.0.0.1]
port = [5000]
txt = ["pw=false" "txtvers=1" "ch=2" "cn=0,1" "ek=1" "et=0,1" "sv=false" "da=true" "sr=44100" "ss=16" "md=0,1,2" "vn=65537" "tp=TCP,UDP" "vs=105.1" "am=ShairportSync" "fv=4.3.4" "sf=0x4"]
= wlp0s20f3 IPv4 4431B2384B11@Akristip-l-PF4BWXDJ AirTunes Remote Audio local
hostname = [akristip-l-PF4BWXDJ.local]
address = [192.168.1.212]
port = [5000]
txt = ["pw=false" "txtvers=1" "ch=2" "cn=0,1" "ek=1" "et=0,1" "sv=false" "da=true" "sr=44100" "ss=16" "md=0,1,2" "vn=65537" "tp=TCP,UDP" "vs=105.1" "am=ShairportSync" "fv=4.3.4" "sf=0x4"]
= virbr0 IPv4 4431B2384B11@Akristip-l-PF4BWXDJ AirTunes Remote Audio local
hostname = [akristip-l-PF4BWXDJ.local]
address = [192.168.122.1]
port = [5000]
txt = ["pw=false" "txtvers=1" "ch=2" "cn=0,1" "ek=1" "et=0,1" "sv=false" "da=true" "sr=44100" "ss=16" "md=0,1,2" "vn=65537" "tp=TCP,UDP" "vs=105.1" "am=ShairportSync" "fv=4.3.4" "sf=0x4"]
= docker0 IPv4 4431B2384B11@Akristip-l-PF4BWXDJ AirTunes Remote Audio local
hostname = [akristip-l-PF4BWXDJ.local]
address = [172.17.0.1]
port = [5000]
txt = ["pw=false" "txtvers=1" "ch=2" "cn=0,1" "ek=1" "et=0,1" "sv=false" "da=true" "sr=44100" "ss=16" "md=0,1,2" "vn=65537" "tp=TCP,UDP" "vs=105.1" "am=ShairportSync" "fv=4.3.4" "sf=0x4"]
^CGot SIGINT, quitting.
```
```json
["pw=false",
"txtvers=1",
"ch=2",
"cn=0,1", "ek=1" "et=0,1" "sv=false" "da=true" "sr=44100" "ss=16" "md=0,1,2" "vn=65537" "tp=TCP,UDP" "vs=105.1" "am=ShairportSync" "fv=4.3.4" "sf=0x4"]
```