Hackin’ the AppleTV

It’s been a while since my last post (as usual). In the past month, while I was bored, I was hacking away with my AppleTV. I wanted to accomplish a few things:

  1. Live TV
  2. Web browsing

overview_hero1_20080929

Ever since I bought my AppleTV, I cancelled my cable television since I usually digest news from the Internet; not to mention that Global News puts out a video podcast every day so I don’t miss out on traditional daily news. Alright, after a month or so, I started to miss live television (even the ads!). So I was thinking how I can utilize my AppleTV to achieve this. I could obviously just run a program on my desktop machine and plug the monitor cable (VGA) into my TV, but I don’t want to do that. Why? Because I own a hacked AppleTV! Other than that, many other people don’t have a VGA ports for their TV. So the hack begins…

First, I looked at Joost, a peer-to-peer TV technology to distribute content. It’s great because the Joost Team actually state that it works on a hacked AppleTV, but I soon realized that it’s not live, and they have recently discontinued their desktop version so I gave up on it quickly. I searched around for some P2P live TV application. It has to be a Mac application but they are all for Windows (TVAnts, PPLive, etc). I figure that AppleTV can’t handle WINE and Windows Apps since it doesn’t have “real” hardware. Just as I was about to give up the whole project, I saw a tweet about a new application called Livestation, a P2P live television program which works on many platforms. Now, assuming that your AppleTV is “hacked,” you may now proceed which these instructions. If it’s not, there are many tutorials on how to do this as well as a paid solution.

  1. Download the Mac version of Livestation on to your computer
  2. SSH in to your AppleTV. Or FTP/SFTP/whatever. Just get in there so you can transfer a file.
  3. I have a Applications directory inside frontrow’s home directory. You can create this or you can put the app somewhere else as long as you know the path to it.
  4. Transfer your Livestation.app to your Applications folder in your AppleTV. And yes, you will discover that apps are actually folders.
  5. /Users/frontrow/Documents/Applist.plist
  6. If you don’t have the file I mentioned in 5, create it.
  7. Copy these in there:

<?xml version=”1.0″ encoding=”UTF-8″?>
<!DOCTYPE plist PUBLIC “-//Apple Computer//DTD PLIST 1.0//EN” “http://www.apple.com/DTDs/PropertyList-1.0.dtd”>
<plist version=”1.0″>
<dict>
<key>Applications</key>
<dict>
<key>0</key>
<dict>
<key>args</key>
<string></string>
<key>remotewatcher</key>
<false/>
<key>fireandforget</key>
<false/>
<key>menu</key>
<string>Livestation</string>
<key>killfinder</key>
<false/>
<key>path</key>
<string>/Users/frontrow/Applications/Livestation.app/Contents/MacOS/Livestation</string>
</dict>
</dict>
</dict>
</plist>

It’s pretty obvious that after you hacked your AppleTV, you will find an Application Menu buried somewhere in the menu. Go there, press on Livestation. It should load up now. Enter your credentials, which you registered freely on their website. You can use this to manage your channels. Except… how do you control the app itself? You have a few options: install VNC or to enable USB keyboard and mouse. I will be talking about the VNC way since all the keyboards that I have are PS/2. However, you can always go old fashioned with keyboard and mouse. In fact, you can either patch the kernel yourself or you can use the smart installer. Chances are that you can just plug in  that USB keyboard since you already have done parts of this hack before. Just full screen Livestation and enjoy live TV channels! Throughout the testing stage, I did notice some stutters in fast motion. This is because of AppleTV’s weak hardware. It’s not too bad – definitely not too bad for this little AppleTV. At the end, I am very happy with Livestation on my AppleTV.

Next, web browsing. Let me just give you an overview of what I am going to do.

  1. Install a browser
  2. Install VNC for 2.x firmware AppleTV’s
  3. Use iPod Touch or iPhone to control it

No. 1 is very simple. In fact, it’s the same step as installing Livestation since that’s how you “install” any applications on to your AppleTV.
After moving your browser application to your AppleTV under that Applications folder. I am using Opera (Mac version duh!) here since it’s actually lighter than another of the other browsers (but I am a huge Firefox fan on the desktop!). Add these lines to that plist file just before the last </dict>.

<key>2</key>
<dict>
<key>args</key>
<string></string>
<key>remotewatcher</key>
<true/>
<key>fireandforget</key>
<false/>
<key>menu</key>
<string>Opera</string>
<key>killfinder</key>
<true/>
<key>path</key>
<string>/Users/frontrow/Applications/Opera.app/Contents/MacOS/Opera</string>
</dict>

If you do want Firefox on your AppleTV, go here. In fact, read how to enable USB for keyboard and mouse, installing System Preferences and mouse pointer. You are done with no. 1. Don’t bother starting the browser since you can’t control it. Getting VNC running on your AppleTV can be a little tricky so you may want to use a old fashioned USB keyboard.
I don’t remember where I got this from since I have looked through so many sites to get information about VNC on AppleTV 2.x firmware. Whoever posted the instructions, kudos to him or her.

Again, this is for AppleTV 2.x firmware. If you have 1.0 firmware you are lucky. Search around on Google and it’s just a few command lines to enable VNC!

  1. Get the 1.0 recovery disk. Its name is OS-dot-DMG 1.0.dmg.
  2. Transfer the file to frontrow’s home directory.
  3. If you are on Mac, open Terminal.app. If you are on PC. Download putty. Then SSH (using version 1) to your AppleTV. Command: ssh -1 frontrow@*address here* Usually the address is just 192.168.1.x
  4. Password is frontrow. I think you know this already. Once you are in, run the command “ls” to verify that OS-dot-DMG 1.0.dmg is in fact in the directory.
  5. Time to enter some commands:
    First, we mount the dmg, then we move some files to the local drive. After that, we configure VNC (RemoteManagement) and we run it!

sudo hdiutil mount OS-dot-DMG\ 1.0.dmg
sudo cp -pr /Volumes/OSBoot\ 1/System/Library/CoreServices/RemoteManagement/ /System/Library/CoreServices/RemoteManagement
sudo cp -pr /Volumes/OSBoot\ 1/System/Library/Perl/ /System/Library/Perl/
sudo cp -pr /System/Library/Perl/Extras/5.8.6/ /System/Library/Perl/5.8.6/
echo 71463E00FFDAAA95FF1C39567390ADCA > /Library/Preferences/com.apple.VNCSettings.txt
sudo /System/Library/CoreServices/RemoteManagement/ARDAgent.app/Contents/Resources/kickstart -configure -clientopts -setvnclegacy -vnclegacy yes
sudo /System/Library/CoreServices/RemoteManagement/ARDAgent.app/Contents/Resources/kickstart -activate -configure -access -on -users frontrow -privs -all -restart -agent -menu
/System/Library/CoreServices/RemoteManagement/AppleVNCServer.bundle/Contents/MacOS/AppleVNCServer &

Once VNC is started, you may now close your SSH connection and head to your iPhone or your iPod Touch. I use Jaadu VNC, which I think, is by far the best VNC for iPhone/iPod Touch. You can use any other VNC applications. You can even use a computer, but that defeats the purpose of this since you want to be sitting on the couch controlling your AppleTV remotely. Using your iPhone or iPod Touch, hop on your home WiFi connection and connect to your AppleTV with the password, “frontrow”. Voila. You are now controlling your AppleTV. I also installed the mouse cursor and disabled the screen on my mobile device. So now, I can sit on the couch, and move my fingers on a mobile device to control my TV! I can even type with the keyboard on Jaadu. You can extend this hack even further by installing Flash plugin so you can watch videos. It’s well documented so I won’t spend any time talking about it here.

Excuse me for any mistakes that I have made (if any). Also, since this is the first tutorial that I have written, some steps may be unclear, if you have trouble understanding, just leave me a comment and hopefully, I’ll get back to you. Other than that, you can also find me on Twitter. Finally, you may be thinking why have I not bought a Mac Mini instead. Well, I went for the AppleTV for simplicity thinking that I won’t ever mess with it, but I ended up hacking it for fun. The AppleTV has a lot of potentials, by that, I mean A LOT. As you may have noticed just by this article, you can run any Mac applications. Of course, many won’t run because we don’t have the core services built in. But hey, there’s hack which allows you to install a full blown OS on there! The possibilities are just endless.

15 Comments

Hi, That’s a great idea !!
I tried you guide to install Livestation on my ATV after “hacking” it with ATVUSB-Creator.
Livestation doesn’t appear in the menu. Any hint ?
Thanks

You have to find the Application menu. Mine is hidden in DVD->Application. Also, make sure you did steps 5-7 correctly.

Way to go, willy.
I give you my moral support cuz of the fabicon thing. hahaha~

[...] Ever since I bought my AppleTV, I cancelled my cable television since I usually digest news from the Internet; not to mention that Global News puts out a video podcast every day so I don’t miss out on traditional daily news. Alright, after a month or so, I started to miss live television (even the ads!). So I was thinking how I can utilize my AppleTV to achieve this. I could obviously just run a program on my desktop machine and plug the monitor cable (VGA) into my TV, but I don’t want to do that. Why? Because I own a hacked AppleTV! Other than that, many other people don’t have a VGA ports for their TV. So the hack begins… More [...]

He William,

Thanks for the tutorial so far!
Completed step 4, and then what?
Cant’ figure out what to do with step 5.
Can you give me some more information?

Thanks

Hello,

I followed your instructions. I’m not sure where is the menu you are referring to. I guess you are using AwkwardTV. This does not work with ATV 3.0.1. So I used nitoTV and I go to application and find Livestation. But when I launch it I see the apple logo and that all. Livestation does not launch.

Please help.

Unfortunately, I didn’t upgrade my firmware. I know, I’m too old school ;)

Have you tried downloading the PPC version? According to Live Station, “Please note that Intel Mac users running Tiger 10.4.11 should download the PowerPC version, as there is a change in the 10.4.11 operating system which stops Livestation Intel edition from functioning. ”

Since Apple TV runs on Tiger OS, you may want to try that.

Hi William, Thanks for replying.

I tried both PPC and Intel with no luck. I run it via nitoTV. Not sure if it’s a nitoTV or Livestation issue. It could be that an older version of Livestation might work better.

How do you run it? What version of LS you have?

Sorry for the late reply. Does any other software work? I use Opera on AppleTV often. All I can remember was that I downloaded LS when it first came out. I haven’t touched the hacking part of Apple TV for some time now so I’m not too sure myself!

I tried firefox and it launch but w/o a mouse it’s not easy. But in general it did not work properly so I removed.

I’m being told that this is an FFMpeg issue.

Is downgrading ATV to 2.x an easy issue?

Didn’t you install mouse on your Apple TV?
It may be a FFMpeg but mine still works fine. I haven’t taken a look at downgrading (since I’m not upgraded) but I don’t recommend it unless you are really really desperate to use LS ;)

The mouse solution is for iphone and ipod touch and I have neither. I read somewhere that there a bluetooth hardware in the ATV but it’s not being used. That’d be a great solution to use a BT mouse/keyboard.

I read that Software menu now has the option to upgrade and downgrade. I might go this route.

Please tell me what version of ATV OS you have.

Many thanks!

[...] someone who successfully installed Livestation, but he has ATV OS 2.x not 3.0.1. Check him here: Hackin’ the AppleTV | William Zhou Maybe it's also because I did not install a mouse. I don't own an iphone nor ipod touch so is there [...]

You don’t need BT. If you search around, you can find how to activate USB mouse. This was how I used my AppleTV before coming up with VNC+iPhone/Touch method.

I just checked and I’m using 2.1

William, thanks for your support. I was able to make it run. I used LS 2.5. It works like a charm but I cannot change channels because I have no mouse configured. I’ll fix that later.

Leave a Comment