PlexConnect: Connecting Plex and the Apple TV

The Apple TV is a nifty little device but it’s nowhere close to being able to play anything you want. It cannot play from USB drives. And it can’t play network shares either. Not from AFP, not from SMB, not from DLNA. There’s no app store for the Apple TV (yet) so there’s not installing and running the Plex Player app. So it can’t play from from Plex Media Server either. At least not directly.

Fortunately, there is a workaround: PlexConnect. And it is genius! You see, some of the built-in Apple TV apps get their UI and content from remote web servers. So it was a matter of hijacking the web traffic to from one of these apps and redirect it to PlexConnect running on local machine. PlexConnect then communicates with Plex Media Server and serves up modified UI and content to the hijacked app on the Apple TV. Of course, the hijacked app won’t work as before anymore.

Normally the hijacked app is the Trailers app. But since I didn’t have the Trailers app on my Apple TV, I used the WSJ app instead. If you have the same situation then in the instructions below replace of “trailers” with “wsjapp” and replace of “trailers.apple.com” with “videoapisecure.wsj.com

Here are the consolidated instructions (from https://github.com/iBaa/PlexConnect/wiki/Install-Guide) for Mac OS X:

1. Install Plex Media Server
2. Download PlexConnect (https://github.com/iBaa/PlexConnect/archive/master.zip)
3. Extract and drag PlexConnect-master to the Applications folder
4. Open a terminal window (Terminal.app on Mac) and run the following command

openssl req -new -nodes -newkey rsa:2048 -out ~/Desktop/trailers.pem -keyout ~/Desktop/trailers.key -x509 -days 7300 -subj “/C=US/CN=trailers.apple.com

 

openssl req -new -nodes -newkey rsa:2048 -out ~/Desktop/wsjapp.pem -keyout ~/Desktop/wsjapp.key -x509 -days 7300 -subj “/C=US/CN=videoapisecure.wsj.com

5. This will create two files on your desktop: trailers.key and trailers.pem (or wsjapp.key and wsjapp.pem). Next run the following command:

openssl x509 -in ~/Desktop/trailers.pem -outform der -out ~/Desktop/trailers.cer && cat ~/Desktop/trailers.key >> ~/Desktop/trailers.pem

openssl x509 -in ~/Desktop/trailers.pem -outform der -out ~/Desktop/wsjapp.cer && cat ~/Desktop/wsjapp.key >> ~/Desktop/wsjapp.pem

Three files should now be on your desktop trailers.pem, trailers.key, and trailers.cer. (or wsjapp.pem, wsjapp.key, and wsjapp.cer).

6. Place the .pem and.cer files into the following folder:

/Applications/PlexConnect-master/assets/certificates/

7. If you’re hijacking the WSJ app, you need to edit the PlexConnect configuration:

/Applications/PlexConnect-master/Settings.cfg

Set hosttointercept to “videoapisecure.wsj.com“:

hosttointercept = videoapisecure.wsj.com

8. If you’re hijacking the WSJ app, you need to edit the Settings script:

/Applications/PlexConnect-master/Settings.py

Change line 35 to (note the red dash):

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

9. Run PlexConnect by first opening a terminal window (Applications -> Utilities -> Terminal), then type the following:

sudo “/Applications/PlexConnect-master/PlexConnect.py”

Provide your Administrator password to complete PlexConnect startup.

You should now see messages like these in the terminal window: PlexConnect Terminal

Write down the IP_Self: ###.###.###.### address. This is the IP of your PlexConnect server

SelfIP

On the Apple TV, choose Settings > General > Network > Wi-Fi. Then Choose your Wi-Fi network Name WifiSettingsChange the DNS setting from “Automatic” to “Manual”. WifiDNSEnter the IP of your PlexConnect server as the DNS server.DNSIP

Go to the AppleTV settings menu. Select “General” then scroll the cursor down to highlight “Send Data To Apple” and set to “No”.

With “Send Data To Apple” highlighted, press “Play” (not the normal “Select” button) and you will be prompted to add a profile.

Enter (without the quotes): “http://trailers.apple.com/trailers.cer” (or “http://videoapisecure.wsj.com/wsjapp.cer“)

Launch the Trailers (or the WSJ app).

Now you can play media from your Plex Media Server library on your Apple TV.

Enjoy!

UPDATE 6-22-15: Changed from old “secure.marketwatch.com” to new “videoapisecure.wsj.com”. Based on discussion at https://forums.plex.tv/index.php/topic/168109-plexconnect-suddendly-stopped-working/.

Laiya

We decided to go on a weekend trip to Laiya to celebrate Michelle’s birthday. We’ve been there before but this time we decided to use Google Maps and Waze which then proceeded to direct us to all the wrong places (as usual). As a result, we reached Laiya later than expected and we had to choose resorts with daylight running out (again).  After hurriedly checking out resort all the way towards far end of the cove, we went back and settled on Kabayan Beach Resort which we felt had more reasonable rates. 

Kabayan is your typical beach resort and is definitely not as fancy as the neighboring White Cove but they had a pool which we thought the kids would love. As it turned out we spent more time at the beach than at the pool. The sand is not exactly white but it’s white enough and pretty fine. The water is shallow for quite a long way and the bottom is soft and sandy. Definitely kid-friendly. They have a banana boat and other rides but those small-kid friendly so we skipped those.

The room we had was what they call “hotel type” which means it has what you would expect from a hotel room: a bed, a bathroom, a tv, and a refrigerator. I’m not asking for more and it’s nice and clean. That said, some fixtures and equipment are getting rather dilapidated. 

Food is available from the in-house restaurant. But the food is frankly nothing special and quite expensive for the quality. Unfortunately, there are no nearby standalone restaurants and we figured the restaurants at the other resorts either have the same fare or have costs commensurate to their room rates. 

Still, overlooking such minor niggles, you can have a great time at the beach. And we did!

AirPrint Through A Mac

If you don’t have an AirPrint-compatible printer, you can still print on your iDevices with the help of a Mac. Of course, you’ll need to keep said Mac on while printing :P

You have several options: Printopia ($20), Handyprint ($5 donation), and NetGear Genie (FREE). Free is good so NetGear Genie is it. It’s also the easiest to set up.

On Mac OS X:

  1. Download and install Genie.
  2. Start Genie and go to “AirPrint”. Select the printer you want to make available for AirPrint.

On your iDevice:

  1. On the pertinent app, select the “share” button.
  2. Select “Print”. This will take you to the Printer Options screen
  3. Select Printer
  4. Set the number of copies if you want
  5. Select “Print”

That’s it.

DD-WRT Printer Sharing

On the DD-WRT Control Panel, go to the Services->USB tab in DD-WRT and enable Core USB Support, and USB Printer Support. Save and apply.

On Mac OS X:

  1. Download and install Gutenprint (formerly known as Gimp-Print). This is critical as DD-WRT will only work with a CUPS printer.
  2. Go to System Preferences->Printers and Scanners
  3. Add Printer (click the + button)
    add-printer
  4. Select IP
  5. On the address, enter the router’s address (normally 192.168.0.1)
  6. On the protocol field, make sure it is “HP Jetdirect – Socket”
  7. Leave the queue field blank
  8. On the name field, replace the address with something user friendly
  9. On the location field, add the location of the printer (optional)
  10. On the use field, choose “Select Software…” and look for your printer in the list. Make sure it’s the “CUPS+Gutenprint” version. Again, this is critical as DD-WRT will only work with a CUPS printer.
  11. Click “Add”
  12. Select the new printer and print a test page

Now you have a network printer shared via DD-WRT!

OtterBox Resurgence

otterbox-resurgence-frontiPhones don’t exactly have the best battery life. With normal use, they last me about a day. But with heavy use, which is often, I’d be lucky if they last till the evening. So I considered either a battery case or a power bank to address this limitation. Once, I spotted a Mophie Juice Pack but due to budget considerations I didn’t get it. When I finally decided to, I couldn’t find one anymore. So I settled for a power bank which does work but can sometimes a bit unwieldy and often get left behind. Then last Friday, I was looking at OtterBox cases when I saw the Resurgence. Being an avid OtterBox fan, I immediately got it.

The Resurgence is composed of two pieces. The front piece covers the sides and wraps around the edges giving the screen a slightly raised protective bezel. This protects the screen from direct contact when the phone is face down. The buttons have touch-through covers that are easy to press. Unfortunately, they are a bit loose and rattle when your shake the case. There are ports for the speakers that channel sound to the front. Finally, there are cutouts for the silent switch and the charging button on the back piece. The silent switch is still easily accessible with a finger.

otterbox-resurgence-backThe back piece is a big chunk that holds the battery. There are cutouts for the camera, flash, and silent switch. At the bottom portion, it has an internal Lightning plug, a micro USB port, a through-port for headphones, and the charging button which also acts as a battery level and charging indicator. It is coated with a black smooth material which seems less rubbery and more durable than similar coatings.

To install, you slide the phone inside the back piece and into the Lightning plug. Then you snap the front piece over the phone. The case comes with just a bit of charge from the factory so the first step is to charge using the included micro USB cable. Once charged, you press the charging button to see the battery level. There are four lights arranged around the button which shows the charge level in 25% increments. To charge, you press and hold the button for 3 seconds. To stop charging, you do the same thing.

The whole case fits the iPhone snugly and in fact it is very difficult to remove the phone. It looks quite rugged and could bounce off the floor. In fact, it is military-rated for drop protection (MIL STD 810G-516.6; Do note the Applicability to “ruggedized” consumer products section). So for a rugged battery case, I think it’s pretty good. I like it better than the Mophie Juice Pack though I’m not sure if it’s as rugged as the Mophie Juice Pack Pro.

Now for the bad stuff. The battery, although advertised to give you 2x (as in phone lasts twice as long), so far only get me (starting from below than 10%) to just around 70-80%. Quite frankly, that sucks. I’m hoping a few cycles will result in improvements. Another problem is that the charging button seems to be prone to cracking. Finally, there are quite a few molding imperfections on the casing. They’re small but they’re there. All these is unfortunate as OtterBox has, in the past, been known for quality. It seems the stiff competition is forcing it to cut corners. That’s bad news for both OtterBox and us.

Rating: 3/5