We Recommend

Pro JavaScript Techniques Pro JavaScript Techniques
Pro JavaScript Techniques is the ultimate JavaScript book for the modern web developer. It provides everything you need to know about modern JavaScript, and shows what JavaScript can do for your web sites. This book doesn't waste any time looking at things you already know, like basic syntax and structures.


Posted By

shaunchapman on 07/01/09


Tagged

howto iphone proxy ipod touch socks


Versions (?)


Who likes this?

1 person has marked this snippet as a favorite

umang_nine


How To Connect To A SOCKS Proxy From An Unjailbroken iPhone/iPod Touch


Published in: JavaScript 


Let's say, perhaps, that you are already forwarding your web traffic through an SSH/SOCKS tunnel at work (for privacy reasons that have absolutely no relation to accessing blocked sites LOL!) and you would like to use that same tunnel on your iPhone/iPod Touch. This is actually pretty easy to accomplish.

First, you need to make sure the SOCKS tunnel on your work computer allows LAN connections so your iPhone/iPod Touch can connect to it. To do this, you simply need to add -g to your existing SSH command (something like ssh -N -g -D 1080 user@domain.com).

Most people think you can't connect to a SOCKS proxy from an iPhone/iPod Touch without jailbreaking it but the truth is you can. You simply have to create a Proxy Auto-Config (PAC) file, insert the function below in it (replace the x's with your IP and the y's with the port you used after the -D in your SSH command), and save it to a web accessible place with a .pac extension. If you're reading this chances are you know how to serve a file over HTTP on your work LAN, so I won't delve into that.

Finally, on your iPhone/iPod Touch, go to Settings > Wifi and click the blue arrow to the right of your work network, scroll to the bottom, click Auto and type in the address to your PAC file (e.g. http://192.168.xx.xx/mysupersecretproxy.pac).

Congrats! Now you can surf the web securely from your iPhone/iPod touch ;)

  1. function FindProxyForURL(url, host) {
  2. return "SOCKS 192.168.xx.xx:yyyy";
  3. }

Report this snippet 

You need to login to post a comment.