even though very very few sites require http referrer, an intreasting idea :-La
While I don’t know the solution, may getting an add-on call “greasemetal” <----something like that
a script possibilities like this
// ==UserScript==
// [at]name googlePrivacy
// [at]namespace download
// [at]description Gets rid of almost every google tracking device including tracking cookies without killing your preferences.
// [at]include http://*.google.com/search?*
// [at]include http://www.google.com/*
// [at]include http://www.google.*
// [at]include http://images.google.com/*
// [at]include http://images.google.*/*
// [at]include http://google.com/*
// [at]include http://google.*
// [at]include http://news.google.*
// ==/UserScript==
function $(a){return document.getElementById(a)}
function replace_google()
{
unsafeWindow.g=null;
unsafeWindow.clk=null;
unsafeWindow.dyn=null;
unsafeWindow.google={};
unsafeWindow.google.safeSearchBar={};
unsafeWindow.google.safeSearchBar.toggle=function(a)
{
a.stopPropagation();
var c=$("ss-box");
c.style.visibility=(c.style.visibility=="visible"?"none":"visible");
return false;
}
unsafeWindow.gbar={};
unsafeWindow.gbar.tg=function(a)
{
var c=0;
a.stopPropagation();
a=a.originalTarget;
if(a.className!="gb3") a=a.parentNode;
var b=a;
var d=b.getAttribute("aria-owns");
d&&(d=$(d))||(d=$("gbi"));
if(!d) return false;
do c+=a.offsetLeft;
while(a=a.offsetParent);
if(c+d.offsetWidth>document.width) c-=(d.offsetWidth-b.offsetWidth);
d.style.left=c+"px";
d.style.visibility="visible";
return false;
}
document.addEventListener("click",function()
{
var d=$("ss-box");
if(d) d.style.visibility="hidden";
d=$("gbi");
if(d) d.style.visibility="hidden";
d=$("gbg");
if(d) d.style.visibility="hidden";
return false;
},false);
if(location.href.indexOf("news.google.")!=-1) setTimeout(function()
{
replaceElement($("top-stories"));
replaceElement($("headline-gadgets"));
var t=document.getElementsByClassName("section large-section ls-right");
for(var i=0;i<t.length;i++) replaceElement(t[i]);
var t=document.getElementsByClassName("section large-section ls-left");
for(var i=0;i<t.length;i++) replaceElement(t[i]);
},10);
else replaceElement(document.querySelector(".lst"));
}
addEventListener("load",replace_google,false);
function replaceElement(a)
{
var r=document.createElement(a.nodeName.toLowerCase());
for(var i=0;i<a.attributes.length;i++) r.setAttribute(a.attributes[i].name,a.attributes[i].value);
while(a.childNodes.length>0)
{
var t=a.firstChild;
a.removeChild(t);
r.appendChild(t);
}
a.parentNode.replaceChild(r,a);
}
function genHexStr(len)
{
var str="";
for(i=0;i<len;i++) str+=Math.floor(Math.random()*16).toString(16);
return str;
}
/*
function getCookie(name)
{
var cookies=document.cookie.split("; ");
for(i=0;i<cookies.length;i++)
{
if(cookies[i].indexOf(name+"=")==0) return cookies[i].split(name+"=")[1];
}
}
function getGooglePref(name)
{
var cookies=getCookie("PREF").split(":");
for(i=0;i<cookies.length;i++)
{
if(cookies[i].indexOf(name+"=")==0) return cookies[i].split(name+"=")[1];
}
}
var pref="";
var prefVarList=["NR","NW","LD","LR","FF"];
for(i=0;i<prefVarList.length;i++)
{
var p=prefVarList[i];
pref+=getGooglePref(p)?":"+p+"="+getGooglePref(p):"";
}
*/
//most of these don't work, need a better cookie api
//unsafeWindow.document.cookie="SNID=27="+genHexStr(58)+"; path=/verify; domain=.google.com";
//unsafeWindow.document.cookie="NID=27="+genHexStr(129)+"; path=/; domain=.google.com";
//unsafeWindow.document.cookie="id=OPT_OUT; path=/; domain=.doubleclick.net; expires=Wednesday, 09-Nov-2030 23:59:00 GMT";
//var t=Math.floor(new Date().getTime()/1000)
//var TM=Math.floor(t-(Math.random()*5000));
//var LM=Math.floor(t-(Math.random()*5000));
//unsafeWindow.document.cookie="PREF=ID="+genHexStr(16)+":U="+genHexStr(16)+":TM="+TM+":LM="+LM+":S="+genHexStr(16);
//unsafeWindow.document.cookie=pref;
unsafeWindow.document.cookie="SS="+genHexStr(16)+"; path=/search";
try{var p=$('tads');p.parentNode.removeChild(p)}catch(e){};
try{var e=document.querySelector("table[class='ra']");e.parentNode.removeChild(e);}catch(e){}
try
{
var e=document.evaluate("//a[starts-with([at]href,'/url?q=')]",document,null,XPathResult.ORDERED_NODE_SNAPSHOT_TYPE,null);
for(i=0;i<e.snapshotLength;i++)
{
var ce=e.snapshotItem(i);
var url=ce.getAttribute("href");
ce.setAttribute("href",decodeURI(url.substr(7,url.indexOf("&")-7)));
}
}catch(e){}
try
{
var e=document.evaluate("//a[starts-with([at]onmousedown,'return') or starts-with([at]onmouseup,'return') or starts-with([at]onclick,'return')]",document,null,XPathResult.ORDERED_NODE_SNAPSHOT_TYPE,null);
for(i=0;i<e.snapshotLength;i++)
{
var ce=e.snapshotItem(i);
ce.removeAttribute("onclick");
ce.removeAttribute("onmouseup");
ce.removeAttribute("onmousedown");
}
}catch(e){}
try{document.querySelector("input[name='q']").focus();}catch(e){}
var n=-1,tt=400,t=0;
function mm()
{
if(n!=-1) return;
removeEventListener("mousemove",mm,false);
n=setInterval(function()
{
t+=10;
var o=t/tt;
if(o>1) o=1;
$("ghead").style.setProperty("opacity",o,null);
$("fctr").style.setProperty("opacity",o,null);
if(o>=1) clearInterval(n);
},10);
}
if($("ghead")) addEventListener("mousemove",mm,false);