【戴嘉乐 IFPS】IPFS伴侣:一个对IPFS资源管理更加便捷的浏览器插件

作者简介:戴嘉乐( Mr.Maple ) | 前百度高级研发工程师 | IPFS应用实践者&布道师| 个人网站:https://www.daijiale.cn 微信号:daijiale6239

注意:文章中部分链接需要 科学上网 才能访问下载

一、应用简介

IPFS伴侣(IPFS Companion)是一个由IPFS官方应用社区(IPFS-Shipyard)孵化出来的应用项目。 Ta是一个浏览器插件,可以帮助用户在本地更好的运行、管理自己的节点,并随时查看IPFS节点的资源信息。

1.1 效果

1.2 开源地址

https://github.com/ipfs-shipyard/ipfs-companion

二、应用特性

2.1 IPFS资源自动检测

可以检测到如:/ipfs/$cid或 /ipns/$peerid_or_fqdn这样网页端的任何资源请求链接。如果经过测试的资源链接是一个有效的IPFS地址,它将被重定向并从本地网关加载:

例如:

https://ipfs.io/ipfs/QmbWqxBEKC3P8tqsKc98xmWNzrzDtRLMiMPL8wBuTGsMnR

→ http://127.0.0.1:8080/ipfs/QmbWqxBEKC3P8tqsKc98xmWNzrzDtRLMiMPL8wBuTGsMnR

2.2 IPFS连接状态和图形操作栏

  • IPFS接口和网关状态
  • 本地文件快速上传图形操作
  • 一键登录WebUI控制台以及偏好管理
  • 支持重定向切换到本地网关(默认情况下,手动模式可以在首选项中启用)
  • 可以对IPFS加载页进行如下的附加操作:
  • 通过API对IPFS资源进行Pin/Unpin
  • 复制IPFS地址
  • 将可分享的资源地址复制到首选网关中

2.3 调试实验

默认情况下是未启用的,需要切换到Preferences Screen。

  • 通过 自定义ipfs://网关协议 重新路由到HTTP网关:
  • ipns://$cid
  • ipns://$cid_or_fqdn
  • dweb:/ipfs/$cid
  • dweb:/ipns/$cid_or_fqdn
  • 通过 dnslink 检测DNS文本记录并从IPFS加载它们
  • 让纯文本的IPFS链接可以被点击
  • 右键点击任何图像或视频来进行IPFS镜像切换
  • 即使在外部API关闭的情况下,本地节点也可以用于上传数据。
  • 将IPFS API的子集公开为window.ipfs ,意味着每个网页加载时就可以监听到IPFS节点的接入,而不是生成自己的js-ipfs节点,这节省了资源、电量等消耗。

三、安装方式

3.1 稳定版本(Release)

注意: ipfs-companion是作为IPFS Daemon守护进程的扩展而设计的,请确保你的电脑上已先提前安装了 IPFS

3.2 测试版本(Beta)

主要面向开发者人群和发烧友调试使用

  • Firefox Beta 版本 : Self-hosted Signed Dev Build
  • Chrome Beta 版本: Dev Build at Chrome Web Store

四、使用演示

这边截图了部分自己的使用情况,给大家图文说明:

  • 安装扩展 
  • 设置Chrome浏览器该插件为启用状态 
  • 插件识别不到本地节点启动,处于离线状态
  • 启动本地节点
  • 打开 IPFS伴侣插件,将自动识别IPFS短链,并开启重定向功能 
  • 得益于官方的JS扩展支持到了window.ipfs的程度 
  • 进入插件配置选项,如下图所示,这边可以根据用户&开发者需要,灵活调整网关、API、和DNS配置
  • 识别到ipfs短链资源,且能查看到连接节点数
  • 快速上传功能 
  • 快速上传后发布到公网
  • 通过插件打开Web UI控制台 Review资源同步状态

PS:之前大部分的朋友都是通过命令行来操作这些,比较繁琐,耗时,这次 Mr.Maple博主特意给大家介绍了一款这样的浏览器工具,期望能帮助各位IPFS开发者&发烧友节约更多精力。

五、开发支持其他浏览器的插件

这边,官方公布了Web扩展API,供开发者和发烧友使用,支持开发者构建基于其他浏览器的插件。感兴趣、有能力的朋友可以实现一下运行在360、猎豹、QQ(这些基于Chrome和Firefox内核)的浏览器的IPFS工具插件。

官方支持两种构建模式:

  • 资源包构建(推荐)
  • Docker镜像构建

具体实现Tips如下: Developer Notes for IPFS Companion

值得一提的是:

2018年1月26日,火狐 WebExtensions 产品经理 Mike Conca 在 Mozilla 官网发布了文章(Extensions in Firefox 59),列举了火狐59的最新扩展(目前发布于测试版)。其中一项特性是支持包括IPFS在内的分布式协议。

所以,强烈建议对IPFS浏览器插件开发感兴趣的开发者使用基于Firefox内核的浏览器 调试会比较好。

六、使用QA和Bug提交

官方在Github上提供了专门的issue讨论区,大家在使用过程中遇到问题可以在这查询解决方案: https://github.com/ipfs/ipfs-companion/issues/22.

七、参考文献


相关文章和视频推荐

【戴嘉乐】IPFS Desktop:IPFS节点桌面管理App

圆方圆学院汇集大批区块链名师,打造精品的区块链技术课程。 在各大平台都长期有优质免费公开课,欢迎报名收看。

公开课地址:https://ke.qq.com/course/345101?flowToken=1007371

原创声明,本文系作者授权云+社区发表,未经许可,不得转载。

如有侵权,请联系 yunjia_community@tencent.com 删除。

编辑于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏雪胖纸的玩蛇日常

Vue+Django2.0 restframework打造前后端分离的生鲜电商项目(2)

1.轻量,直接通过http,不需要额外的协议,post/get/put/delete操作

29040
来自专栏Java架构

阿里P9架构师谈:高并发网站的监控系统选型、比较、核心监控指标

在高并发分布式环境下,对于访问量大的业务、接口等,需要及时的监控网站的健康程度,防止网站出现访问缓慢,甚至在特殊情况出现应用服务器雪崩等场景,在高并发场景下网站...

52740
来自专栏程序人生 阅读快乐

Scala编程实战

学习Scala语言,不仅仅意味着熟悉新的API,更重要的是一种思维方式的转变。从原有的面向对象编程(OO)到函数式编程(FP)的思想。本书面向实际的使用场景,提...

17010
来自专栏葬爱家族

H5和微信小游戏 Canvas API 整理前言

这段时间闲下来,系统学习了微信小程序和微信小游戏,发现还是挺有意思的。现在微信小游戏的开发都离不开游戏引擎,用原生小游戏开发工具开发的很少很少。但是毕竟我不是专...

97040
来自专栏程序人生 阅读快乐

HTML5实战

作为Web开发领域里发展最快的技术之一,HTML5凭借其动态特性及跨平台特性日益成为程序设计领域备受推崇的语言。作为一门新兴语言,HTML5的应用范畴远远不止移...

20420
来自专栏SpringSpace.cn

使用 Kotlin 和Spring Boot 2.0快速开发REST API接口 顶

凭借Kotlin的幽雅,还有Spring Boot 2.0的简洁,可以通过简单几行代码实现大流量数据接口,同时具备背压处理能力,下面用一个简单的示例介绍接口实现...

16820
来自专栏SpringSpace.cn

使用 Kotlin 和Spring Boot 2.0快速开发REST API客户端 顶

在上一篇文章使用 Kotlin 和Spring Boot 2.0快速开发REST API接口内介绍了如何使用简单代码快速实现REST API的服务端接口,此文简...

11820
来自专栏MasiMaro 的技术博文

Windows下的代码注入

木马和病毒的好坏很大程度上取决于它的隐蔽性,木马和病毒本质上也是在执行程序代码,如果采用独立进程的方式需要考虑隐藏进程否则很容易被发现,在编写这类程序的时候可以...

22210
来自专栏敏捷开发&项目管理

微信小程序开发 (资料汇总,谁还没被坑过?希望助你绕过一些坑)

最近帮人家做一个微信小程序,刚好想熟悉一下。由于牵扯到多用户使用系统,以及数据共享,所以自然架构选择了,客户端和服务器的方式。

38730
来自专栏机器学习原理

知识图谱api调用

Wiki和google连不上网,这里中重点试了试CN-Dbpedia,比如,我想找一下苹果公司这个实体的三元组信息;

61220

扫码关注云+社区

领取腾讯云代金券

年度创作总结 领取年终奖励