Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

tvos 10.2 requires AirPlay hardware verification #15

Open
rburcham opened this issue Apr 21, 2017 · 14 comments
Open

tvos 10.2 requires AirPlay hardware verification #15

rburcham opened this issue Apr 21, 2017 · 14 comments

Comments

@rburcham
Copy link

rburcham commented Apr 21, 2017

Hi James. Are we screwed?

http://appleinsider.com/articles/17/03/29/tvos-102-update-requires-airplay-hardware-verification-breaks-third-party-streaming-apps

https://discussions.apple.com/thread/7904345?start=0&tstart=0

AirParrot and DoubleTwist have resolved it. Airfoil is still working on it, and recommending folks not upgrade past 10.1.1 until they have it solved.

I'd just like to mirror my linux laptop again :)

@funtax
Copy link

funtax commented May 3, 2017

Maybe this project could get some help by Beamer, AirParrot or DoubleTwist?
They seem to have managed the hardware verification.

@rburcham
Copy link
Author

@funtax any idea how to get one of those experts to see this issue? or give a hint?

@funtax
Copy link

funtax commented May 11, 2017

I think the author of this repo has to write them via e-mail.
I'm at this time also trying the reverse-engineer the authentication in Java - it's a SRPv6a-authentication followed by some encryption.

Just in case I might have success and no one else was faster with this, I will publish it so all other projects can use it as well!

@rburcham
Copy link
Author

One minor concern I have is that the folks who have already worked around the issue happen to be Apple certified developers. I'm worried that there may be some Apple issued chain of trust present in the "some encryption" part you mention above.

@funtax
Copy link

funtax commented May 22, 2017

I have reverse-engineered the authentication, at least on my ATVv3 with the "device verification" enabled.
I developed an easy to use Java-library that does the authentication/pairing and am testing it with my personal apps & users with an ATVv4 in the next days.
Will try to open-source this here on github as soon as possible and then leave a hint in this thread.

@rburcham
Copy link
Author

Excellent @funtax - be advised I have an office full of 1 dozen ATVv4 here ready to assist testing immediately!

@funtax
Copy link

funtax commented May 23, 2017 via email

@rburcham
Copy link
Author

Awesome news @funtax ! I shall stay tuned!

@funtax
Copy link

funtax commented May 25, 2017

Here we go: https://github.com/funtax/AirPlayAuth

More details will follow in the next days.
You can simply import the project eg. into "IntelliJ Community Edition" and run the example :)

I'm the developer of two audio AirPlay-apps and can confirm that once the pairing has been done, the ongoing communication with the AirPlay-receiver is done like before.

Also, there seems to be no reliable way to check if pairing is required, beside checking the mdns-data for "appletv" and "pk".
Then authentication can also be made on ATVs which have the authentication not enabled, so you can simply always do the pairing in case it's an AppleTV.

@postlund
Copy link

Awesome work @funtax! I have not tried it yet but I bet a lot of people will be happy about this! It's requested for my python library, so I might borrow some of your work and port it to python. Again, great work!

@rburcham
Copy link
Author

Really great work @funtax! I'm digging in...

@tremby
Copy link

tremby commented Jan 13, 2020

Is there any known workaround at present to get open-airplay to work with this authentication?

@JonasRSV
Copy link

Hey, I tried to combine this project with the authentication project for airplaying desktop. But for some reason

using "PUT /photo" currently returns

HTTP/1.1 501 Not Implemented
Content-Length: 0
Server: AirTunes/420.45

Does anyone have any ideas? I know very little about the airplay protocol and combining the projects was just some quick cut-n-paste. It would be super cool if it was possible to get airplay to work even with the new apple TV's

Here's the code / project

https://github.com/JonasRSV/AirPlayAuth-OpenAirPlay/blob/master/src/main/java/eu/airaudio/airplay/AirPlayAuthExample.java

@reginbald
Copy link

Anyone gotten this to work?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Development

No branches or pull requests

6 participants