发现新文章

我们已经通过 Google Adsense 审核!不出意外,在未开启广告拦截器的情况下,应该已经可以看到广告了

如果您对广告位置不满意(如:占据面积大,挡住主要内容等情况),请前往 置顶文章 告知我们!

1156 字
6 分钟
使用基于IPFS的Fleek部署静态网站、托管图床、部署服务
IPFS是一个多节点的文件托管系统,你可以在上面共享文件、发布网站、而Fleek自动化了这个过程,并且可以链接你的Git存储库
2024年10月17日
0 次

本文过旧,某些资源可能已经不可用

什么是IPFS?#

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

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

使用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,不建议使用

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

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

    WARNING

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

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

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

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

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

正式开始#

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

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

  3. 部署网站

  4. 绑定域名

  5. 最终访问

效果图:

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

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

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

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

这篇文章是否对你有帮助?

发现错误或想要改进这篇文章?

在 GitHub 上编辑此页

文章修订历史 (13 次)

查看变更记录
2025年8月1日 08:16:25 2f74587

!update: 将图源由R2改为Netlify

2025年7月26日 09:15:27 98609b5

feat: 更改域名为2x.nz

2025年7月19日 16:52:49 146fe9b

更改图源为EdgeOne

2025年7月19日 16:09:57 9bf0d90

chore: 更新图片域名从eo-r2.2x.nz到r2.afo.im

2025年7月19日 15:18:58 f5afef1

更改图源为EdgeOne

2025年7月18日 12:27:16 c7e56a3

1

2025年7月4日 08:08:46 bb5a677

posts: 修复YAML格式错误。上一次的更改已经可见

2025年7月4日 08:03:50 db2bb7c

posts: 更新IPFS文章并添加新API文档

2025年7月1日 23:29:28 4e3e7e8

posts: 更改图源CDN为Secbit MCDN,并且页脚放置赞助信息

2025年6月26日 21:07:29 b480111

update: 更新R2源。删除302

2025年6月25日 00:10:13 e2d1f68

update: 更新R2源

2025年5月16日 18:11:52 5178a56

更改图源URL

2025年4月30日 08:38:25 d80a293

初始化

使用基于IPFS的Fleek部署静态网站、托管图床、部署服务
作者
二叉树树
发布于
2024年10月17日
许可协议
CC BY-NC-SA 4.0