The purpose of this document is to bring better iPhone tethering to the masses. Before I state anything further, please note that I am simply compiling this information after the experience of setting this up myself. Credit for the methods used goes to others. I do not wish to take credit for their work, but simply to give the easiest, step by step tutorial for these methods.
What's better? / Why not a proxy?
Prior to this point, "tethering" has been achieved on the iPhone two ways (to my knowledge). An HTTP proxy and a SOCKS proxy. Both of these methods worked nearly identically, and have the same set of advantages and disadvantages. They are easy to set up (one of them available from Installer.app) but end up having usability issues. These included:
- Reliability: tethering sometimes failed to function if safari wasnt open, or edge wasn't otherwise provoked
- DNS: Most users reported sporadic DNS lookups, and found that many webpages fail to open unless first opened in MobileSafari first
- Ports: Access with the proxies appears to be limited to traffic utilizing port 80. This cuts pop/imap email, nearly all forms of IM, and any other non-web-browsing internet activities out
Fortunately, we finally have a new method. This method has been tested as having NONE of the issues above. All sites open, email is functional, and all IM services tested worked.
Disclaimer: I, the creator of this tutorial, nor those who created the various parts of this method, nor their mother's dogs or cats are responsible if you get your AT&T service disconnected. It is very possible that tethered internet access from your iPhone is a violation of your contract. That said, proceed at your own risk. I advise using it when you need it...and not to download like mad. It has been generally discovered that light/moderate tethering is not punished. BUT you've been warned.
What I assume you've already done:
- Performed Jailbreak
- Installed OpenSSH (can be done via installer.app)
- Tested SSH into your iPhone
- ARE USING MAC OS X
- Have at least a slight knowledge of using the terminal
Once you've got those things covered, proceed to the next page