6
Is there a specific way to redirect requests for a specific URL from a browser to a local site or location?e.g. setting a Firewall or some OS rule to redirect a request for the jQuery lib to a location on my machine?
6
Is there a specific way to redirect requests for a specific URL from a browser to a local site or location?e.g. setting a Firewall or some OS rule to redirect a request for the jQuery lib to a location on my machine?
3
Try Redirector extension in Firefox.
edit: other option is to set up www proxy server.
2
Here's what I would do:
For example, let's say you want to use Google's hosted jQuery, whose path is http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js.
127.0.0.1 ajax.googleapis.com
. ajax.googleapis.com
> ajax
> libs
> jquery
> 1.4.2
.jquery.min.js
file into the 1.4.2
folder.ajax.googleapis.com
as a website on your local web server, pointing to the ajax.googleapis.com
folder you created.Nice, but every other request to ajax.googleapis.com (for example other version of JQuery, or other js libraries) will also hit localhost. Many sites rely on their CDN. Do you want to mirror whole ajax.googleapis.com on your localhost ? – Casual Coder – 2010-09-28T15:25:48.483
I see what you are both saying. My problem is that i am in a very bandwidth restricted part of the world, but tend to hang out on sites which rely heavily on certain jscript libs. I am looking to host some of the more popular libs (jquery, mootools, prototype etc) locally since even CDNs aren't very effective from here. I will implement Tim's idea, and fiddle around to see what i get. I take it that it isn't possible to have an entry of type 127.0.0.1 ajax.googleapis.com/libs/jQuery/... is it? – emilio – 2010-09-28T16:28:09.177
@Carl_Platt: Yes, adding the suggested line would point http://ajax.googleapis.com/ajax/jquery/1.4.2/jquery.min.js to http://localhost/ajax/jquery/1.4.2/jquery.min.js See how the hosts files work? Just the domain itself is entered, the folders and files underneath that domain aren't. So, install XAMPP or similar, and on your local machine in the server root for the web server, have the structure match that of the Google API URL: (ajax/libs/jquery/1.4.2/) and put "jquery.min.js" there.
– Mistiry – 2010-09-28T17:25:19.3572
Considering your question and your comments, you seem to want to reduce bandwidth usage by blocking or caching some web pages and components.
There are Firefox extensions that may help you. In particular Adblock is a generic mechanism for blocking some URLs, and Adblock Plus comes with a list of ad sites to block. Another one is FlashBlock, which delays the loading of flash content until you request it.
Then you should use a web caching proxy. Wwwoffle in particular was designed specifically with dial-up users in mind. Its name comes from its offline mode (serving cached pages only). It also has options to fine-tune how long things should be kept in cache. In particular you can tell it to trust the cache for longer than the site says it's valid (which is perfectly fine in most cases, occasionally means you need to reload pages explicitly, and plain doesn't work with a few sites of dubious design).
You will probably also benefit from a DNS caching proxy (DNS doesn't use much bandwidth but introduces latency). Pdnsd keeps a cache on disk, even when offline (it's a bit like wwwoffle for DNS). Dnsmasq is another possibility.
Just a heads up that the “Wwwoffle” link is down and out. // 6 years later, this can surely happen. ;) – e-sushi – 2016-01-20T13:16:12.003
i am looking for a more OS based solution, something similar to iptables, that way i am not dependent on FF for this feature. – emilio – 2010-09-28T10:54:56.740