二叉树树

二叉树树

瞎几吧写

使用基于IPFS的Fleek部署静态网站、托管图床、部署服务

什么是 IPFS?#

IPFS,是点到点的超媒体协议,它让网络更快、更安全、更开放。说简单一点,它就是一个去中心化互联网。说技术一点,它是一个基于分布式哈希表 DHT 进行内容寻址的,基于 git 模型版本管理的,基于默克尔对象关联的,基于点对点技术的,基于全球化命名空间 IPNS 的,基于各种技术的,一种分布式文件系统。

用人话说,你可以把它看成一个共享网盘,你可以尝试下载IPFS - Desktop(适用于有图形界面的系统)kubo - ipfs(适用于 CLI)。然后启动 IPFS,你的设备将成为 IPFS 网络中的一个节点

832fa0eaf895f9d6358705844dca14dd

使用 IPFS 能做什么?#

当你连接到 IPFS 网络后,IPFS 会自动将你的设备作为一个本地 IPFS 节点并且寻找其他 IPFS 节点,你将能够帮助其他用户建立连接、提供文件。同时你也可以将你的文件上传到你的 IPFS 节点,等待分发,让网络上的其他用户可以访问你的文件。在 IPFS 网络中,访问文件通过 IPFS 网关,如:https://ipfs.io/ipfs/ + CID(文件哈希) 实现访问。比如: https://ipfs.crossbell.io/ipfs/bafybeifbn36zmdb37ov6id3toy6bve47264hjk2yob6rm4bhw7ooawncf4

(这里使用 ipfs.crossbell.io 这个 CrossBell 托管的 IPFS 网关来规避 GFW 封禁)

这项技术真的有这么理想吗?#

这项技术确实很理想,但是实际应用下来会遇到以下问题

  1. 通过本地 IPFS 节点上传的文件迟迟无法通过 IPFS 网关 + CID 实现访问

  2. 发现的节点太少

  3. 可能会大量占用你的带宽

这些问题大部分原因都是因为这个网络太过于庞大,而单个 IPFS 节点的权重很低,尽管 IPFS 的分发一般在几小时内可以完成。但对于个人来说,我们应当寻找一些服务商帮我们完成这些需求,它们往往在 IPFS 网络中的权重更大,进行文件更新的效率也很高,同时也提供一些扩展服务,比如自动化 Git 部署。而这篇文章使用的则是Fleek

关于 Fleek#

你可以简单理解为它权重很大,有很多的 IPFS 节点,经由 Fleek 上传到 IPFS 网络上的文件可以在几秒内完成广播,并且支持连接 Git 存储库部署项目和绑定你的域名

Fleek 是否值得信赖?#

本人仅接触此服务 2 天。观察到 Fleek 在成功部署网站后提供了三类访问方式

  1. xxx-xxx.fleek.app:这个域名使用了 Cloudflare CDN,实测解析 IP 的数量为 2,不建议使用

b90a26044aa8e7af780a8800093a77f7
:这种方法是原生的 IPFS 访问方式。通过 IPFS 网关 + CID 来访问。但由于 CID 为哈希值,当你的网站改动后你的 CID 会发生变化

  1. 绑定自定义域名来访问,这将会使用亚马逊的 CDN 并且自动映射 CID,实测解析 IP 数量超过 30,并且速度很快

Warning

注意,任何使用 HTTP 协议的类 ipfs 技术都需要一个中心化服务器代理访问 IPFS 网络。只有当访问者连接上 IPFS 网络后才会使用去中心化的连接方式)
cdd08018d0d0632d33956178949d7eb1

  • 尽管显示了 IPFS 的文件浏览界面,但实际上这个页面是由 HTTP 请求到亚马逊 CDN 反代 IPFS 网络实现的,实际上仍为中心化网络

11c04c53227c7db61fdcd371a6b92f80

  • 当你的设备已经连上 IPFS 网络后,所有流量将使用 P2P(去中心化),所以你看到的访问地址实际上是本机地址

梳理一下思路,我们可以用 Fleek 做到什么#

让 Fleek 连接你的 Git 存储库,通过构建命令构建静态网站,并发布到 IPFS,同时兼容 HTTP 访问

正式开始#

  1. 前往 fleek.xyz,通过 MetaMask 登录

  2. 连接你的 Git 存储库,输入构建命令等相关信息

  3. 部署网站

  4. 绑定域名

  5. 最终访问

效果图:

55c79317ef6c517f145dfa3373603e19

拓展一下,我们还可以通过 IPFS 技术做什么?(😭目前已弃用)#

  1. 创建一个巨大的图床,已经投入使用,参见: https://pic.onani.cn (原理:请求 https://ipfs-pic.onani.cn ,获取图片列表,随机选择使用 JS 展示)
    88864ae05018dc4f71d92d335220e4c4

  2. 无需再自托管任何图片,已经投入使用,本博客所有图片都使用 IPFS 存储

  3. 理论上,你可以将任何占用存储的服务上传到 IPFS,实现存算分离

加载中...
此文章数据所有权由区块链加密技术和智能合约保障仅归创作者所有。