ipfs发布静态网页

使用 Kubo(官方的 IPFS 实现,原 go-ipfs)上传网页(包含 HTML/CSS/JS 等多文件)到 IPFS,这是比之前的 js 工具更稳定、更原生的方案(用npm install安装ipfs-cli或ipfs-deploy经常失败)。以下是从安装到完整部署的全流程,包括单文件和整个网页目录的上传。

核心前提:安装 Kubo(go-ipfs)

Kubo 是 IPFS 官方的 Go 语言实现,功能完整且稳定,先完成安装:

步骤 1:下载 Kubo

从官方地址下载 Windows 版本:
Kubo 最新稳定版下载

选择 kubo_v0.26.0_windows-amd64.zip(版本号可能更新,选 windows-amd64 包)。

步骤 2:解压并配置环境变量
  1. 解压下载的 zip 包到固定目录(如 C:\ipfs);

  2. 找到解压后的 ipfs.exe 所在路径(如 C:\ipfs\kubo\ipfs);

  3. 将该路径添加到系统环境变量 Path(参考之前配置 npm 路径的方法);

  4. 重启 PowerShell,验证安装:

    powershell 复制代码
    ipfs --version
    # 输出类似:ipfs version 0.26.0 即安装成功

步骤 1:初始化 IPFS 节点(首次使用必做)

安装后需初始化本地 IPFS 节点,仅需执行一次:

powershell 复制代码
# 初始化节点(生成本地仓库)
ipfs init

执行后会输出类似:

复制代码
initializing ipfs node at C:\Users\space\.ipfs
generating 2048-bit RSA keypair...done
peer identity: 12D3KooWX...(你的节点ID)
to get started, enter:

        ipfs cat /ipfs/QmQPeNsJPyVWPFDVHb77w8G42Fvo15z4bG2X8D2GhfbSXc/readme

说明初始化成功。

步骤 2:上传网页(分两种场景)

场景 1:上传单个 HTML 文件(你的原始需求)

直接执行 ipfs add 命令,和之前的 ipfs-cli 用法一致,但 Kubo 更稳定:

powershell 复制代码
# 切换到网页文件目录
cd D:\原创\自研软件\网页RPA

# 上传单个 HTML 文件
ipfs add parabola_demo.html

输出示例:

复制代码
added bafybeigdyrzt5sfp7udm7hu76uh7y26nf3efuylqabf3oclgtqy55fbzdi parabola_demo.html
 25.2 KiB / 25.2 KiB [======================================] 100.00%

复制 CID(bafybeig...),访问 https://ipfs.io/ipfs/[你的CID] 即可打开文件。

场景 2:上传整个网页目录(含 CSS/JS/图片等)

如果你的网页是多文件(比如有 style.cssscript.jsimg/ 目录),需要上传整个目录,Kubo 会自动处理文件关联:

powershell 复制代码
# 上传整个网页目录(-r 表示递归上传子文件/子目录)
ipfs add -r D:\原创\自研软件\网页RPA

输出示例:

复制代码
added QmXxxx1 style.css
added QmXxxx2 script.js
added QmXxxx3 img/logo.png
added QmYyyy D:\原创\自研软件\网页RPA

⚠️ 关键:最后一行的 CID(QmYyyy)是整个目录的根 CID ,访问这个 CID 就能打开目录中的默认页面(需确保目录中有 index.html):

复制代码
https://ipfs.io/ipfs/QmYyyy/parabola_demo.html
# 如果有 index.html,可直接访问:
https://ipfs.io/ipfs/QmYyyy/

步骤 3:可选 - 固定 CID(避免文件被回收)

IPFS 是内容寻址,默认上传的文件如果长期不访问可能被节点回收,可将 CID 固定到本地节点:

powershell 复制代码
# 固定单个文件 CID
ipfs pin add bafybeigdyrzt5sfp7udm7hu76uh7y26nf3efuylqabf3oclgtqy55fbzdi

# 固定整个目录 CID
ipfs pin add QmYyyy

步骤 4:可选 - 启动本地 IPFS 网关(快速预览)

如果公网 IPFS 网关访问慢,可启动本地网关预览文件:

powershell 复制代码
# 启动本地 IPFS 守护进程(后台运行)
ipfs daemon

保持该终端窗口打开,另开一个 PowerShell,访问本地地址:

复制代码
# 单个文件
http://localhost:8080/ipfs/[你的文件CID]

# 整个目录
http://localhost:8080/ipfs/[你的目录CID]/

关键优势(对比之前的 js 工具)

  1. 稳定性:Kubo 是官方 Go 实现,无 Node.js 版本兼容问题;
  2. 功能完整:支持目录上传、CID 固定、本地网关等核心功能;
  3. 性能更好:上传/下载速度比 js-IPFS 更快,适合大文件/目录。

总结

  1. 核心流程 :安装 Kubo → 初始化节点 → ipfs add 上传文件/目录 → 用 CID 访问;
  2. 关键命令
    • 单文件上传:ipfs add [文件名]
    • 目录上传:ipfs add -r [目录路径]
    • 固定 CID:ipfs pin add [CID]
  3. 访问方式:公网网关(ipfs.io)或本地网关(localhost:8080),优先用本地网关预览。

Kubo 是目前部署 IPFS 网页最推荐的工具,彻底避开了 Node.js 生态的版本兼容问题,按上述步骤操作即可稳定完成网页上传。

相关推荐
yuniko-n2 个月前
【Linux】CentOS 部署 IPFS
linux·服务器·centos·ipfs
闲人编程5 个月前
Python第三方库IPFS-API使用详解:构建去中心化应用的完整指南
开发语言·python·去中心化·内存·寻址·存储·ipfs
花花花11 年前
使用Pinata在IPFS上存储NFT图片的实践
web3·去中心化·区块链·nft·分布式存储·ipfs
sha0dow1 年前
IPFS 解决国内 docker mirror 封锁
docker·ipfs
狂放不羁霸2 年前
区块链 | NFT 水印:Review on Watermarking Techniques(三)
区块链·nft·ipfs
狂放不羁霸2 年前
区块链 | NFT 相关论文:Preventing Content Cloning in NFT Collections(二)
区块链·nft·ipfs
狂放不羁霸2 年前
区块链 | IPFS:IPFS 链接的类型
区块链·ipfs
狂放不羁霸2 年前
区块链 | IPFS:IPNS(入门版)
ipfs
狂放不羁霸2 年前
区块链 | IPFS:IPNS(实操版)
区块链·ipfs