使用 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:解压并配置环境变量
-
解压下载的 zip 包到固定目录(如
C:\ipfs); -
找到解压后的
ipfs.exe所在路径(如C:\ipfs\kubo\ipfs); -
将该路径添加到系统环境变量
Path(参考之前配置 npm 路径的方法); -
重启 PowerShell,验证安装:
powershellipfs --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.css、script.js、img/ 目录),需要上传整个目录,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 工具)
- 稳定性:Kubo 是官方 Go 实现,无 Node.js 版本兼容问题;
- 功能完整:支持目录上传、CID 固定、本地网关等核心功能;
- 性能更好:上传/下载速度比 js-IPFS 更快,适合大文件/目录。
总结
- 核心流程 :安装 Kubo → 初始化节点 →
ipfs add上传文件/目录 → 用 CID 访问; - 关键命令 :
- 单文件上传:
ipfs add [文件名] - 目录上传:
ipfs add -r [目录路径] - 固定 CID:
ipfs pin add [CID]
- 单文件上传:
- 访问方式:公网网关(ipfs.io)或本地网关(localhost:8080),优先用本地网关预览。
Kubo 是目前部署 IPFS 网页最推荐的工具,彻底避开了 Node.js 生态的版本兼容问题,按上述步骤操作即可稳定完成网页上传。