When a remote client first arrives on the network, it needs to pair itself with iTunes. Which instantly gives us the tree-formatted output shown several places below. This could also have been done by extending the Wireshark DAAP plugin, but it's helpful to pipe live curl requests to the script: Here are some still screenshots:ĭuring this process I wrote a Python script to help decode the binary messages that come back from HTTP requests. The Android app uses the MjDNS Java library for all Bonjour handshaking, and the icon is a mashup of several icons from the Tango Desktop Project. Under a GPLv3 license, and you can grab it from Subversion on Google Code: If you're interested in jumping right in, here's an APK ready to install. Here's a quick video in action on the emulator: This works out of the box without installing any extra software on your PC or Mac. Now you can remote control your iTunes from your new Android phone when it arrives later this year. With the protocol now reverse engineered, I wrote an Android client in about a week. After a few days in front of packet dumps, I have most of DACP decoded. DACP is the protocol used by the Remote app on the iPhone/iPod Touch to remote control your desktop or laptop iTunes player.ĭACP is similar to the well-known DAAP, using Bonjour MDNS to find libraries, then using HTTP requests with binary responses to transfer data. The Digital Audio Control Protocol (DACP) was recently introduced by Apple, and is built into all recent iTunes™ versions. TunesRemote: Android DACP/iTunes Remote Control Android DACP Remote Control
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |