firebolt55439 / libairplay

Lightweight and efficient C++ library to stream photos and videos via Airplay.
Apache License 2.0
18 stars 4 forks source link

All messages to the apple tv return 403 #3

Open drastic-tv opened 1 year ago

drastic-tv commented 1 year ago

I am trying to use libairplay to display jpgs and playback hls streams. Every call, including MessageType::GetServices, just returns:

HTTP/1.1 403 Forbidden Content-Length: 0 Server: AirTunes/670.6.2

The target is an AppleTV 4K with AirPlay AllowAccess set to everyone. Any thoughts greatly appreciated.

firebolt55439 commented 1 year ago

I haven’t tested the library on the latest Apple TV software versions, so it’s possible something has changed in the API. 403 Forbidden is interesting though — could you possibly have a password set for AirPlay? That could cause an authentication error.On Jan 20, 2023, at 4:47 PM, drastic-tv @.***> wrote: I am trying to use libairplay to display jpgs and playback hls streams. Every call, including MessageType::GetServices, just returns: HTTP/1.1 403 Forbidden Content-Length: 0 Server: AirTunes/670.6.2 The target is an AppleTV 4K with AirPlay AllowAccess set to everyone. Any thoughts greatly appreciated.

—Reply to this email directly, view it on GitHub, or unsubscribe.You are receiving this because you are subscribed to this thread.Message ID: @.***>

drastic-tv commented 1 year ago

Thanks for the quick reply! I suspect you are correct. When I tried casting from another app, there was a pin number I had to copy from the Apple TV screen. I ran the same code with and old HD Apple TV, and it worked much better:

[+] Connecting to device: Great Room Apple TV HTTP/1.1 200 OK Date: Sat, 21 Jan 2023 15:22:03 GMT Content-Type: text/x-apple-plist+xml Content-Length: 523

<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">

deviceid 00:00:00:00:00:00 features 61379444727 model AppleTV2,1 osBuildVersion 11D258 protovers 1.0 srcvers 200.54 vv 2

[+] Connecting to device: [LG] webOS TV UK6500AUA HTTP/1.1 403 Forbidden Content-Length: 0 Server: AirTunes/377.25.06

I am guessing your code is good, but there is now some sort of handshake that needs to happen first. Also, I ported it to Windows, if you want the changes.

Thanks again for you reply!

firebolt55439 commented 1 year ago

I would love the changes! The more platform  compatibility the better. On Jan 21, 2023, at 7:28 AM, drastic-tv @.***> wrote: Thanks for the quick reply! I suspect you are correct. When I tried casting from another app, there was a pin number I had to copy from the Apple TV screen. I ran the same code with and old HD Apple TV, and it worked much better: [+] Connecting to device: Great Room Apple TV HTTP/1.1 200 OK Date: Sat, 21 Jan 2023 15:22:03 GMT Content-Type: text/x-apple-plist+xml Content-Length: 523

    deviceid
    00:00:00:00:00:00
    features
    61379444727
    model
    AppleTV2,1
    osBuildVersion
    11D258
    protovers
    1.0
    srcvers
    200.54
    vv
    2

[+] Connecting to device: [LG] webOS TV UK6500AUA HTTP/1.1 403 Forbidden Content-Length: 0 Server: AirTunes/377.25.06 I am guessing your code is good, but there is now some sort of handshake that needs to happen first. Also, I ported it to Windows, if you want the changes. Thanks again for you reply!

—Reply to this email directly, view it on GitHub, or unsubscribe.You are receiving this because you commented.Message ID: @.***>