很久以前,互联网规模还很小,少数人就可以索引所有网站的名称和位置,并将它们按主题列在一个页面或印刷书籍中。随着万维网网络的增长,“网站环”约定得到了发展,具有相似主题、主题或敏感性的网站联合起来,形成一个到每个成员的循环路径。网站环上的任何站点的访问者都可以单击一个按钮,继续访问环中的下一个或上一个站点,以发现与他们的兴趣相关的新站点。
然后有一段时间,互联网似乎超越了自身。每个人都在网上,存在大量的冗余和垃圾邮件,而且无法找到任何东西。雅虎、AOL 和 CompuServe 以及类似的服务有独特的方法,但直到 Google 的出现,现代模式才得以确立。根据 Google 的说法,互联网应该通过搜索引擎进行索引、排序和排名。
为什么要选择开源替代方案?
像 Google 和 DuckDuckGo 这样的搜索引擎已被证明是有效的。您可能通过搜索引擎访问了此网站。虽然对于内容因主机选择不遵循搜索引擎优化的最佳实践而掉入裂缝存在争议,但管理互联网上丰富的文化、知识和娱乐的现代解决方案是无情的索引。
但也许您不喜欢使用 Google 或 DuckDuckGo,因为您担心隐私问题,或者因为您希望为使互联网更加独立的努力做出贡献。如果这对您有吸引力,那么请考虑参与 YaCy,点对点互联网索引器和搜索引擎。
安装 YaCy
要安装和尝试 YaCy,首先请确保您已安装 Java。如果您使用的是 Linux,则可以按照我的如何在 Linux 上安装 Java 文章中的说明进行操作。 如果您使用的是 Windows 或 MacOS,请从AdoptOpenJDK.net 获取安装程序。
安装 Java 后,下载适合您平台的安装程序。
如果您使用的是 Linux,请解压缩 tarball 并将其移动到 /opt 目录
$ sudo tar --extract --file yacy_*z --directory /opt
按照您下载的安装程序的说明启动 YaCy。
在 Linux 上,在后台启动 YaCy
$ /opt/yacy/startYACY.sh &
在 Web 浏览器中,导航到 localhost:8090 并进行搜索。

将 YaCy 添加到您的 URL 栏
如果您使用的是 Firefox Web 浏览器,只需点击几下即可将 YaCy 设置为 Awesome Bar(这是 Mozilla 对 URL 字段的名称)中的默认搜索引擎。
首先,如果 Firefox 工具栏中没有显示专用搜索栏,请使其可见(您不必保持搜索栏可见;您只需要它处于活动状态足够长的时间来添加自定义搜索引擎)。可以在 Firefox 右上角汉堡菜单的 Customize 菜单中找到搜索栏。 Firefox 工具栏中显示搜索栏后,导航到 localhost:8090,然后单击刚刚添加的 Firefox 搜索栏中的放大镜图标。 单击选项将 YaCy 添加到您的 Firefox 搜索引擎中。

完成后,您可以将其标记为 Firefox 首选项中的默认搜索引擎,或者只是有选择地在 Firefox 搜索栏中执行的搜索中使用它。如果您将其设置为默认搜索引擎,则可能不需要专用搜索栏,因为 Awesome Bar 也使用默认引擎,因此您可以将其从工具栏中删除。
P2P 搜索引擎如何工作
YaCy 是一个开源和分布式搜索引擎。它用 Java 编写,因此它可以在任何平台上运行,并且可以执行 Web 爬网、索引和搜索。它是一个点对点 (P2P) 网络,因此每个运行 YaCy 的用户都会参与跟踪互联网每天变化的努力。当然,没有单个用户拥有整个互联网的完整索引,因为那需要一个数据中心来容纳,但是该索引分布在所有 YaCy 用户中并且是冗余的。它很像 BitTorrent(因为它使用分布式哈希表,或 DHT,来引用索引条目),除了您共享的数据是单词和 URL 关联的矩阵。通过混合哈希表返回的结果,没有人可以判断谁搜索了哪些词,因此所有搜索实际上都是匿名的。这是一个用于公正、无广告、未跟踪和匿名搜索的有效系统,您只需使用它即可加入。
搜索引擎和算法
索引互联网是指将网页分成页面上的单个单词,然后将页面的 URL 与每个单词相关联。在搜索引擎中搜索一个或多个单词会获取与查询关联的所有 URL。这是 YaCy 客户端在运行时所做的一件事。
客户端所做的另一件事是为您的浏览器提供搜索界面。您可以在需要搜索时将 Web 浏览器指向 localhost:8090 以搜索 YaCy,而不是导航到 Google。您甚至可以将其添加到浏览器的搜索栏(取决于浏览器的可扩展性),因此您可以从 URL 栏进行搜索。
YaCy 的防火墙设置
当您第一次开始使用 YaCy 时,它可能以“初级”模式运行。这意味着您的客户端抓取的站点仅对您可用,因为没有其他 YaCy 客户端可以访问您的索引条目。要加入 P2P 体验,您必须在路由器的防火墙中以及可能在您正在运行的软件防火墙中打开端口 8090。这称为“高级”模式。
如果您使用的是 Linux,可以在使用防火墙让 Linux 更强大 中找到有关计算机防火墙的更多信息。在其他平台上,请参阅您操作系统的文档。
防火墙几乎始终在您的互联网服务提供商 (ISP) 提供的路由器上处于活动状态,并且它们的种类太多,无法在此处准确记录。大多数路由器都提供“在防火墙上打孔”的选项,因为许多流行的网络游戏都需要双向流量。
如果您知道如何登录到您的路由器(通常是 192.168.0.1 或 10.1.0.1,但可能因制造商的设置而异),请登录并查找控制防火墙或端口转发或应用程序的配置面板。
找到路由器防火墙的首选项后,将端口 8090 添加到白名单。例如

如果您的路由器正在进行端口转发,则必须使用相同的端口将传入流量转发到您计算机的 IP 地址。例如

如果您因任何原因无法调整防火墙设置,那也没关系。 YaCy 将继续运行并作为初级模式下 P2P 搜索网络的客户端运行。
您自己的互联网
您可以使用 YaCy 搜索引擎做更多的事情,而不仅仅是被动搜索。您可以强制抓取代表性不足的网站,您可以请求网络抓取网站,您可以选择仅将 YaCy 用于内部部署搜索等等。您可以更好地控制您的互联网的外观。高级用户越多,索引的站点就越多。索引的站点越多,所有用户的体验就越好。加入吧!
3 条评论