Automatic HTTP proxy selection (idea)
Return to Automatic HTTP proxy selection (idea)
| Well, being an EE graduate student I often need to access online scientific journals, most of which limit access based on the user's IP address. Therefore, at school I can access these sites directly, while at home I have to use an http proxy provided by the school (of course a login and a password is needed on the proxy so that only students can access it, otherwise the owner of the journals would croak).
The problem is that I have to access other sites at home as well, which are preferably accessed directly, since accessing unrelated sites using the school proxy is both slow and wasteful. Maybe certain recent browsers have better support for automatically switching on and off proxies depending on the site you are accessing, but at the time I set up this, in most browsers quite a few clicks are needed to turn on the proxy, and as many are needed to turn it off --- if I had forgotten to turn it off I would silently waste the school proxy's bandwidth until I noticed the slowness. Some classmates suggest JavaScript for the job but I really don't know how. Therefore I make use of Squid (an HTTP proxy server) to choose the proxy automatically for me, by starting a proxy locally and accessing outside proxies through it:
Now you will never need to change the proxy settings in your browser again! One remaining problem is that your password appears in plain text in the squid.conf file, which is by default world-readable. So if you are security-conscious, set its permission bits properly. The above setup has an additional benefit if you use multiple web browsers or switch browsers often: since the local proxy's cache is shared by all web browsers (and other applications using it), you can turn off caches in individual browsers and improve speed as well as save disk space by avoiding duplication of the same page in the cache of individual browsers. Personally I use both Mozilla-based browsers and a text-mode browser such as links, the latter used when browsing API documentation, so this feature is very useful to me. | Existing:
Non-Existing: |