写点什么

Breach:基于 Chromium 和 Node.js 构建的“可破解”的浏览器

  • 2014-07-27
  • 本文字数:2025 字

    阅读完需:约 7 分钟

最近,Stanislas Polu 发布了 Breach 的第一个公开测试版(Alpha 版),这是一个基于 Chromium 和 Node.js 构建的模块化浏览器。

在文章“构建下一代Web 浏览器的实验平台”中,Polu 简要介绍了引发Breach 的实验性项目。在他看来,“一直延续下来的Web 浏览的方法”从未改变,而且浏览器从未针对这样的Web 场景进行针对性设计:它“永远处于打开并且联网的状态”。

Polu 表示:

ExoBrowser 的目的,是在 Web 渲染引擎之上嵌入 Node.js。其主要目标在于,把绝大部分浏览器代码从 C++ 迁移到 JavaScirpt(借助特定的 JavaScript 闭包和语法,以及 Node.js 的原生能力——例如网络能力)。

ExoBrowser 背后的基本动机来自这样一个现实情况:在构建浏览器的过程中,我们能够随心处置 JavaScript 引擎和 HTML 渲染引擎。那么,为什么我们要忍受使用 C++ 构建浏览器本身所经历的那些痛苦?为什么不“启动它”并使用它自己拥有的技术进行构建?而这正是 ExoBrowser 希望能够实现的。

之后不到一年的时间里,在 ExoBrowser 之上运行的 Breach 就诞生了。接受采访的过程中,Polu 向 InfoQ 表示,Breach 让开发者只靠 Web 技术,就能够打建出全新的浏览体验。

发行公告中,Polu 宣称,尽管 Breach 还很年轻,但是他相信 Breach 将允许其使用者“破解”其代码并改变其行为,从而为浏览器带来新的、有趣的方向。

他说:

我们设计并完整地编写了向模块提供的 Breach API。这些 API 可以用来实现完整的模块化浏览器的愿景——在这样的浏览器中,功能是由简单、独立的 Web 应用提供的。我们融合了至少四个 Chromium 内容 API 的主流版本,并使 Breach 核心引擎始终追随最新的 HTML5 标准。此外,我们还修订了大量的 Bug,让 Breach 足够稳定,从而能够胜任作为我们日常主要使用的浏览器所肩负的重大职责。

Breach 中有一些涉及到 mode_strip(在打包的时候已经安装的默认模块)的重要特性,包括:

  • 标签页遵循 FIFO 原则;
  • 标签页能够嗅探页面的颜色;
  • 在 URL 地址栏输入时,Breach 将对标签页进行动态筛选。

Polu 表示,这些实验性质的特性将提供有趣的浏览体验,但是 Breach 将赋予开发者“彻底修改其外观和行为并(更重要地是)对其进行扩展的自由”。

对于 Breach 的反响褒贬不一,部分开发者和 JavaScript 社区表达了对 Breach 这个名字的疑虑。Hacker News 上,在黑客新闻展播(Show HN):Breach——一个基于Chromium 和Node.js 构建的模块化浏览器及相关讨论中,WeSawIt.com 的首席技术官Christopher Elwell 对Breach评价道:“我可能会通过浏览器发送几乎全部个人数据。对于应用来说,这个名字(Breah,意为‘攻破’)感觉并不可靠。”

在Reddit 的讨论 Breach,使用 JavaScript 编写的可破解的浏览器中,用户 640*480表示

面对“Breach”这样一个名字,“可破解”这个说法会引导我进行负面解读。

这个项目的思路听起来很酷,但是与其他浏览器(比如 Firefox)相比,它到底有何不同?Firefox 拥有许多扩展,它们同样能够完全改变浏览器工作方式。

社区里,其他人也依旧并不清楚 Breach 到底能够提供什么新东西。用户 Shawnz询问道:“Breach 身上有什么Firefox 并不具备的东西?Firefox 也是开源、模块化的,而且同样使用JavaScript 编写(尽管是与XUL 而不是HTML 结合,并且使用Gecko 而不是Webkit 内核)。”

Polu 给出的回答如下:

我们的平台要更进一步:它不向浏览器直接提供任何功能,从而保证浏览器完全基于模块构建。同时,我们基于 Chromium Content 模块完成这一切。Breach 与 Firefox 的根本动机相同,但我相信,基于 Breach 来重新编写整套 Web 浏览体验或许会更简单。

除了名字方面的问题,以及一些对于 Breach 能够提供什么的困惑外,试用过这个浏览器的用户们的反馈是正面的。在 Hacker News 上,用户 Paul Sawaya表示

这是个伟大的理念。我曾经想要构建一些类似的东西,但从未付诸行动。我认为这里的许多评论并没有准确领会 Breach 的目的。Firefox 和 XUL 同样是在浏览器之上叠加的可以使用 JS 脚本描述的 UI,但它是个糟糕的工作环境。

UI 是区别不同 Web 浏览器的主要因素。我们使用的选项卡风格的浏览器外观,已经许多年没有变过了。而 Breach 将支持各种有意思的实验和定制。对于能够看到这样的项目不断前进,我感到非常兴奋。

Polu 表示,在未来的几个月中,Breach 还有大量技术栈上的工作以及面向模块开放的 API 有待完成。他表示,这些工作的目标是让 Breach 足够可靠,以成为其他开发者构建工作的有力基础。Polu 相信,Breach 还将在聚合原生应用和 HTML5 Web 应用方面扮演重要的角色,同时他对于目前 Google Chrome 应用的模型并不满意。

Breach 将基于 MIT 协议发布。InfoQ 读者可以通过构建新模块或参与当前工作的方式,为该项目贡献自己的努力。不过,Polu 表示,他已经被最近的贡献和反馈淹没了,因此他正计划围绕着项目创建一个社区,从而推动 Breach 不断前进。

查看英文原文: Breach: Hackable Browser Built on Chromium and Node.js

2014-07-27 11:363079
用户头像

发布了 256 篇内容, 共 85.2 次阅读, 收获喜欢 10 次。

关注

评论

发布
暂无评论
发现更多内容

IT分享丨我是如何利用华为云网站安全解决方案帮助中小型企业实现IT安全

YG科技

华为云网站安全解决方案:全面保障企业网络安全,助力业务稳定高效运行

YG科技

一文读懂 Spring Bean 的生命周期

老周聊架构

三周年连更

跨平台应用开发进阶(五十)uni-app ios web-view嵌套H5项目白屏问题分析及解决

No Silver Bullet

uni-app ios 跨平台应用开发 三周年连更 web-view

基于阿里云物联网平台设计的实时图传系统_采用MQTT协议传输图像

DS小龙哥

三周年连更

2023-04-18:ffmpeg中的hw_decode.c的功能是通过使用显卡硬件加速器(如 NVIDIA CUDA、Intel Quick Sync Video 等)对视频进行解码,从而提高解码效

福大大架构师每日一题

golang 音视频 ffmpeg 福大大

动态资源技术JSP|Java与Html的美好相遇

浅羽技术

Java html 服务端 jsp 三周年连更

DAYU200关闭自动息屏的几种方式

坚果

OpenHarmony 三周年连更

华为云网站安全解决方案:守护企业数字化转型之路,提升业务效率与安全

YG科技

数据库、

在Mac上快速体验AI作画

IT蜗壳-Tango

三周年连更

华为云网站安全解决方案助力客户——构建风险全面可控的网站安全架构

YG科技

全栈开发实战|Spring Boot文件上传与下载

TiAmo

Spring Boot 三周年连更 Apache Commons 文件上传下载

华为云:网络安全愈发重要,企业该如何保障自身业务安全?

YG科技

中小企业如何保障网络安全?用了这么多项目华为云其实还不错!

YG科技

Spring Boot整合多数据源实践

Java Spring Boot

Springboot如何手动连接库并获取指定表结构|超级详细,建议收藏

bug菌

springboot 三周年连更

尚能饭否|技术越来越新,我对老朋友jQuery还是一如既往热爱

浅羽技术

jquery 前端 Web 框架 三周年连更

使用 docker manifest 构建跨平台镜像

江湖十年

Docker Desktop docker image docker build Docker 镜像

灵活应用Nginx Map:实战经验与实用方法

小毛驴的烂笔头

nginx linux运维 Nginx实践

灵活应用Nginx Rewrite:实战经验与实用方法

小毛驴的烂笔头

nginx linux运维

IPv6域名软件

穿过生命散发芬芳

ipv6 三周年连更

项目讲解之常见安全漏洞

越长大越悲伤

Java Web 安全

开源趣事~记给OpenHarmony提PR的那些事

Bob

开源 Open Harmony

热爱所有热爱

闫同学

三周年连更

“程序员”未来会失业吗 | 社区征文

BROKEN

三周年征文

文心一言 VS chatgpt (11)-- 算法导论2.3 7题 3.1 4~5题

福大大架构师每日一题

福大大 ChatGPT 文心一言

华为云网站安全解决方案:守护您的网站,让安全无忧

YG科技

Django笔记十之values_list指定字段取值及distinct去重处理

Hunter熊

Python django distinct values

SAP Emarsys 和 SAP Spartacus 的集成

汪子熙

SAP Spartacus 思爱普 三周年连更 Emarsys

华为云网站安全解决方案:中小型企业的云上云下安全守护专家

YG科技

Java线程中的wait、notify和notifyAll解析

共饮一杯无

Java 多线程 三周年连更

Breach:基于Chromium和Node.js构建的“可破解”的浏览器_JavaScript_James Chesters_InfoQ精选文章