iBaa / PlexConnect

Plex @ aTV - think different...
Other
1.9k stars 626 forks source link

deprecated aTV apps new URL #603

Open wahlmanj opened 3 years ago

wahlmanj commented 3 years ago

I found a few apps such as iMovie in this storeFront dump that are being discontinued by apple that now use this URL. Does PlexConnect's hosttointercept feature allow dashes in it to accommodate for these type of URL's? If not can it be added? As you see below in-between apple and tunalley is a dash.

apple-tunalley.s3.amazonaws.com

https://github.com/wahlmanj/bag/blob/master/storeFront-6-22-21 <----Line 4594 is iMovie's new URL for aTV/iOS 7.x+ as far as i'm aware.

Here is the annoying message I now see on my aTV's thanks to the latest bag.plist (storeFront):

https://apple-tunalley.s3.amazonaws.com/js/deprecating.js

Steps that reproduce the issue:

-MacOS is my operating system 10.13.6 -I created certs using OpenPlex's custom URL cert generator -Change the hosttointercept to apple-tunalley.s3.amazonaws.com -Restarted PlexConnnect (via OpenPlex) -Added the profile to my aTV3 which produced the proper URL apple-tunalley.s3.amazonaws.com -Power cycled the aTV3

Nothing seems to work for iMovie as far as I can tell (e.g. www.icloud.com). Trailers successfully works fine using its original URL otherwise.

Seems like it does have that capability in Settings.py:

('hosttointercept' , ('trailers.apple.com', '[a-zA-Z0-9_.-]+')),

Still not able to find the error, yet. Maybe it’s a cert issue just seems odd when I try it, it says “iMovie is unavailable” so I think it’s definitely part of the URL. Ill remove PlexConnect completely on the JB aTV3 if it’s conflicting then I’ll try to do a network scan for traffic next.

moodyblue commented 3 years ago

Thanks for the heads up. If you are testing with a JB aTV3 chances are that its python version is too old to let PlexConnect work.

wahlmanj commented 3 years ago

I removed PlexConnect on the aTV3 and rebooted the device and am only using my mac as a PlexConnect host and it works on Trailers and WSJ its iMovie I can't hit. It's not a big deal just is odd I can't redirect all apps that are deprecated since all share that new URL. There is a ton of app's in the storeFront they have disabled. WSJ has dashes in its URL and works just seems like the following don't work anymore I parsed the whole list to find the current hijacks:

AOL On Vimeo NFL Tastemade WWE Network Smithsonian iMovie Theater MLS Weather UFC

All these apps point here now:

apple-tunalley.s3.amazonaws.com

Made it easier to read here what was changed:

https://github.com/wahlmanj/bag/blob/master/Okemo%20hijacks

moodyblue commented 3 years ago

$%&/( if Apple moves all apps to apple-tunalley.s3.amazonaws.com this could be the end of PlexConnect, unless we find a way to solve this problem.

wahlmanj commented 3 years ago

I doubt they would kill them all but at this pace it makes me concerned as well. On a sidenote I did get the top shelf appleTV app to work with PlexConnect which definitely was worth the effort by hijacking this:

TV apps.mzstatic.com

moodyblue commented 3 years ago

I am using WSJ so was not hit by this problem. 99% of PlexConnect users are using trailers (my guess) so not affected also. But it may be better start thinking on a new default app to hijack, such as apps.mzstatic.com

wahlmanj commented 3 years ago

Makes sense. In my opinion trailers likely will stay due to how it was coded but who knows how much access they have when the initial storeFront is loaded to close the door completely for the dns trick.

moodyblue commented 3 years ago

We never know. Maybe Apple outsourced AWS for hosting their media & user apps, and if this is so...

https://www.cnbc.com/2019/04/22/apple-spends-more-than-30-million-on-amazon-web-services-a-month.html

moodyblue commented 3 years ago

Crosslink to forum post https://forums.plex.tv/t/hijacked-apps/724189

moodyblue commented 3 years ago

Up to now the solution for jb'd aTV's was to install python and plexconnect on them. Would it be possible to create an app to interface plexconnect installed in a host ? This way we could get rid off this "apple app" dependency.

dotsam commented 3 years ago

Just to throw a few details in here on what I've done:

There's now a jailbreak avaliable for ATV 2 and 3 on tvOS 8.4.x: https://github.com/NSSpiral/Blackb0x

With this enabled, I was able to manually able to add the "Add Sites" profile/preference (from https://github.com/iBaa/PlexConnect/tree/master/support/aTV_jailbreak) but there is still a signing requirement for adding new sites, more info at https://darthnull.org/atv-rsa-sigs/

Luckily with the jailbreak, we can fake out the "internal build" check by simply creating the folder it's looking for with mkdir -p "/AppleInternal/Library/PreferenceBundles/Carrier Settings.bundle" and then any site can be added.

From here, we don't need to worry at all about certificates or DNS hijacking. PlexConnect can be set up with its own hostname and be pointed there rather than hijacking. I created a bag.plist file to use the icons under assets/icons, and was able to add it without issue. Access to add our own "bag" configuration also allows use of "top shelf" URLs to show content on the Home Screen (see https://github.com/wahlmanj/sample-aTV for some examples)

moodyblue commented 3 years ago

Thanks @dotsam, how can we put this in an easy to use instruction ?