2天时间,聊今年最热的 Agent、上下文工程、AI 产品创新等话题。2025 年最后一场~ 了解详情
写点什么

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

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

关注

评论

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

“AI Earth”人工智能创新挑战赛:助力精准气象和海洋预测Baseline[1]、NetCDF4使用教学、Xarray 使用教学,针对气象领域.nc文件读取处理

汀丶人工智能

人工智能 数据挖掘 机器学习 深度学习 6 月 优质更文活动

如何轻松应对复杂的分布式系统日志收集和分析

xfgg

ELK 日志收集架构 6 月 优质更文活动

百度APP iOS端包体积50M优化实践(三) 资源优化

百度Geek说

ios 开发语言 Object-c 企业号 6 月 PK 榜 6 月 优质更文活动

目前青岛只有一家正规等保测评机构吗?在哪里?

行云管家

青岛 等级保护 等保测评

容器化部署四大优势简单说明-行云管家

行云管家

容器化 部署 IT运维 容器化部署

“AI Earth”人工智能创新挑战赛:助力精准气象和海洋预测Baseline[3]:TCNN+RNN模型、SA-ConvLSTM模型

汀丶人工智能

人工智能 数据挖掘 机器学习 LSTM 6 月 优质更文活动

凝聚全球顶尖力量,助力开源行业发展 | 2023开放原子全球开源峰会开幕式暨高峰论坛亮点抢先看!

开放原子开源基金会

开源

NineData x 华为云正式上线

NineData

数据库 华为云 企业动态 语言 & 开发 NineData

原来kafka也有事务啊,再也不担心消息不一致了

Java kafka 事务

ChatGPT与软件架构(5) - 网络安全

俞凡

人工智能 架构 网络安全 ChatGPT

对线面试官-线程池(三)

派大星

Java 面试

直播app源码开发的稳定控制知识

山东布谷科技

软件 App 开发 搭建平台 直播app系统

【618备战巡礼】“三高”之第一高--如何打造高可用系统 | 京东云技术团队

京东科技开发者

高可用 集群 高可用架构 618 企业号 6 月 PK 榜

软件测试/测试开发丨接口测试学习笔记分享

测试人

程序员 软件测试 协议 接口测试 http和https

浅谈ByteHouse Projection优化实践

字节跳动数据平台

OLAP Clickhouse bytehouse

INFINI Easysearch 完成龙芯架构兼容性认证

极限实验室

搜索引擎 国产化 龙芯 easysearch 极限科技

制作Jdk镜像

tiandizhiguai

Docker k8s 镜像

原来kafka也有事务啊,再也不担心消息不一致了

JAVA旭阳

kafka

BH1750 传感器实战教学 —— 硬件设计篇

矜辰所致

传感器 硬件设计实战 光照传感器 6 月 优质更文活动

学习MyBatis的异常处理机制

Java mybatis

电动车厂家会生产制造共享电动车吗?

共享电单车厂家

共享电动车厂家 共享电单车生产 本铯电动车厂家 电动车生产厂家

时序数据库 openGemini 线下meetup · 北航站来啦,欢迎大家报名!

华为云开源

数据库 前端

从Docker和Kubernetes看Containerd

鲸品堂

Docker 容器 Containerd 企业号 6 月 PK 榜

Github 上最值得学习的 Springboot核心笔记,硬核简直了

Java spring Spring Boot 框架

20个Golang片段让我不再健忘 | 京东云技术团队

京东科技开发者

Java Go 语言 企业号 6 月 PK 榜

GitHub星标20k+的Java指南,号称"Star收割机"

Java java面试 Java八股文 Java面试题 Java面试八股文

太赞了!阿里技术团队《Java 面试官手册》突击版对外开放!

Java java面试 Java八股文 Java面试题 Java面试八股文

阿里Java调优笔记爆火,7大模块优化实战,请查收

Java 性能优化 性能调优

“AI Earth”人工智能创新挑战赛:助力精准气象和海洋预测Baseline[2]:数据探索性分析(温度风场可视化)、CNN+LSTM模型建模

汀丶人工智能

人工智能 数据挖掘 机器学习 LSTM RNN回归 6 月 优质更文活动

基于 prefetch 的 H5 离线包方案 | 京东云技术团队

京东科技开发者

ios H5 andiod prefetch_related 企业号 6 月 PK 榜

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