Kubo IPFS 监控页面使用说明

Kubo IPFS 监控页面使用说明

文件说明

  • <code>kubo.php</code> - 单文件监控页面,包含所有功能和样式

功能特色

实时监控 - 监控本地 Kubo (IPFS) 节点的各种状态 ✅ 漂亮图表 - 使用 Chart.js 展示带宽趋势和存储使用情况 ✅ 自动刷新 - 可开启 10 秒自动刷新功能 ✅ 单文件 - 所有功能集成在一个 PHP 文件中 ✅ 响应式设计 - 支持桌面和移动设备

监控指标

📊 实时统计卡片

  • 对等节点 - 当前连接的 IPFS 节点数量
  • 固定文件 - 递归固定的文件数量
  • 存储对象 - IPFS 仓库中的对象总数
  • 存储使用 - 当前存储使用量和总容量
  • 下载速度 - 实时下载速度和总下载量
  • 上传速度 - 实时上传速度和总上传量

📈 带宽使用趋势图

  • 实时显示上传和下载速度曲线
  • 最近 20 个时间点的数据
  • 自动更新,平滑动画

💾 存储使用情况图

  • 饼图显示已用空间和可用空间
  • 动态计算剩余容量

🌐 详细节点信息

  • 节点 ID - 完整的 PeerID
  • 公钥 - 节点公钥信息
  • 协议版本 - IPFS 协议版本
  • 代理版本 - Kubo 版本信息
  • 监听地址 - 节点监听的多地址
  • 支持协议 - 节点支持的所有协议

使用要求

环境要求

  • PHP 7.0+ (需要 cURL 扩展)
  • 本地运行的 Kubo (go-ipfs) 节点
  • Web 浏览器 (Chrome, Firefox, Safari, Edge)

Kubo 节点要求

  • Kubo 节点必须正在运行 (ipfs daemon)
  • API 端口默认可访问 (localhost:5001)
  • 如果修改了 API 配置,请更新文件中的端口设置

安装和使用

方法 1: 直接访问

# 确保 Kubo 正在运行
ipfs daemon

# 将 kubo.php 放在 Web 服务器根目录
# 通过浏览器访问:
http://localhost/kubo.php

方法 2: 使用 PHP 内置服务器

# 确保 Kubo 正在运行
ipfs daemon

# 在 kubo.php 所在目录启动 PHP 内置服务器
php -S localhost:8080

# 通过浏览器访问:
http://localhost:8080/kubo.php

方法 3: 命令行快速启动

# 确保 Kubo 正在运行
ipfs daemon

# 使用 PHP 命令行直接打开
php -S 0.0.0.0:8080 kubo.php

# 在浏览器中打开:
open http://localhost:8080

界面操作

🔄 刷新数据

  • 点击"刷新数据"按钮手动刷新
  • 刷新时显示加载动画
  • 成功/失败会有状态提示

⏰ 自动刷新

  • 点击开关切换自动刷新模式
  • 开启后每 10 秒自动更新一次
  • 自动刷新时会实时更新图表
  • 支持后台运行,实时展示数据变化

🔧 RPC 地址配置

监控页面支持动态配置 Kubo RPC 地址,可自动保存到浏览器 localStorage:

支持的地址格式

  1. 标准 URL 格式http://主机:端口/

- 示例:http://100.113.134.128:5001/ - 示例:http://localhost:5001/

  1. 多地址(Multiaddr)格式/ip4/IP地址/tcp/端口

- 示例:/ip4/127.0.0.1/tcp/5001 - 示例:/ip4/192.168.1.100/tcp/5001

  1. 简写格式主机:端口

- 示例:127.0.0.1:5001 - 示例:localhost:5001

使用方法

  1. 在"Kubo RPC 配置"部分的文本框中输入地址
  2. 点击"💾 保存"按钮或按回车键
  3. 配置会自动保存到浏览器,刷新页面后自动加载
  4. 配置生效后立即刷新数据显示

提示

  • 所有格式都会被规范化保存为 URL 格式(如:http://100.113.134.128:5001/
  • 配置仅在当前浏览器中保存,不会发送到服务器
  • 要切换不同节点,只需修改 RPC 地址并保存
  • 如果保存失败,请打开浏览器开发者工具(F12)查看控制台日志

故障排除: 如果保存配置时出现错误:

  1. F12 打开开发者工具
  2. 切换到 Console(控制台)标签页
  3. 查看详细的错误信息和日志
  4. 根据日志提示检查输入的地址格式
  5. 如果问题持续,尝试清除配置:localStorage.removeItem('kuboRpcUrl') 然后刷新页面

支持的地址格式

  1. 标准 URL 格式http://主机:端口/

- ✅ http://100.113.134.128:5001/ - ✅ http://localhost:5001/ - ✅ http://127.0.0.1:5001

  1. 多地址(Multiaddr)格式/ip4/IP地址/tcp/端口

- ✅ /ip4/127.0.0.1/tcp/5001 - ✅ /ip4/192.168.1.100/tcp/5001 - ✅ /ip6/::1/tcp/5001 (IPv6)

  1. 简写格式主机:端口

- ✅ 127.0.0.1:5001 - ✅ localhost:5001 - ✅ 192.168.1.100:5001

📱 响应式布局

  • 桌面端:多列网格布局
  • 移动端:单列自适应布局
  • 图表自动调整大小

配置选项

kubo.php 文件顶部可以修改以下配置:

// 配置项
define('KUBO_API_HOST', '127.0.0.1');    // Kubo API 主机地址
define('KUBO_API_PORT', 5001);          // Kubo API 端口
define('KUBO_API_TIMEOUT', 5);         // API 调用超时时间(秒)

修改 API 地址

如果 Kubo 配置了不同的 API 地址或端口:

define('KUBO_API_HOST', '192.168.1.100');  // 修改为实际地址
define('KUBO_API_PORT', 5001);             // 修改为实际端口

故障排除

❌ 无法连接到节点

症状: 页面显示"无法连接到Kubo节点"

解决方案:

  1. 确保 Kubo 正在运行:

``bash ipfs daemon ``

  1. 检查 API 配置:

``bash ipfs config Addresses.API ``

  1. 如果修改过配置,更新 kubo.php 中的端口设置
  1. 检查防火墙设置,确保端口可访问
  1. 测试 API 是否可用:

``bash curl http://localhost:5001/api/v0/id ``

⚠️ cURL 扩展未安装

症状: PHP 报错 "Call to undefined function curl_init()"

解决方案:

  • 安装 PHP cURL 扩展:

- Ubuntu/Debian: sudo apt-get install php-curl - CentOS/RHEL: sudo yum install php-curl - Windows: 取消 php.ini 中 extension=curl 的注释

📊 图表不显示

症状: 图表区域空白

解决方案:

  • 确保浏览器可以访问互联网(Chart.js 使用 CDN)
  • 检查浏览器控制台是否有错误
  • 尝试刷新页面或清除缓存

🔄 自动刷新不工作

症状: 开启自动刷新后数据不更新

解决方案:

  1. 检查浏览器是否允许 JavaScript
  2. 查看控制台是否有错误信息
  3. 手动点击刷新测试 API 连接
  4. 确保 Kubo 节点运行稳定

安全注意事项

⚠️ 重要提醒:

  • 此监控页面仅应在受信任的网络环境中使用
  • 不应将 Kubo API 暴露给公共互联网
  • 如需远程访问,请使用 SSH 隧道或 VPN
  • 不要在生产环境中使用 PHP 内置服务器

技术实现

使用的技术栈

  • 后端: PHP + cURL
  • 前端: HTML5 + CSS3 + JavaScript
  • 图表: Chart.js (CDN)
  • API: Kubo RPC API (/api/v0)

API 端点使用

  • /api/v0/id - 节点身份信息
  • /api/v0/stats/bw - 带宽统计
  • /api/v0/stats/repo - 仓库统计
  • /api/v0/swarm/peers - 对等节点列表
  • /api/v0/bitswap/stat - Bitswap 统计
  • /api/v0/pin/ls?type=recursive - 固定文件列表

数据更新机制

  • 初始加载时获取所有数据
  • 手动刷新触发完整数据更新
  • 自动刷新每 10 秒轮询一次
  • 图表保持最近 20 个数据点

浏览器兼容性

支持的浏览器:

  • Chrome 60+
  • Firefox 55+
  • Safari 12+
  • Edge 79+

⚠️ 注意: Internet Explorer 不支持

更新日志

v1.1.0 (2025-01-09)

  • ✨ 新增多地址(Multiaddr)格式支持

- 支持 /ip4/IP地址/tcp/端口 格式(例如:/ip4/127.0.0.1/tcp/5001) - 支持 /ip6/IPv6地址/tcp/端口 格式 - 支持简写格式 主机:端口(例如:127.0.0.1:5001

  • ✨ 改进 RPC 配置验证和错误提示

- 显示具体错误信息 - 提供更清晰的格式说明

v1.0.0 (2025-01-09)

  • 初始版本发布
  • 实现基本监控功能
  • 添加带宽和存储图表
  • 支持自动刷新
  • 实现 localStorage 配置持久化

许可证

MIT License - 可以自由使用、修改和分发

贡献

欢迎提交 Issue 和 Pull Request 来改进这个项目!

联系方式

如有问题或建议,请通过 GitHub Issues 反馈。


享受监控你的 Kubo 节点! 🚀

← 返回目录