Flickr interesting or groups photos on your (jailbroken) Apple TV screensaver
Since I replaced my Apple TV 1 with an Apple TV 2, and started using Flickr as the screensaver, I was wondering how I could use group photos or interesting photos from Flickr, instead of just a user’s photos, or the result of a search. Today, I was able to hack it to do what I want!
(Note: You need a jailbroken Apple TV for this to work.)
I was able to find other workarounds, but none seemed to do what I really wanted, or they were simply not good ideas in the long run.
To do what I wanted, I forwarded all requests intended for api.flickr.com, which the Apple TV uses for the Flickr screensaver, to my own server. The simple PHP script I created to receive those requests then checks if the request is a search, and if so, if it contains specific strings, namely group:some group name
or explore:
. If it does, it will use the Flickr API to do a group search for some group name
, and will return the photos of the first group found, or it will return photos from the Explore section, respectively. All other requests are simply forwarded to the Flickr API as-is.
Bonus: The Apple TV tries to load 100 pictures; my script returns 500! Less chance of seeing the same photos twice like this. :)
Second bonus: It’s actually quite easy to return pictures from any other website like this, so my script could be easily modified to return photos from a Gallery3 website, or another photo site that has an API, or whatever.
Usage:
To use it yourself, the only thing you need is to force all requests to api.flickr.com to go though my server:
ssh root@apple-tv.local 'echo "54.172.250.124 api.flickr.com" >> /etc/hosts'
Note: The default password for root is alpine
.
To use a group photos for your screensaver, enter group:some group name
in the search option.
You’ll want to make sure the some group name
you use returns the group you want to use as the first search result in the groups search on Flickr.
To use the Explore/Interesting photos, enter explore:
in the search option.