HoTTProxy Logo by Rax from CDMAForums.com

 Welcome to HoTTProxy

Welcome to the home of HoTTProxy - the open source HTTP proxy targeted specifically toward serving the needs of wireless Internet devices (cell phones, PDAs, etc.).

If you're familiar with HoTTProxy and are here for "routine business", here are the links you need:

If you're new to HoTTProxy, please, before downloading HoTTProxy, read the appropriate Installation Guide for your platform, and also read the rest of this page. This ensures that you know what HoTTProxy will and won't do for you, how to set it up, and finally, how to (and how not to) go about getting help if you have problems.

Important:

Sections on the rest of this page:

 What problem is HoTTProxy meant to solve?

All software is written to solve a problem of some sort. HoTTProxy is of course no different.

With most Internet capable wireless devices, proxy Internet access is available from the carrier for a modest monthly fee. When you obtain your proxy access from your carrier, you are limited by the features of that carrier's proxy server, as well as any other limits the carrier decides to place upon you. If you're the paranoid type, you might also wonder what sort information about your web surfing your carrier is recording, and exactly what they do with that information. The "limited features" part is the part that drove me the most.

So what features do I want in a proxy server? The ideal proxy server will be (in order of importance):

  1. Reasonably priced
  2. Run on Windows (if it runs on other platforms that's cool too)
  3. Provide HTTP (WAP 2) proxy capability (as opposed to WAP 1.x)
  4. Allow you to restrict access by requiring a UserID and password
  5. Provide for redirection of "local" domains (more about this later)
  6. Provide proxy cookie support (more about this later)
  7. All configuration possible through text files to permit automation and writing front-ends

I'm sure I don't need to mention that HoTTProxy does all this.

 Why HoTTProxy instead of xyz_product?

The answer to this question is simply that not a single proxy program on the planet (that I am aware of) meets the requirements above. There are a good number of proxy servers out there, and even quite a few proxies that try to serve the special needs of WAP (Wireless Access Protocol) devices, but unfortunately, all have one or more deficiencies which make them unsuitable for my purpose. As a brief aside, for the purposes of HoTTProxy, when we talk about WAP, we are really talking about WAP 2 which is basically just HTTP at the proxy end.

 Why is it HoTTProxy and not Hottproxy or Hotproxy?

Those of you that were using the Internet back when Hotmail first came out (before Microsoft bought it) might remember that it too had a "mixed capitalization" name - HoTMaiL. While a bit tough on the eyes, the idea was that HoTMaiL was HTML email. Get it? I decided that my HTTP Proxy would be HoTTProxy for about the same reason. Also, the extra 'T' meant I could get the .com, .net, and .org domain names which was a bonus. Finally, taking a hint from an article by Roger Binns (creator of BitPim), I Googled 'HoTTProxy' and got exactly zero matches. That too was a bonus as the chances of confusion with other software was pretty much zilch.

 What is "local domain" redirection and why do I want it?

In an attempt to frustrate mere mortals who wish to use their own proxy server for wireless web access, some carriers (Verizon for example) set the homepage to something rather useless like "http://homepage", and then disable your ability to edit the homepage setting. With most phones you can get around this by using BitPim to download the WebSessions file to your PC, hex edit it, change the homepage, and save it back to the phone. This however requires you to have a programming cable, BitPim, a hex editor, and the wherewithal to use it all without trashing your phone. Domain names like "http://homepage" are called "local" domains because they don't have at least one period in the name. No periods in the name means they have no TLD and no TLD means they must be "local" to the device that is asking for it (which if you were using your carrier's proxy - it would be).

Since that local domain doesn't exist on any other proxy server you use, when your phone asks for it, you get an error. If your phone's browser doesn't have a way to go to a specific URL (many don't), then you're dead in the water.

Techno-babble aside, if your WAP browser is locked to a homepage like "http://homepage", the name doesn't resolve and you can't really use the Internet without resorting to crazy hacks like editing your Websessions file or sending yourself emails with URLs in them, and such.

HoTTProxy gets around all this by providing for redirection of all local domain requests. There is a proxy-wide default URL in the configuration file (DefaultHomePage) that local domain requests are redirected to, as well as the opportunity to set unique URLs for each user that, if set, will override the default.

This eliminates a lot of headache and hassle at the client (phone) end. Somehow it probably also irritates Verizon which is a bonus.

 What is "proxy cookie" support and why do I want it?

While this will probably change some day, presently many (most?) WAP browsers don't know anything about cookies. If a web server sends a cookie to the WAP browser, it will just be ignored, and of course that means it won't be sent back to that web server during subsequent requests. I appreciate the irony in the fact that we spend so much time and effort killing and blocking cookies on our personal computers, only for me to go out of my way to enable cookies on a platform that natively doesn't support them. However it is a fact that cookies do serve a useful purpose (especially on WAP devices where "remembered" preferences might save you a lot of tedious "typing". The reason most WAP devices don't support cookies is that it uses up memory (which the phones typically don't have a lot of to begin with) to store all that cookie information. On a personal computer however, the relative amount of storage that cookies take up is trivial.

In order to provide cookie support for WAP devices, some "carrier class" WAP Gateways costing in the tens or hundreds of thousands of dollars provide a feature called "proxy cookie" support. With proxy cookie support, when a web server sends a 'Set-Cookie' header as part of the reply to your request, that information passes through the proxy server (headed for your WAP device), the proxy server strips it off, and files it in a store of cookies for the user that requested the web page. The next time that user requests a web page from a host that is allowed to receive that cookie, the proxy server will add the appropriate 'Cookie' header into the request as it passes through the proxy server, and the web server will receive the cookie. In this way you can benefit from most features that require cookies, even though your WAP browser will have no idea any of it happened.

The collected cookies for each user are stored as a group of specially named and formatted text files, and as such are just begging for good front ends to be written to allow end-users to manage (view, erase, maybe even modify) their cookies.

Even if your phone does support cookies, you might be better off using proxy cookies instead. Why? Pretend that you use your phone to access a bunch of different sites that normally require a login. But, because your phone supports cookies the site "remembers" who you are (using the cookies) and so when you go there from your phone, you're already logged in. Handy? Yep. Saves typing? Sure. But what happens when you lose your phone and someone of unscrupulous character finds it? Assuming they are smart enough to fire up your browser, now they "are you" on all those sites. If the cookies are on your phone, your only option is to quickly go change your password on every site your phone knows about. Not fun. If you use proxy cookies through HoTTProxy, you simply go change the password on your HoTTProxy account and suddenly your phone can't access the Internet anymore, and it won't have your cookies even if the "bad guy" points the phone to a new proxy. When you get your new phone, you just Set it up to use HoTTProxy, give it your username and new password, and voila all your cookies are already there and you're up and running. Neat!

 I need help and the author isn't answering my emails!!!

In order for me to be able to spend time improving HoTTProxy, and still have a life (yeah right) the only support that is provided for HoTTProxy is via the forum. In this way, other experienced users have an opportunity to help answer questions, and, when the questions are answered (be it by me or someone else), everyone benefits from the answer instead of just one person. If new users will search the forum to see if their question has already been answered, this will improve the signal to noise ratio, and save a lot of time.

Before you post your question on the forum, you might want to consider reading this valuable article. Following the advice in this article will greatly improve the quality of your question, and therefore the quality of the answer you receive. It may also help to explain any bizarre responses you receive if you ask a question without following the advice in the article.

Note that if after all of the above, you email me directly with a support question that really belongs on the forum, a response is not likely. Please, please, pretty please, use the forum - that's why it's there.