写点什么

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:362927
用户头像

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

关注

评论

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

java课程学习难度怎么样

小谷哥

2022-08微软漏洞通告

火绒安全

microsoft 终端安全 安全漏洞

武汉链(基于ETH)BSN官方DDC链上数据解析

BSN研习社

区块链

阿里内部流出的绝密文档JDK源码学习笔记(2022版)限时分享

Java工程师

Java 源码 jdk

在小程序中SVG的打开方式

Geek_99967b

小程序 SVG

Apache APISIX 在微软云 ARM 和 x86 服务器上的性能测试对比

API7.ai 技术团队

API网关 APISIX 微软云

招生报名小程序开发笔记二:功能需求设计

CC同学

开源一夏 | jQuery scroll() 滚动加载列表 获取腾讯云图片像素信息

六月的雨在InfoQ

开源 COS ​jQuery 8月月更

你的数据是如何泄露的?企业和个人应该这样做……

火绒安全

安全漏洞 数据泄露 黑客攻击

元宇宙|高阶音频处理能力,让声音「声临其境」

融云 RongCloud

音视频技术

袋鼠云数栈基于CBO在Spark SQL优化上的探索

袋鼠云数栈

基于SpringBoot的OnlineMusicPlayer项目

bug郭

签约计划第三季 8月月更

PHP 项目对接视频号原来如此简单,小白也能轻松完成【带附件】

CRMEB

一步一图带你深入剖析 JDK NIO ByteBuffer 在不同字节序下的设计与实现

bin的技术小屋

网络编程 Netty nio Java Concurrency java nio

编译器优化:何为SLP矢量化

华为云开发者联盟

开发 编译器 SLP

开源一夏 | Java"实现"svn文件对比

六月的雨在InfoQ

svn 开源 文件对比 8月月更

程序员培训班哪家教的比较好

小谷哥

招生报名小程序开发笔记一:开发背景和技术方案的选型确定

CC同学

当科学家决定搞点“花里胡哨”的东西

图灵教育

StarRocks 在 58 集团全业务线的深度实践

StarRocks

数据库

实时云渲染——让元宇宙从科幻走入现实

Finovy Cloud

云渲染 GPU渲染

一张图,理清微服务架构路线(收藏)

C++后台开发

微服务 微服务架构 Linux服务器开发 C/C++后台开发 C/C++开发

大模型落地实践:同花顺大模型技术应用及优化

澜舟孟子开源社区

人工智能 自然语言处理 预训练模型

黄东旭,TiDB的灵魂骑手,和他的叛逆“问答”

B Impact

招生报名小程序开发笔记三:数据库设计

CC同学

离线数仓建设,企业大数据的业务驱动与技术实现丨03期直播回顾

袋鼠云数栈

焱融科技入选“2022 中关村国际前沿科技创新大赛”大数据与云计算领域 TOP10

焱融科技

文件存储 分布式文件存储 获奖

Kubernetes Crossplane VCluster构建新集群

CTO技术共享

开源 签约计划第三季 8月月更

Kubernetes监控 Harbor

CTO技术共享

开源 签约计划第三季 8月月更

IDC:阿里云位居2021年中国关系型数据库市场第一

Lily

如何读取redis的手机号验证码数据,实现自动化登录测试

Liam

程序员 测试 自动化测试 测试开发 测试自动化

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