很多年来,俺一直用 Startpage 来代替 Google 进行 Web 搜索。一直想写篇博文来介绍一下,但又一直忘了。 前几天,Startpage 的界面作了一次重大改版,让俺终于再次想起之前一直忘记的事情。
俺也算是 Google 搜索的老用户了,大约2000年左右开始用它(具体时间已记不清)。 但随着时间的推移,俺越来越注重隐私保护,也就越来越想摆脱 Google 的搜索功能。这其中的原因,俺已经唠叨很多次了,今天再次解释一下:
Google 的商业模式基于【在线广告】(Google 90% 以上的利润都来自于此)。为了做到在线广告的【精准投放】,Google 必须尽可能详细地了解每一个使用 Google 产品/服务的网民。所以 Google 有强烈的动机,想要收集每个用户的隐私。更详细的解释,可以看之前的博文:《弃用 Chrome 改用 Firefox 的几点理由》
顺便说一下:
百度更加不能用!!!俺在上述这篇博文中是这样评价百度的:
百度同样是一家搜索引擎公司,但是百度比 Google 更恶心百倍。Google 虽然喜欢收集用户隐私,但最起码人家 Google 的搜索结果是【客观的】。而百度的搜索结果是可以花钱买滴(还美其名曰“竞价排名”)。这么说吧,如果你针对某个关键词向百度出了高价,那么网民在百度上搜索该关键词的时候,你的网站就会排在搜索结果的前面。
就是靠着“竞价排名”,莆田系与百度这两个大流氓完美地勾搭在一起。如果说莆田系医院是垃圾,那百度这家公司就是垃圾中的垃圾;如果说莆田系的老板是人渣,那百度的老板李彦宏就是人渣中的人渣。 莆田系加上百度,不知毁掉了多少家庭,不知让多少病患人财两空。李彦宏的百亿身家,就是靠人血馒头堆出来的。当年的魏则西事件,只不过是碰巧被曝光的沧海一粟。下面是俺当年发的《每周转载》。
由于 Web 搜索是经常要用的(很多网民每天都会用到),而 Google 搜索的牛逼程度(搜索的精准性),又是别的搜索引擎【无法替代】滴!于是就产生一个很尴尬的矛盾。咋办捏?
俺尝试过一些不同的方案,最后终于选用 Startpage 作为“Google 搜索”的替代品。
选择它,最重要的一个原因是:Startpage 在保护隐私的同时,能够做到与 Google【同等质量】的搜索结果。
如果你对 Startpage 搜索引擎还不太了解,可以先看维基百科的“这个页面”。
另外,Startpage 也得到了“粉碎棱镜”网站的推荐,请看“这个页面”。(注:这个“粉碎棱镜”网站,是在斯诺登曝光“棱镜门”丑闻之后成立的。专门推荐一些【对抗政府监控】的软件和网站)
在本文的标题中,俺提到:搜索质量等同 Google。Startpage 它是如何做到的捏?很简单,因为它的后台用的就是 Google 搜索。简单地说就是:当你在 Startpage 的界面上进行搜索,Startpage 会把你的搜索关键字发送给 Google 的搜索服务器,然后再把 Google 的搜索结果展示给你看。通俗地说:Startpage 就好比是一个【搜索引擎的代理】。
由于 Startpage 后台使用的是 Google,所以 Google 搜索的一些常用语法,Startpage 也支持。比如说:用 site:
语法来限定只搜索特定网站。(如果要更详细地了解 Google 搜索的语法,可以参见《Google 搜索的基本语法》) 说到“Startpage 后台使用 Google”,某些同学可能会担心其中的隐私风险?下面俺来解答一下: 虽然 Startpage 后台用的是 Google 搜索,但 Startpage 服务器发给 Google 服务器的信息【只有搜索关键字】。换句话说,Google 服务器拿到这些搜索关键字,并不知道这些搜索请求是哪个人发起的。如此一来,Google 也就【无法】窥探你的隐私。 某些安全意识比较高的同学,可能还是会问:你怎么知道 Startpage 是否会暗中记录用户信息?关于这方面的担心,俺在本文倒数第二个章节会做进一步的介绍。 如今很多网站越来越重度依赖 JS 脚本。一旦浏览器禁用了 JS 脚本,这些网站就无法正常显示。 Startpage 到目前为止,一直都可以在禁用 JS 脚本的方式下,【正常使用】。 (关于“禁用 JS 脚本”有啥好处,本文倒数第二个章节会提到) 经常用 Tor 的同学应该会发现,很多网站对 Tor 代理是【不友好】的。当使用 Tor 访问这些网站,经常无法正常打开(显示一个报错的页面)。Google 搜索尤其如此。相比之下,Startpage 对 Tor 用户是很友好滴。 以俺本人为例: 俺的上网环境是【全程走 Tor 代理】。显然,当俺使用 Startpage 进行搜索的时候,也是走 Tor 代理。这么多年来,俺很少碰到报错的情况(印象中,好几个月才会碰到一次)。从这点来看,Startpage 算是对 Tor 很友好滴。 很多搜索引擎(包括以隐私安全著称的 DuckDuckGo)都会在【外链跳转】中加入 referer 字段,这会引发潜在的隐私风险。而 Startpage【没有】使用这个字段。 考虑到很多读者是技术菜鸟,俺稍微解释一下: “HTTP Referer”有时候也称作“HTTP Referrer”(一开始称作“Referer”是由于拼写错误,后来一直将错就错)。 通俗地说:这是一个 HTTP 请求(HTTP request)的属性字段,包含在“HTTP 协议头”(HTTP header)。它用来表示:当前页面是从哪里跳转过来的(Web 跳转的起始页面)。Web 服务器接收到 HTTP 请求,可以根据其中包含的 referer 字段,了解用户是从哪里跳转过来的。
更详细的说明请看“维基百科”。
当你使用搜索引擎,找到某个你想要的网站,然后你通常会直接点击该网站的链接,跳转到该网站。 如果搜索引擎启用了 referer 字段,当你跳转到目标网站,目标网站的服务器就会知道你是从某某搜索引擎跳转过来的。更严重的是,大部分搜索引擎的“搜索结果页面”的网址,会包含【搜索关键字】。所以,目标网站如果(通过 referer 字段)拿到搜索引擎页面的网址,就可以知道你是搜了哪些关键字,才跳转过来的。 如果你用的是 Firefox 浏览器,可以修改其配置选项(Preferences),“完全禁用”或“部分限制”referer 字段。
具体的“配置项名称”及说明,可以参考 Mozilla 官网的“这个 wiki 页面”。定制 Firefox 的方法参见博文:《扫盲 Firefox 定制——从“user.js”到“omni.ja”》
补充说明:
2021年1季度,Firefox 发布了87版本,已经【默认禁用】“referer 字段”。详情参见 Mozilla 官方博客的“这篇”。 Startpage 提供了若干偏好设置(也叫“用户选项”)。你可以定制“界面显示的颜色/风格”,也可以定制“使用哪个国家的服务器”……诸如此类。 对于用户的偏好设置,大部分网站通常采用两种方式保存: 1. 保存在客户端(使用 cookie) 2. 保存在服务端(需要用户注册和登录) 这两种方式都不太爽,都有潜在的隐私风险。
Startpage 也提供 cookie 的方式。据它官方的说法:默认情况下是【不】保存 cookie 的;只有当用户进入“Settings 界面”进行个性化设置,并点了界面底部的 Save
按钮,才会记录唯一的一个 cookie。
由于 Startpage 是强调隐私防范滴,所以它还提供了一种【无 cookie】的方式来保存用户的个性化设置。当你进入“Settings 界面”,修改了各种配置选项后,你【不要】点击 Save
按钮。然后滚动到界面底部,会看到一行字:
Save your settings without a cookie
如果你的浏览器【没禁用】JS 在这行字下方会显示两串很长的网址(短的那串是编码过的,长的那串是没有编码的)。你随便挑选其中一个网址,加入浏览器的书签,就 OK 了。下次只要点击这个书签,打开 Startpage 界面后,Startpage 就可以根据网址中的参数,知道你的个性化设置。
如果你的浏览器【禁用了】JS
你会看到一个 Generate URL
按钮。点击该按钮之后,按钮下方会显示两串网址(短的那串是编码过的,长的那串是没有编码的)。你随便挑选其中一个网址,加入浏览器的书签,就 OK 了。下次只要点击这个书签,打开 Startpage 界面后,Startpage 就可以根据网址中的参数,知道你的个性化设置。 用 URL 网址来保存个性化设置,可以不依赖 cookie。这样有啥好处捏? 其一, 有些关注隐私的网民,会定期清除浏览器所有的 cookie。用 URL 参数来保存个性化设置,清除 cookie 时就不会受影响。 其二, 很多关注隐私的网民,会用【隐私模式】来访问 Startpage 网站。在“隐私模式”下,cookie 只保存于【内存】中,也就无法记住用户的设置;而用 URL 参数来保存个性化设置,就可以完美兼容【隐私模式】。 虽然 Startpage 公开声称:绝不会偷窥用户的隐私。但以俺的行事风格,从来【不会】轻易相信任何口头声明。(在信息安全的圈子混了这么多年,这是起码的素质) 有鉴于此,俺在使用 Startpage 的过程中,依然对它进行了一些防范。俺要达到的效果是:即便 Startpage 想要耍流氓,暗中收集俺的信息,也收集不到太多。下面是俺采取的几个措施: 虽然 Startpage 声称不会记录用户信息(用户信息当然也包括“公网 IP”)。但它到底有没有偷偷记录用户的公网 IP,外界是无法判断滴。 为了保险起见,俺总是通过 Tor 代理访问 Startpage。这样一来,就算 Startpage 偷偷记录“访问者 IP”,俺也无所谓。因为在 Tor 代理的模式下,Startpage 服务器看到的“访问者 IP”,其实是 Tor 网络的“出口节点”的 IP,而【不是】俺本人的公网 IP。 引申阅读:
《“如何翻墙”系列:扫盲 Tor Browser 7.5——关于 meek 插件的配置、优化、原理》
补充说明:
大约从2020年2季度开始,用 Tor 访问 Startpage,碰到【人机验证】的次数增多。于是俺又写了如下这篇,分享一些经验
《如何用 Tor 访问对 Tor 不友好的网站——扫盲“三重代理”及其它招数》
在 Firefox & Chrome 的隐私模式(private windows)下,即便某个网站企图保存 cookie,这些 cookie 也只保存在会话(session)中,也就是【内存】中。当你关闭隐私浏览窗口,这些 session 中的 cookie 就消失了。 目前的 Startpage,在“默认状态”下【没】使用 cookie;就算有一天,Startpage变坏了(想要偷偷使用 cookie),俺也不怕。
这么干,主要是防止网站收集【浏览器指纹】。啥是“浏览器指纹”捏?可以参见俺的《如何保护隐私》系列教程的第5篇(链接在“这里”)。 网站要想获取“浏览器指纹”,常用的几种方式是—— 1. 获取浏览器的“User Agent” 2. 收集浏览器运行环境的信息(大部分需要通过 JS 脚本实现)
对前者的防范,可以参见《如何保护隐私》系列的第6篇(链接在“这里”)。对于后者,只要你禁用了 JS 脚本,很多收集浏览器指纹的技术就会失效,因此可以大大降低“浏览器指纹”的【信息量】。(注:信息量越低,“浏览器指纹”的【唯一性】就越差,也就越难以用来定位某个具体用户)
由于 Startpage 在禁用 JS 脚本的情况下也可以正常使用,所以俺总是对 Startpage 网站禁用 JS 脚本。
本文发布后,估计某些读者会让俺推荐 DuckDuckGo(简称 DDG)。所以先把丑话说在前头——谈谈“为啥不推荐 DuckDuckGo”? 最重要的一个原因是:DuckDuckGo 的搜索质量实在不行。这可不是俺一家之言,网上有很多人抱怨过这点。(如果你不信的话,可以自己测试一下) 如果搜索质量不 OK,就算隐私保护做得再好,对俺来说也没有意义了。 每一家公司都不可避免地要受到所在国法律的影响。DDG 隶属于【美国】公司,而 Startpage 隶属于【荷兰】公司。
由于《美国爱国者法案》(洋文叫做“USA PATRIOT Act”)的存在,注册在【美国】的 IT 公司,将会有隐私方面的风险——美国政府(在反恐的名义下)可以要求美国公司交出用户数据。关于该法案的详细介绍,可以参见维基百科的“这个链接”。
说到“美国政府对互联网的监视”,咱们要再次感谢斯诺登同学冒着生命危险进行爆料。关于这事儿,俺专门发过2篇博文:
《中美政府信息监控的差异——“棱镜门”丑闻随想》
《每周转载:关于“棱镜门”丑闻的相关报道》 在法律方面,欧盟对隐私的保护,要明显好于美国;而荷兰又是欧盟国家中,这方面做得比较好的。 综上所述,从“公司所在国的法律”来评估隐私风险,Startpage 要优于 DuckDuckGo。
DDG 网站的运作依赖于亚马逊的 AWS 云平台(具体参见“DDG 创始人 Gabriel Weinberg 的访谈”)。 由于亚马逊也是美国公司,同样存在前面提及的《爱国者法案》的隐私风险。 下面这篇文章【很全面地】对比了这两款注重隐私保护的搜索引擎。此文写于2016年,更新于2017年,还算是比较新的。 之所以说这篇【很全面】是因为:此文不光对比了这两个搜索引擎的界面和功能,还涉及到其它很多细节——比如“HTTP 协议的 referer 字段”,比如“服务器所在地”,比如“公司的合作伙伴”,比如“公司的资方背景”……
俺博客上,和本文相关的帖子(需翻墙):
《如何保护隐私》(系列)
《如何防止黑客入侵》(系列)
《如何隐藏你的踪迹,避免跨省追捕》(系列)
《如何挖掘网络资源》(系列)
《“如何翻墙”系列:扫盲 Tor Browser 7.5——关于 meek 插件的配置、优化、原理》
《“如何翻墙”系列:关于 Tor 的常见问题解答》
《如何用 Tor 访问对 Tor 不友好的网站——扫盲“三重代理”及其它招数》
《扫盲 Firefox 定制——从“user.js”到“omni.ja”》
《基于安全性考虑,如何选择及切换 Firefox 版本?》
《中美政府信息监控的差异——“棱镜门”丑闻随想》