Skip to main content
  • Life is a Prayer.com
  • Blog
  • Reviews
  • Articles
  • Pictures
  • Store
  • About

Life is a Prayer.com

Share a Proxied Network Connection via WiFi to your iPad/iPhone/iPod

For the past six weeks that I've had my iPad, I've fought with my office network, because it uses a Microsoft/NTLM authenticated proxy server which wreaks havoc on the iPhone OS's ability to use the Internet effectively (especially for third party apps).

After reading through countless forum support requests for people asking the same questions, I've finally found a (mostly) workable solution for this problem—at least for most apps and browsing on the iPad.

Doubling the Proxy

Since the iPhone OS seems to have a pretty hard time dealing with proxy authentication (most apps don't act like there's even an internet connection, even if Safari will work through the proxy), I used a solution I often use on my Macs at work: doubling up the proxy.

Basically, you can use an application like Authoxy on the Mac to make the Mac translate all its web traffic through a special internal connection, which gets messaged correctly by Authoxy to work with your company's proxy server.

For the iPad, however, you will need a different way of funneling your connection through your Mac to your iPad. First, you need to turn on Internet Sharing with your Mac (instructions), then you will need to download and run NTLMaps, which is a little command-line python script that works similarly to Authoxy, but is a little more efficient in what it does, and works better with the iPad.

To run NTLMaps, all you need to do is open up the Terminal and type in /path/to/main.py

This will run the python script that kicks off the appropriate connections on your Mac. To configure NTLMaps for your network, you need to open up the included server.cfg file (in the same folder as main.py) in your favorite text editor, and read through it to make the changes for your network environment.

For my purposes, I edited the following:

  • # The port on which your computer will act as a proxy server
    LISTEN_PORT: 8082
  • # Your office's proxy server
    PARENT_PROXY: 10.1.1.3
  • # Your office's proxy server port
    PARENT_PROXY_PORT: 8080
  • # Set this to 1 to allow your iPad to connect
    ALLOW_EXTERNAL_CLIENTS: 1
  • # The domain of your windows network
    NT_DOMAIN: domain.org
  • # Your network username
    USER: username
  • # Your network password
    PASSWORD: password

You can read through the other options, but these are what are necessary to get you started.

Connecting on your iPad/iPhone/iPod

Once you have the NTLMap script running on your Mac (you'll see Now listening at your-computer-name.domain.org on port 8082 in the Terminal window), and you have Internet Sharing turned on, you can connect to your Mac's shared WiFi connection on the iPad.

Under the HTTP Proxy settings for your wifi network (click the blue right arrow next to your wifi connection's name to get to the settings for that network), enter the following information:

iPad Proxy Settings - Authentication through NTLMap

  • Tap on 'Manual' for the HTTP Proxy type.
  • Enter your Mac's IP address (look above at the 'Router' value) for 'Server.'
  • Enter the port you have set as "LISTEN_PORT" in NTLMap.
  • Leave 'Authentication' set to OFF.

You should now be able to open up Safari, Twitteriffic, WeatherBug, Dropbox, and any other Internet-enabled app and get online pretty easily.

I'm still working on finding a way to get my mail to route correctly to the iPad's built-in Mail app, but for now, most everything works great!

Categories:
  • Computing
  • authentication
  • ipad
  • iPhone
  • ipod touch
  • networking
  • ntlm
  • proxy

Comments

On May 28, 2010, Jeff Geerling said:

Researching this further, I might be able to use SOCKS via HTTP to tunnel the common mail ports, like mail (25/26, 443, etc.) through my HTTP proxy connection set up through NTLMaps. We'll see.

On May 28, 2010, Jeff Geerling said:

To make this a bit easier to run, I moved my installation of NTLM into my /etc/ folder (so to run it I can type /etc/ntlmaps/main.py in the Terminal.

On top of that, I created a new text file with the name ntlmaps.command, with the contents below, which is basically a shell script that runs when you double-click it in the Finder. The .command file needs to be made executable (in Terminal, type in chmod ug+x /path/to/filename.command):

#!/bin/bash
clear
/etc/ntlmaps/main.py

More Articles

Here are some other articles on Lifeisaprayer.com that you may be interested in reading. Also, be sure to check out Jeff Geerling's blog, Matthew 12:37.

  • iPhone and iPod Touch - Professional Digital Audio Recorders
  • DIY $10 iPhone 4 & 3G/3Gs Tripod Adapter/Case
  • iPhone 4 (+ iPad, iPod Touch) - External Microphones for Audio input
  • Share a Proxied Network Connection via WiFi to your iPad/iPhone/iPod
  • Users Are Stupid - a Guiding UX Principle
  • Post Photos/Images to Your Drupal Site from the iPad
  • Should I Sleep or Shut Down my Mac?
More Articles ยป

Jeff Geerling

Jeff Geerling
Catholic web developer and photographer from St. Louis, MO. More »

Catholic Car Wash - Thumbnail Logo

Related Content

  • Posts on Video and Audio Recording with iPhone and iPod Touch
  • iPhone and iPod Touch - Professional Digital Audio Recorders
  • Is the iPod Touch another Nail in Flip's Coffin? (HD Video Recording)
  • AT&T's New Data Plans - No More Unlimited...

Special Sections

  • Roma, Italia 2009

Featured on CNL

Catholic News Live - Featured

Popular content

All information is ©2010 Jeff Geerling. All Rights Reserved. If you would like to contact Jeff, please visit the About page. Login