
项目简介
PinMe 是一个革命性的一键部署工具,由 Glitter Protocol 团队开发维护,旨在将静态网站永久、可验证地部署到 IPFS 网络。与传统的中心化服务器部署不同,PinMe 提供了一个更加开放、去中心化的托管解决方案。
核心特点:
- ✨ 一键部署:简单的命令即可完成部署
- 🌐 IPFS 永存:内容通过 IPFS 网络永久存储
- 🔗 ENS 集成:自动关联 ENS 子域名实现内容验证
- 🚀 网关加速:通过 eth.limo 等网关快速访问
- ✅ 无服务器:无需配置 DNS,无需租赁服务器
项目信息:
- 📦 主要语言:TypeScript (59.4%)、HTML (34.2%)、CSS (3.8%)
- ⭐ GitHub Stars:924+(持续增长)
- 🔄 最新版本:v1.1.5
- 📄 开源协议:MIT License
工作原理
PinMe 通过三个关键步骤完成网站部署:
1 | 用户输入 → 上传到IPFS → 写入ENS子域名 → 通过网关访问 |
- IPFS 上传:将网站文件上传到分布式存储网络,获得内容哈希(Content Hash)
- ENS 绑定:将内容哈希写入 ENS 子域名记录,实现内容可验证性
- 网关访问:用户可以通过多个网关(如 eth.limo)访问已部署的网站,无需依赖单一服务商
这种设计完全消除了中心化服务提供商的依赖,真正实现了互联网的去中心化托管。
安装方法
使用 npm
1 | npm install -g pinme |
使用 yarn
1 | yarn global add pinme |
安装完成后,你就可以在全局环境中使用 pinme 命令了。
核心功能使用指南
1. 上传文件或目录
交互式上传(推荐新手使用):
1 | pinme upload |
直接指定路径上传:
1 | pinme upload /path/to/file-or-directory |
上传整个网站目录:
1 | pinme upload ./my-website |
上传限制
- 单个文件最大:20MB
- 目录总大小最大:500MB
2. 从 IPFS 移除文件
交互式删除:
1 | pinme rm |
按哈希删除:
1 | pinme rm bafybeifdwyoz66u5czbbjvmmais5fzrzrolxbyiydqsbrxessndt3s6zdi |
⚠️ 注意:此操作会从 Glitter Protocol 的 IPFS 节点中取消固定(unpin)文件并删除 ENS 子域名记录,但不保证文件从整个 IPFS 网络中被完全删除。
3. 查看上传历史
显示最近 10 条上传记录:
1 | pinme list |
显示最近 5 条记录:
1 | pinme ls -l 5 |
清空所有历史记录:
1 | pinme list -c |
4. 获取帮助
1 | pinme help |
实战场景:部署 Vite 项目
如果你使用 Vite 构建你的前端项目,需要做一个简单的配置:
在 vite.config.js 中添加 base: "./" 配置:
1 | // vite.config.js |
这样可以确保资源路径在 IPFS 网关上正确解析。
完整的部署流程:
1 | # 1. 构建项目 |
文件存储与日志
访问已上传的内容
成功上传后,你会获得:
- IPFS 内容哈希 - 用于 IPFS 网络访问
- 可访问 URL - 通过 eth.limo 网关直接访问
本地日志和配置位置
- Linux/macOS:
~/.pinme/ - Windows:
%USERPROFILE%\.pinme\
所有上传历史和配置信息存储在这些目录中,便于管理和调试。
使用场景与优势
1. 个人博客与作品集
使用 PinMe 部署你的 Hexo、Hugo 或 Next.js 博客,获得永久的、去中心化的托管。无论何时何地,只要 IPFS 网络存在,你的内容就不会消失。
2. 开源项目文档
为开源项目部署官方文档网站,免去服务器维护成本。文档的永久性和可验证性非常重要。
3. NFT 元数据托管
存储 NFT 项目的元数据和媒体资源,确保 NFT 关联的内容永久可用。
4. Web3 产品前端
部署 DApp、钱包或其他 Web3 产品的前端,真正实现去中心化应用的完整体验。
5. 内容抵抗审查
对于需要抵抗审查的内容,IPFS 的分布式特性提供了天然的保护。
与传统部署方案的对比
| 特性 | PinMe (IPFS+ENS) | 传统服务器 | GitHub Pages |
|---|---|---|---|
| 成本 | 免费/低成本 | 每月需付费 | 免费 |
| 所有权 | 完全去中心化 | 依赖服务商 | 依赖 GitHub |
| 可用性 | 分布式网络 | 单点故障风险 | 依赖 GitHub 可用性 |
| 永久性 | 内容哈希保证 | 服务商决定 | 可能被删除 |
| 可验证性 | ENS 绑定验证 | 无 | 无 |
| 学习曲线 | 简单易用 | 需要运维知识 | 简单易用 |
项目亮点分析
🎯 解决的核心问题
传统部署方案存在以下问题:
- 中心化风险:服务商可随时关闭服务或审查内容
- 成本压力:持续的服务器费用
- 内容丢失:依赖单一平台的长期存在
PinMe 通过 IPFS + ENS 的组合完美解决了这些问题。
🚀 技术创新
- 简化体验:一键部署,无需学习复杂的 IPFS、ENS 操作
- 自动化处理:自动生成 ENS 记录,管理上传历史
- 用户友好:提供交互式命令和直观的命令行接口
- 社区支持:活跃的开发团队,定期更新和改进
📊 发展现状
- GitHub 上有 924+ Stars,体现了社区认可
- 51 个 Forks 说明有不少开发者基于此进行定制
- 最新版本 v1.1.5 持续活跃更新(3周前发布)
- 完善的文档和示例,降低上手难度
快速开始示例
完整的部署流程
1 | # 1. 全局安装 PinMe |
常见问题解答
Q: 上传的文件会永远存在吗?
A: 文件存储在 IPFS 网络上。只要有节点持有这些数据,内容就会存在。Glitter Protocol 提供了固定服务,确保已上传的文件不会轻易被清除。
Q: 能否更新已上传的网站?
A: 可以。每次上传会生成新的内容哈希和 ENS 记录。如果需要更新,上传新版本的网站即可。
Q: 如何确保安全性?
A: PinMe 不需要密钥或私密信息,上传过程完全安全。所有记录存储在本地 ~/.pinme 目录中。
Q: 支持哪些文件类型?
A: PinMe 支持所有文件类型。只要遵守大小限制(单文件 20MB,目录 500MB)即可。
社区与反馈
获取帮助
如有问题或建议,可以通过以下方式联系:
- GitHub Issues: https://github.com/glitternetwork/pinme/issues
- Email: pinme@glitterprotocol.io
贡献代码
PinMe 欢迎社区贡献。主要贡献者包括:
展望与意义
PinMe 代表了 Web3 时代对托管方案的重新思考。它证明了:
- 去中心化可以很简单 - 用户无需理解 IPFS 内部工作原理,就能享受去中心化的好处
- 成本可以显著降低 - 免除了服务器租赁费用
- 互联网的未来方向 - 内容寻址、用户自主、隐私保护
无论你是想要部署个人博客、开源项目文档,还是探索 Web3 技术,PinMe 都是一个值得尝试的工具。
总结
PinMe 是一个优雅而强大的工具,它将复杂的去中心化技术(IPFS、ENS)封装成简单易用的命令行接口。通过 pinme upload 一条命令,你就能将网站部署到全球分布式网络中,获得永久、可验证、无审查的托管。
如果你关心内容自主性、成本控制或对 Web3 充满好奇,PinMe 绝对值得一试!
快去试试吧:
1 | npm install -g pinme |
立即开启你的去中心化托管之旅!🚀
相关资源
- 🌐 项目官网:https://pinme.eth.limo/
- 📦 GitHub 仓库:https://github.com/glitternetwork/pinme
- 🔗 Glitter Protocol:https://glitterprotocol.io/
- 📚 IPFS 官方:https://ipfs.tech/
- 🆔 ENS 官方:https://ens.domains/
更新时间: 2025年11月18日
作者: ZeroXin
许可证: 本文采用 CC BY-SA 4.0 许可