Note: Please see a more recent post on Apple TV hacks.

Once SSH is enabled on your Apple TV, the world is your oyster.

Note: These steps assume that you’ve already enabled SSH on your Apple TV using the procedures in this post: Hacking The Apple TV to Enable SSH.

CouchSurfer is a web browser created to work on the Apple TV. To get CouchSurfer, point a browser on your Mac to Brandon Holland’s site for the download. By the way, this guy has done some great work here and I encourage you to support his efforts. For our purposes, you’ll want to download CouchSurfer 0.3(2.0) Installer (circled below).

Once it’s downloaded, unzip the file to reveal a CouchSurfer folder with 6 files inside. You will copy this folder over to your Apple TV before running the installer.

If you are comfortable with the UNIX command line, you can upload and tweak your Apple TV from a remote Mac using the Terminal application. I find it much easier to use an SFTP program to move files. My SFTP application of choice is Fugu. Fugu is intuitive, it’s fast, and it’s free.

Setting it up to move files back and forth from your Apple TV is easy. Enter your Apple TV’s IP address, enter “frontrow” as the Username, and check the box next to Force SSH1 connection to server. Then click the Connect button and enter “frontrow” as the password.

Copy the CouchSurfer folder to your Apple TV. It can be copied anywhere, but I suggest the home folder of the Frontrow user. Next, you will need to open the Terminal application on your Mac and type the following:

ssh frontrow@<your_apple_tv_address>

When prompted for a password, enter ‘frontrow’.

Now navigate to the directory where you copied the CouchSurfer folder on your Apple TV.

Note: Basic navigation in the command line is done with the ‘cd’ command. For example, to navigate to the CouchSurfer directory in the ‘frontrow’ home directory from root, you would type the following:

cd /User/frontrow/CouchSurfer

Once there, you can verify that you are in the right place by typing the following to see a listing of the files:

ls -al

You should see a listing similar to this:

Now type in the following command to install CouchSurfer:

sudo ./installcouchsurfer

Again, use the ‘frontrow’ password when prompted.

Once this finishes, reboot your Apple TV using this command:

sudo reboot

When your Apple TV menu reappears, you’ll notice the addition of CouchSurfer in the Menu items. Now you can surf the web freely just like on your computer!

Note: CouchSurfer is still a work in progress. The Settings menu has not been implemented yet. Brandon claims that this installation allows you to use a USB keyboard and mouse plugged into the USB port on the Apple TV. I have not tested this yet. Also, while CouchSurfer allows you to bookmark pages, I have not found a way to delete bookmarks from the user interface. For that, you’ll need to navigate to the /Users/frontrow/Documents/Bookmarks.plist directory and edit by hand.

Happy surfing!

 
 

Note: Please see a more recent post on Apple TV hacks.

After lots of research and some experimenting, I have finally hacked my Apple TV.

I read about the several ways to hack the Apple TV by cracking the case and pulling out the hard drive, but I didn’t want to go through this hassle and also void the warranty. Then I read about folks who have found a way to install software on a flash drive, called a “patchstick.” This method allows you to insert the patchstick into the USB port of the Apple TV and reboot. The patchstick installs the necessary files for enabling SSH on the Apple TV. With SSH enabled, you have the ability to install other applications from a remotely connected computer.

There are a few ways to create a patchstick. Some are quite involved, and require a comfortable familiarity with command line navigation in Terminal. Oddly enough, the easiest method I found to create a patchstick was done by some PC folks, and requires access to a machine running Windows. Since I am running Windows (via Parallels) on my MacBook Pro, this was not a problem.

For a detailed explanation on how to create a patchstick on Mac OS X (intel), go to this page on the AwkwardTV wiki: PatchStick

The above method was a bit too involved for my taste.

Creating A Take2 PatchStick
Requirements:

  1. Windows operating system
  2. DD for Windows (download here)
  3. PatchstickATVT2 (download here)
  4. StuffIt Expander (download here)
  5. 1GB (or more) thumb drive

Note: Make sure your Apple TV is updated to at least 2.01

Step 1
Decompress the files. The DD file is in .zip format, and the PatchstickATVT2 file is in .rar format. Both files will decompress using the StuffIt Expander by double-clicking. The PatchstickATVT2.rar file will decompress to PatchstickATVT2.img.bz2. Double-click this again to end up with the PatchstickATVT2.img file.

Step 2
Copy the PatchstickATVT2.img and dd.exe files to a folder on your Windows machine.

Step 3
In Windows, enter into a command line mode by selecting Run form the Start menu and typing “cmd”. Navigate to the folder with your files typing at the prompt:

cd C:\NameOfFolder

Insert your USB thumb drive. Then, type the following to get a list of all mounted drives:

dd --list

This will show you all drives and their drive numbers. The listing should look something like this:

\\.\Volume{e3429891-0eb9-11da-b18f-000d60dc98cd}\
link to \\?\Device\Harddisk4\DP(1)0-0 3 removable media
Mounted on \\.\d

You want to find the drive number for your thumb drive.

Note: Make sure you have the correct drive number for your thumb drive. If you get this wrong, your risk deleting your Windows hard disk partition!

Step 4
Once you have the correct drive number for your thumb drive, type the following command:

dd if=PatchstickATVT2.img of=\\?\Device\Harddisk*HARD-DISK-NUMBER-HERE*\Partition0 bs=1M --progres

For example:

dd if=PatchstickATVT2.img of=\\?\Device\Harddisk4\Partition0 bs=1M --progress

You will see the script running in the command window. It generally takes a few minutes.

Step 5
Once the script has finished, plug the thumb drive into the USB port on your Apple TV and reboot by holding down the “-” and Menu buttons simultaneously.

Once rebooted, you will be able to SSH into your Apple TV by issuing the following command in your Terminal window on a Mac:

ssh frontrow@YourAppleTV-IP-address

When prompted for a password, use “frontrow”.

SSH Is Now Enabled
With SSH now enabled, you may begin at add functionality to your AppleTV. In my next post, I will go through the steps of loading an internet browser that allows you to navigate the web freely. I will also show you how to enable the Flash and QuickTime plugins so you can watch movies from any site on the web.

OSBoot As Read-Only
One thing we’ve already learned from SSH is that the root filesystem on the Apple TV (aka OSBoot) is apparently mounted as a read-only filesystem. That means it’s not initially possible to copy any files to the root mount point (/etc, /usr, /var, for example) while it is running. You can remedy this with:

sudo mount -uw /


UPDATE:
It’s possible that this procedure can be done on a Mac using Carbon Copy Cloner to clone the PatchstickATVT2.img file onto a USB thumb drive. I will experiment with this method and report back here.


 
 

The first iPhone application I’d like to highlight is a whimsical one.

TuneWiki is a free and easy to use music player that allows you to play songs from your iTune library on an iPhone or Touch and see synchronized lyrics. I’m not a particularly big fan of karaoke, but TuneWiki essentailly turn your iPhone/Touch into a portable karaoke player.

My interest in this application stems more from sometimes wanting to know the lyrics to a particular song while I’m listening to it. Also, this strikes me as an interesting and good use of a wiki community. The TuneWiki wiki site has announced that the Universal Music Publishing Group has granted the wiki community permission to legally view all of the Universal Music Publishing catalog of North America.

Check it out: TuneWiki

 
 

Development for the iPhone has really taken off since Apple’s release of the SDK (Software Developer Kit). However, if you’d like to take advantage of developers who have released applications for the iPhone not officially blessed by Apple, you may want to Jailbreak your iPhone. And, if you’d like to use your iPhone with a service other than ATT, you may want to unlock it.

Fortunately, there is a relatively easy way to do this. The good folks over at iJailbreak have created a cool little installer that does all the work for you. It about 3 minutes to both jailbreak and unlock your iPhone. Once done, you’ll notice the addition of an Installer icon on your iPhone.

Click on this icon to enter the installer, where you can intsall, uninstall, and update a large collection of applications for your iPhone.

The list of available applications is huge, and growing.

In future posts, I will begin to review some of my favorite third party applications.

Also noteworthy, iJailbreak will unlock your phone. Although I haven’t tested this myself, there are numerous reports from folks who have successfully used the iPhone with non-ATT services.

 
 

I did it. I bought one.

I have been feeling angst about buying the iPhone since before they were introduced. It just seemed like too much money. But when Apple announced the 16GB iPhone, along with the promise of the SDK for developers, I decided to go ahead and get me one.

It’s beautiful.

It arrived last weekend. The activation process was simple, easy, and all done from iTunes on my laptop at home. This should be a model, studied in business courses throughout the world, on how to make the customer experience a pleasant one. Since I was already an AT&T customer, the process took all of 5 minutes. A buddy of mine who switched from Verizon said the process was equally easy, taking about 20 minutes (including porting over his addresses).

Apple should be announcing some very cool new apps for the iPhone in the next 2 weeks. Since I couldn’t wait, I have already started experimenting with loading several 3rd party applications. Over the next week or so, I will be posting here about what apps I found particularly useful, and the process I used to load them.

Stay tuned…