今天网速不好,用firefox右上角的搜索框进行Google搜索时发现网址被定向到了一个奇怪的地方——www5点1616点net,还以为是电脑中毒了。
后来上网查发现原来是“火狐主页”这个插件与1616有一腿!
http://mozilla.com.cn/post/21202/
http://mozilla.com.cn/post/31138/
凡是通过about:home主页上的Google或右上角的Google进行搜索都会被先定向到www5点1616点net再转到Google。超不爽啊!有木有!给小破网站添加点击事小,影响用户体验事大!
虽然可以通过停用或卸载“火狐主页”附加组件来解决这个问题,但是能够在不停用它的前提下解决这个问题不是更爽吗,依赖这个组件的用户也不用担心要换新的组件。
研究了一下,发现如下目录中
%appdata%\Mozilla\Firefox\Profiles\somestring.default(Windows7)
$HOME/.mozilla/firefox/somestring.default(Linux)
search.json文件就是firefox右上角的搜索引擎列表。
用文本编辑器打开一看果然有那个讨厌的网站地址,把相关项删除后,重启firefox,它又会出现…………
继续研究,发现那个somestring.default目录中还有个searchplugins目录,里面有各搜索引擎的配置文件(.xml格式),唯独没有google.xml。从文件内容搜索“www5.1616”发现有个google.xml藏在
"extensions\cehomepage@mozillaonline.com\searchplugins"
目录中。打开它发现果然有问题。
<SearchPlugin xmlns="http://www.mozilla.org/2006/browser/search/">
<ShortName>Google</ShortName>
<Description>Google Search</Description>
<InputEncoding>UTF-8</InputEncoding>
<Image width="16" height="16">data:image/png;base64,somecode</Image>
<Url type="application/x-suggestions+json" method="GET" template="http://suggestqueries.google.com/complete/search?balabala;q={searchTerms}"/>
<Url type="text/html" method="GET" template="http://www5.1616.net/q.php">
<Param name="q" value="{searchTerms}"/>
<Param name="id" value="1157"/>
<Param name="type" value="21"/>
<!--<Param name="ie" value="gb2312"/>-->
</Url>
<SearchForm>http://www.google.com/</SearchForm>
</SearchPlugin>
果断改之,正常的google.xml文件在firefox安装目录中的searchplugins目录下有,可以用好的google.xml文件替换,也可以自己修改,正常的文件内容应该如下。
<SearchPlugin xmlns="http://www.mozilla.org/2006/browser/search/">
<ShortName>Google</ShortName>
<Description>Google Search</Description>
<InputEncoding>UTF-8</InputEncoding>
<Image width="16" height="16">data:image/png;base64,somecode</Image>
<Url type="application/x-suggestions+json" method="GET" template="http://suggestqueries.google.com/complete/search?balabala;q={searchTerms}"/>
<Url type="text/html" method="GET" template="http://www.google.com/search">
<Param name="q" value="{searchTerms}"/>
<Param name="ie" value="utf-8"/>
<Param name="oe" value="utf-8"/>
<Param name="aq" value="t"/>
<!-- Dynamic parameters -->
<Param name="rls" value="{moz:distributionID}:{moz:locale}:{mozfficial}"/>
<MozParam name="client" condition="defaultEngine" trueValue="firefox-a" falseValue="firefox"/>
</Url>
<SearchForm>http://www.google.com/</SearchForm>
</SearchPlugin>
再看看正常的google.xml文件,我们发现真正有用的参数只有
<Param name="q" value="{searchTerms}"/>
后面没什么太大用处的参数可以删除或注释,当然为了确保在搜索的时候不出乱码,把那两条说明编码的参数保留。另外还可以根据喜好改改google的地址,".com"或是".com.hk"甚至可以是".co.jp"。改了之后,重启firefox,发现从搜索框里用google搜索不再被定向到那个讨厌的网站了。
另外,在折腾的过程中,我不小心往本来没有google.xml的那个searchplugins目录中复制了一份google.xml文件过去,等我重启firefox之后发现firefox自动把新加入的那个xml文件读出来,并在搜索引擎列表中添加了一项。如此“重大发现”,我们或许可以自己向firefox添加自己的搜索引擎了。只要复制一份现有的xml文件,再把相应的字段值一改,一个自定义的搜索引擎项不就出来了吗?当然这个xml文件还有可能是下面的格式。
<SearchPlugin xmlns="http://www.mozilla.org/2006/browser/search/" xmlns
s="http://a9.com/-/spec/opensearch/1.1/">
<os:ShortName>要显示的名字</os:ShortName>
<osescription>一些描述</os
escription>
<os:InputEncoding>UTF-8(输入的编码)</os:InputEncoding>
<os:Image width="16" height="16">data:image/x-icon;base64,这里是base64编码过的网站图标</os:Image>
<os:Url type="text/html" method="GET" template="http://网站URL/{searchTerms}">
</os:Url>
</SearchPlugin>
多看几个xml配置文件,照葫芦画瓢,自定义搜索引擎项完全没问题~
如果不知道那些地址和参数,可以到那个网站上实际搜索一下,然后把结果页的URL分析一下,就知道应该怎么写了。
通过改搜索引擎项的xml配置文件,虽然解决了在firefox右上角进行google搜索的重定向现象,但是在about:home页面中进行google搜索仍然会先重定向到那个恶心网站,不过那个页面我也不用,因此问题不大(我都是用右上角的搜索框,虽然天天用google但是它的首页却没上过几次)。另外这个网站真心恶心到我了,于是hosts文件一改,那个域名永远指向了本机IP。。。
另,今天在Linux下学怎么通过文件内容查找文件,学到如下命令:
find /anydir -name 'anyfilenameyouwant'-type f -print | xargs grep 'anythingyouwant' | awk -F":" '{print $1}'
















