Wednesday, July 23, 2008

Get Your Computer Online Using Your iPhone's Data Connection [Jailbreak]

Source: http://feeds.feedburner.com/~r/lifehacker/full/~3/342488788/get-your-computer-online-using-your-iphones-data-connection

iphonetether.png The best way to put your newly jailbroken iPhone 2.0 to good use is to turn it into a cellphone modem for your laptop. When tapping out an email or pinching and swiping on the iPhone's web browser just doesn't get the job done—and you want to use the full keyboard and screen on your laptop in a Wi-Fi-less place—you can get your computer online using the iPhone's data connection. We've covered how to "tether" your iPhone before, but now that the iPhone 3G connection is speedier and the jailbreak process updated, here's a refresher course.

Helpful reader jewdass offered step by step instructions on how to get this done; here they are with annotations and links added.

1. Jailbreak your iPhone 3G (or first gen iPhone running the 2.0 software). Install OpenSSH via Cydia. (OpenSSH gives you command line access to your device; Here's its full user guide.)


2. Create an ad-hoc network on your computer. On Macs, just click on the Wi-Fi icon in the menubar and select "Create Network." On Windows, set up internet connection sharing.


3. Join the iPhone to this network via Wi-Fi as usual.


4. On the iPhone, under Settings->Wi-Fi, select the network you have joined to view connection details. Write down its IP address.


5. From the Mac's Terminal, run the following command:!
ssh -ND 9999 root@IPHONE_IPADDR
but replace IPHONE_IPADDR with the IP you wrote down in step 4. Login. The default root password is alpine; you should really login normally over SSH and change this.

Windows users: the free SSH client Putty will allow you to accomplish this same step. Don't install Cygwin+OpenSSH as some suggest, that's massive overkill.


6. Configure your browser to use a SOCKS5 proxy server at localhost:9999. Here's more on setting up a SOCKS proxy in Firefox; Adam did it on his Mac in Safari.


7. Surf. I've successfully done web browsing and IRC, anything that supports SOCKS4/5 should work. Haven't yet had success with my Citrix client :(

For the curious: The iPhone is joining your Wi-Fi network, but with no internet access on this network it falls back to using 3G for outgoing packets. ssh -ND creates a local proxy server that relays packets from the loopback address on your pc to the iPhone, which dutifully proxies them out the cellular connection.

Browsing is surprisingly fast, 3G really shows its potential here. It's zippier than doing it directly on the iphone, which I put down to rendering delay.

A more ideal solution of course would be to get the iPhone showing up as a regular access point. I see no reason why this wouldn't be possible, and will be doing some research myself, mostly observing what Unix processes handle this on desktop OS X, and see if they can be compiled from source for the iPhone. In the meantime, the steps to accomplish this are not bad and will definitely serve in a pinch.

Of course, using your AT&T plan in this way almost definitely breaks the terms of service, and it's not a good option for your primary! connect ion, but for a quick online task on the go, it's perfect. This means no more paying for wireless access at the hotel, airport, coffee shop, or war-driving for a Wi-Fi signal just to work online with a full keyboard on your laptop. Thanks, jewdass!