7

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 Answers 3

3

Try Redirector extension in Firefox.

edit: other option is to set up www proxy server.

1
  • 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
    Sep 28, 2010 at 10:54
3

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.

1
  • Just a heads up that the “Wwwoffle” link is down and out. // 6 years later, this can surely happen. ;)
    – e-sushi
    Jan 20, 2016 at 13:16
2

Here's what I would do:

  1. Open up your hosts file in a text editor.
  2. Add entries at the end of the file that map the domain names you need to 127.0.0.1.
  3. Save the file.
  4. Create the directory structure for your domains that match the paths of the files you want to reference and copy the files there.
  5. In the web server on your local machine, create websites that correspond to the domains you added in step 2 pointing to the folders you created in step 4.

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.

  1. You would add a hosts file entry of 127.0.0.1 ajax.googleapis.com.
  2. You would then create this folder structure: ajax.googleapis.com > ajax > libs > jquery > 1.4.2.
  3. You would then copy the jquery.min.js file into the 1.4.2 folder.
  4. After that, you would setup ajax.googleapis.com as a website on your local web server, pointing to the ajax.googleapis.com folder you created.
3
  • 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 ? Sep 28, 2010 at 15:25
  • 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
    Sep 28, 2010 at 16:28
  • @Carl_Platt: Yes, adding the suggested line would point ajax.googleapis.com/ajax/jquery/1.4.2/jquery.min.js to 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
    Sep 28, 2010 at 17:25

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .