NoRedirect Firefox Extension

NoRedirect

  • Current version: 1.3.2
  • Released on: 27 Mar 2011
  • Compatibility: Firefox 3.0 - 6.0
  • SeaMonkey 2.0 - 2.1
  • addons.mozilla.org: current

NoRedirect is a Firefox/SeaMonkey extension that lets the user take control of HTTP redirects. It can be used to interdict an ISP's DNS search redirection hijacks, preview/screen "shortened" URLs, stop the annoying redirection of "smart" error pages, etc.

Flexible and customizable, NoRedirect puts an end to the usability nuisances of redirects, such as the inability to correct mistakes in the address bar, without affecting legitimate, useful redirects.

Screenshot: NoRedirect-1.2.0-Blocked.png

Why NoRedirect? — Examples of Usage

Stopping DNS error redirects

The original impetus for NoRedirect came from my frustration over Verizon's search service, for which opting out was not always possible (e.g., non-PPPoE customers). Every time I hit a DNS error—by mistyping an address, clicking on a link with a typo, leaving off a letter when copying and pasting, etc.—I would be redirected to Verizon's "helpful" search page, which meant that, if I wanted to fix my typo, I had to retype the entire address.

Such user-hostile services are now employed by virtually all major ISPs and even some domain registries—many users have experienced the frustration of being redirected after typing ".com" as ".cm" (e.g., mozilla.cm). In addition to suppressing such redirects, NoRedirect will also restore the browser's native behavior: the browser will display its built-in DNS error message, and the browser's keyword search feature, if enabled, will be protected from interference caused by these DNS hijacks.

Screenshot: NoRedirect-1.2.0-BlockedDNSRedirect.png

Previewing/screening "shortened" URLs

Among the problems resulting from the proliferation of URL shortening services is that of not being able to tell where a URL leads until it is too late. This is often exploited by pranksters and, on occasion, by people with malicious intent. While some services offer "previews" if you set a cookie, not all services offer this feature. By blocking redirects originating from known URL shortening services, NoRedirect can be configured to act as a gatekeeper to make sure that all redirection service URLs are screened.

Screenshot: NoRedirect-1.2.0-ShortenerPreviews.png

Stopping "smart" error pages

There are some sites that, instead of displaying a standard error message, such as the 404 error, will redirect you to the site's main page or to a "smart" error page. More often than not, these measures, instead of being helpful, just end up disrupting the user's browsing experience, making it difficult to fix simple errors such as typos or the leaving off of a few characters when copying and pasting an address. NoRedirect can be configured to stop such redirects, such as the one used in Microsoft's support knowledge base (which I often get snagged by when I try to enter article IDs in the address bar).

Screenshot: NoRedirect-1.2.0-BlockedSmartError.png

Why NoRedirect? — Flexibility

NoRedirect features a powerful, yet easy-to-use rule system that lets you control which redirects you want to block. You can block redirects based on their source (useful for screening redirection services) or destination (useful for stopping DNS error hijacks). The flexibility of the rule system makes it possible to exercise both coarse and fine-grained control. For example, you could treat the rule list as a simple blacklist, or you could treat the rule list as a simple whitelist by placing various allow rules above a wildcard block rule, or you could cook up you own scheme, such as creating a set of rules to block all redirects except for those that end in an image file extension or those that originate from example.org but not from example.org/bad.

Screenshot: NoRedirect-1.2.0-Settings.png

Miscellanea

JavaScript redirects: While NoRedirect can stop both HTTP redirects and "Refresh" redirects, JavaScript redirects are simply too open-ended to be stopped without disabling JavaScript.

Default rules: NoRedirect ships with a small set of pre-defined rules. If you would like to suggest a rule that would have sufficiently wide appeal to make it into this default list (or if you have any other comments or suggestions), please feel free to let me know; see the "Feedback" menu at the top of this site.

Translations

Supported languages
  • en-US
  • cs (translator: "PetrTwo")
  • de (translator: "erglo")
  • es-ES (translator: "urko")
  • fr (translator: Raphaël Huck)
  • it (translator: Luana Di Muzio)
  • ja (translator: "drry")
  • pt-BR (translator: Marcelo Ghelman)
  • ru-RU (translator: Пирятинский Виталий)
  • sv-SE (translator: Mikael Hiort af Ornäs)
  • zh-CN (translator: "Cye3s")
How you can help

If you would like to contribute a new translation or improve an existing translation, please visit NoRedirect's BabelZilla page.