In Google search results, in Firefox or Chrome, I get URLs that go through Google and not directly to the target site. For example, at http://www.google.com/search?q=foothe first result is http://www.google.com/url?sa=t&rct=j&q=foo&source=web&cd=1&ved=0CDIQFjAA&url=http%3A%2F%2Fen.wikipedia.org%2Fwiki%2FFoobar&ei=gBj9TtDpAcXT8QPI_4GdAQ&usg=AFQjCNH1J2pXAETcCKA7T6svhOKIRNyojgI don't really care that Google is tracking what I click, and I don't really care about the extra indirection when I click on a result (though both are concerns). But I find it annoying that I can't copy-paste a result by simply right-clicking on a link and choosing copy link address (I want to get the real result, not Google's redirection to it).I want to have the direct URL http://en.wikipedia.org/wiki/Foobar, at least for copy-paste purposes, in Firefox and Chrome.Google's behavior changed several times:When I asked this question, in a browser without Javascript, you got direct URLs in results: http://en.wikipedia.org/wiki/Foobar. The indirection was added via Javascript.Some time later, Google changed to provide indirect results in all browsers.Since 2012-09-04, it seems that:In a browser without JS, the HTML still contains indirect results.In a browser with JS support (at least in recent Firefox and Chrome), the HTML contains a direct result in the href attribute, but there is an onmousedown attribute that invokes the rwt function which does rewrite the link. You see the direct link when you hover, but you get an indirect link like the one above when you click or copy-paste.
Turning off Google search results indirection
google search;privacy
Author's note (July 2016): The answer below was written in 2011, and is still working in Google Search. I have published new extensions that use a different method to remove the search result indirection, which works on even more Google sites and on mobile.TL;DR: Don't track me Google is a user script Don't track me Google is an extension I made that allows you to copy normal URLs, while hiding the referrer to the sites you're visiting.InstallationDon't track me Google at the Chrome Web Store (updated in 2016).Don't track me Google for Firefox (desktop & Android) (since 2016).Don't track me Google at Userscripts.org (works in Google search only, not updated any more)ExplanationI have written a method which replaces the link-modifying rwt function with a bogus function that can't be touched by Google.By preventing Google from overwriting the rwt function, the link cannot be modified any more. This method depends on the Object.defineProperty method (Firefox 4+ and Chrome 5+). The fallback requires Firefox 2+ and Chrome 1+.Firefox 2+If you only want to remove the link-modifying behaviour, and not care about showing your search queries through the referrer, this GreaseMonkey script can be used:(very non-strict @include rules using wildcards and the Magic TLD)// ==UserScript==// @name           Don't track me Google// @namespace      Rob W// @include        http://*.google.tld/*// @include        https://*.google.tld/*// @version        1.2// @grant          none// ==/UserScript==use strict;if (Object.defineProperty) {   Object.defineProperty(unsafeWindow,rwt, {value: function(){return !0;}, writable: false });} else {   unsafeWindow.__defineGetter__('rwt',function(){return function(){return !0}});}Google Chrome does not support Magic TLDs, so the closest you can get is *://*.google.com/* (repeat the rule, replace .com with other supported Google TLDs).In Chrome, scripts have to be injected in the form of a <script> tag, because Content scripts are executed in an isolated world.Chrome & Firefox 2+ - Link to source codeOn January 21st, 2012, I published an extended version, which includes a referrer-hiding method, so that others cannot see your search query. This greatly improves your privacy.The mechanism is explained at this answer on Stack Overflow.Additional details are available at the source code and Don't track me Google description, a user script which fixes the URIs and hides the referrer.(Update from 2016: this referrer hiding is not needed any more in modern browser because of the referrer policy, which only shows the domain in the Referer header)