title: 分享一个IPFS协议索引的电子书搜索引擎 cover: https://img.paulzzh.com/touhou/random?43 toc: true date: 2020-02-27 10:27:13 categories: 工具分享 tags: [软件推荐, 工具分享]
对于习惯看技术电子书的我来说, 查找某些书籍其实很浪费时间, 或者下载收费(强烈鄙视CSDN的分享行为), 又或者被百度云限速等等. 所以这次分享一款仅索引电子书的搜索引擎, 可提供直链下载!
网站链接: https://book.tstrs.me/
如果觉得文章写的不错, 可以关注微信公众号: Coder张小凯
内容和博客同步更新~
<br/>
<!--more-->网站链接: https://book.tstrs.me/
使用: 直接打开网站搜索你需要的书籍, 下载即可~
i-Book这个网站本质上是基于IPFS实现的, 下面简要介绍一下IPFS是个什么?
<br/>
IPFS(InterPlanetary File System, 星际文件系统):
本质上是一种内容可寻址、版本化、点对点超媒体的分布式存储、传输协议
<font color="#f00">**目标是: 补充甚至取代过去20年里使用的超文本媒体传输协议(HTTP),希望构建更快、更安全、更自由的互联网时代**</font>
<br/>
说了这么多, 那么IPFS到底是什么呢?
IPFS其实是一个面向全球, P2P的分布式版本文件系统,能将所有具有相同文件系统的计算设备连接在一起,主要目标是对我们目前统领互联网的超文本传输协议(也就是HTTP)进行补充(更甚者是取代!)
它的原理就是: <font color="#f00">利用基于内容的地址来替代基于域名的地址</font>
简单来说,用户寻找的是存储在某地方的内容,而不是某地址,就只需确认验证内容的哈希,这样就能过获得速度更快、安全、健壮、持久的网页
下面是对于IPFS的一些总结:
<br/>
你也可以将IPFS简单理解是一个无需将文件传入服务器,原则上可以永久保存在互联网的东西
由于其具备很多去中心化的特性,导致根本无法被审查
所以IPFS的官网域名你在国内是别想直接访问的,你可以看看这个图片,这是我在17年传的一个图片现在至今依然能访问,仅需要更换一下IPFS域名就行
这个文件的特征是:QmP8jG5xo9LuZ9uwCJqzJSNh18UssHFEkTTUHKmzn7hVGZ
<font color="#f00">**仅仅需要更换他人部署的可访问的IPFS网关即可重新复活这个文件**</font>
https://ipfs.leiyun.org/ipfs/QmP8jG5xo9LuZ9uwCJqzJSNh18UssHFEkTTUHKmzn7hVGZ
<br/>
题外话: Filecoin是一个基于IPFS的去中心化存储项目(IPFS与Filecoin 之间的关系,类似于区块链与比特币的关系)
有兴趣的朋友可以关注~
<br/>
上述部分内容截取自: ipfs 公共网关大全
更多IPFS和挖矿相关: IPFS开发简介与入门实战
IPFS Github: IPFS
IPFS Shipyard: IPFS Shipyard
<br/>
这要从IPFS和HTTP的区别来说了:
① 成本角度
HTTP中心化服务器运行,往往维护运行所需的成本较高,只要中心化数据库受到DDOS攻击,或者是遭受到不可抗力的损害,其所有数据会全部丢失;
相较于HTTP而言,IPFS能很大程度上降低服务器存储成本,同时服务器的带宽成本也得到控制
② 效率角度
HTTP是依赖中心化服务网络,服务器比较容易被关闭,服务器上文件较易被删掉,而且服务器必须是24小时开机状态才可运行;
而IPFS是P2P网络拓扑,整个网域内所有计算机均可作为存储节点,就近分布式存储大大提高了网络效率
③ 安全性
HTTP属于集中化的,所有流量直接搭载在中心化的服务器上,承载的压力极大,容易造成系统崩溃,HTTP还容易遭受DDOS攻击;
IPFS的存储方式是去中心化的分片的分布式存储,黑客无法攻击,文件不易丢失,安全有保障
④ 访问速度
HTTP的客户网络访问很大部分不是本地化,存在网络延时;IPFS较大程度使得网络访问速度加快,网络访问本地化,体验感会明显提升
<br/>
我个人认为: 只有分布式才能真正解放互联网, 才能真正实现分享
祝那些类似于CXDN拿着我们的资源赚钱的无良网站早日倒闭(CXDN一生黑)
<br/>
下载客户端,或者部署 ipfs 服务
具体可以看这里,由于 ipfs.io
在中国无法访问,所以无法同步到其他节点,需要挂代理
<br/>
参考文章:
<br/>
如果觉得文章写的不错, 可以关注微信公众号: Coder张小凯
内容和博客同步更新~<font color="#f00">❤</font>
<br/>