商鼎云|为Chromium添加星际文件系统协议支持

ProtocolLabs和Igalia很高兴地宣布我们为网络和浏览器带来更多可扩展性和用户代理的一个重要里程碑:

支持Chromium中预定义的自定义协议处理程序!

简而言之:您现在可以构建Chromium——用于Chrome、Brave、Edge、Opera等开源浏览器代码——只需更改几行代码即可。

01 ProtocolLabs和Igalia
 

Igalia20多年来一直致力于改进网络。他们是一家开源咨询公司,参与网络标准并致力于Chromium、Webkit和Gecko——三个主要网络平台渲染引擎。

2019年,我们与Igalia签订了一份合同,致力于Web平台功能和兼容性修复,以使浏览器与驻留在同一台计算机上的交互服务非中心化Web项目更加轻松。

这种协作涵盖了很多领域——从IANA到WHAT-WG到W3C到IETF,再到与Apple、Google和Mozilla的谈判和协调……

我们更大的目标是将网络带到当今人们无法正常触及的地方,并能够对具有替代协议的网络进行实验。这些都是典型的变化,所以我们需要做的不仅仅是表层的修复。

02 到目前为止的星际文件系统浏览器集成
 

星际文件系统在许多浏览器中以各种方式获得了大量支持,从扩展到Brave和Opera中不同级别的内置支持,再到移动操作系统的实验。回顾2019年以来的星际文件系统浏览器更新,世界看起来很不一样:

星际文件系统Companion浏览器扩展可用于Firefox以及基于Chromium的浏览器,它与本地星际文件系统节点配对,例如星际文件系统Desktop。

Opera浏览器在他们的Android中支持星际文件系统和ipns方案, iOS和桌面浏览器,重定向到https://dweb.link网关。

Brave浏览器捆绑星际文件系统Companion,由星际文件系统和ipns方案支持,可以重定向到网关,还可以安装和管理Kubo星际文件系统节点使浏览器成为星际文件系统公共网络的完全参与者。

Capyloon,基于KaiOS和Firefox OS的基于Web的移动操作系统,并使用Firefox的Gecko渲染引擎构建,具有Iroh支持星际文件系统的ipns方案支持,来自number0的星际文件系统Rust实现。


本机Firefox部分是通过Capyloon正在做的工作来通过协议处理程序集成星际文件系统并将其组件捆绑在Iroh的Rust中进入Gecko,在Capyloon分支中,而不是在Mozilla中。在Firefox中有一个针对星际文件系统支持的跟踪bug,但Mozilla目前没有实施计划。

分布式存储网络支持Brave在他们的原生钱包里。此外,NFT pinning支持将在2023年到来——将 NFT 资产和元宇宙保存到本地星际文件系统节点和/或nft.storage。

03 本地集成
 

​重定向ipfs到ipnsHTTP 网关只是将星际文件系统真正本地集成到 Web平台上的一步。由于多种原因,它并不理想,但确实符合当今网络以HTTP为中心的特性,这使其成为一个相对简单的集成。但是,由于Web浏览器核心不支持非HTTP协议,Opera和Brave都必须在其产品中进行自定义工作才能添加这种级别的集成——这既昂贵又复杂。

如果底层引擎 - Chromium - 更好地支持非HTTP协议作为内置功能,那么嵌入器(Chromium 术语用于构建在它之上的产品)可以更容易地集成和试验,我们可以花更多的时间研究真正的东西,本地星际文件系统支持可能看起来像在Web平台中,而不是仅仅重定向到HTTP网关。Igalia赞同这是一个有价值的目标,Chromium社区也对这项工作的反馈是积极的。

04 主要的Chromium重构
 

Igalia的JaviFernandez去年大部分时间都在重构Chromium代码库中非常庞大和敏感的部分,以支持跨这个大型应用程序的多进程架构的HTTP地址。

经过Chromium社区大量工程师的代码审查的许多阶段工作之后,Javi使预定义的处理程序方法变得如此简单,以至于嵌入者现在可以在添加到ChromeContentClient的两行代码中添加星际文件系统的简单重定向集成。

你可能感兴趣的:(rust,开发语言,后端)