Northstar Browser Vibe 项目

完全从零开始使用C语言编写的开源网页浏览器,属于nordstjernen.org项目家族中的GPL许可精简分支

Northstar Browser是一款完全从零开始使用C语言编写的开源网页浏览器,属于nordstjernen.org项目家族中的GPL许可精简分支,由挪威开发团队维护。与当下主流浏览器依赖Gecko、WebKit、Blink等现成渲染引擎不同,Northstar的目标是从底层构建一个完整、独立、可审计的浏览器引擎。

核心功能

1. 从零构建的HTML5渲染引擎 Northstar的渲染引擎完全自研,不依赖任何第三方浏览器内核。项目核心约185000行C代码和头文件,不含第三方库和生成资源。引擎针对WHATWG HTML标准逐节逐条测试,目前140个HTML spec条目已完全实现,31个部分实现,0个完全缺失,所有条目均有明确状态记录。

2. Web Platform Tests高分通过 在WPT(Web Platform Tests)快速测试套件中,Northstar整体通过率达88.4%,HTML测试套件通过率高达91.7%。QuickJS引擎运行test262合规测试套件完全清洁,JavaScript合规性有充分保障。

3. 进程隔离安全架构 采用进程-per-tab设计,每个标签页运行在独立沙箱化渲染进程中(Linux下使用seccomp和Landlock机制),通过IPC和共享内存帧缓冲与UI进程通信。不启用JIT编译,从架构层面减少了安全攻击面。

4. 完整CSS标准支持 支持Flexbox和Grid布局,CSS Scroll Snap(容器内和页面级别均支持),自定义属性(CSS Custom Properties),Web Animations API(过渡和动画覆盖所有支持属性),border-image,position:fixed等现代CSS特性。

5. JavaScript控制开关 内置JavaScript关闭开关,用户可选择完全禁用JS,获得极致隐私保护和不依赖脚本的网页浏览体验。

6. 视频与多媒体支持 内置视频支持:MPEG-1始终可用,WebM/VP9在FFmpeg存在时启用;WebVTT字幕;HLS和DASH流媒体通过MSE扩展支持;WebGL 1和2(默认启用,自1.0.20版本起);内置SVG渲染支持mask和marker;presentation MathML公式渲染。

7. 打印与PDF输出 自1.0.23版本起支持打印功能,按Ctrl+P将页面排版为适合纸张的格式,调用系统打印对话框(Linux用CUPS、Windows用Win32对话框、macOS用Cocoa面板)。支持@media print和@page规则。--dump=print:FILE参数可将同一排版输出为多页PDF文件。

8. 隐私保护 无遥测数据上报,无更新ping。每个版本更新仅显示版本号,不携带任何客户端追踪信息。

技术实现

Northstar的核心技术选择体现了开发团队对"可审计性"的追求。由于不依赖任何现成浏览器内核,代码库规模控制在一个人可以通读审计的范围内,这是其与其他主流浏览器的本质区别。

渲染引擎方面,使用Pango分叉版本ns-pango进行文本整形,缓存已完成的字形串和字体度量数据,在表格密集型页面中92%的整形请求由缓存服务,整体布局时间减少24%。正则搜索跳过不可能匹配的位置(类比V8的Irregexp算法)。QUIC协议支持:若某源服务器不支持QUIC,浏览器通过alt-svc缓存将连接升级到HTTP/3而非等待连接超时(Acid3测试加载时间从15.5秒降至2.2秒)。

JavaScript引擎默认使用QuickJS(quickjs-ng 0.16.1),同时提供实验性V8后端(通过编译选项-Djs_engine=v8启用)。WebAssembly运行时采用WAMR。安全浏览功能基于本地黑名单实现,无需云端查询。

打印系统的实现方式值得关注:不同平台没有各自编写打印代码,而是将排版后的页面交给各操作系统的原生打印对话框处理,从而避免引入平台相关依赖,同时保持了各平台用户体验的一致性。

快速上手

第一步:获取安装包 访问GitHub releases页面(https://github.com/nordstjernen-web/northstar-browser/releases),根据操作系统选择对应版本。Windows用户可通过Microsoft Store直接安装(应用ID:9P39ZB79JV0T)。Linux、macOS、Windows均有官方构建版本。

第二步:安装并启动 下载对应平台的压缩包或安装程序,完成安装后启动Northstar Browser。

第三步:访问常规网页 地址栏输入任意网址即可浏览。支持现代HTML5页面,包括视频播放、CSS动画、Flexbox/Grid布局等特性。

第四步:体验打印功能 按Ctrl+P打开打印对话框,页面将自动排版为适合纸张的格式,调用系统原生打印工具。支持输出到PDF(通过系统打印对话框选择PDF打印机)。

第五步(可选):管理JavaScript设置 点击地址栏或设置菜单中的JavaScript开关,可完全禁用JS,体验不依赖脚本的纯净网页浏览。

适用人群

Northstar Browser适合对浏览器技术有深度兴趣、想要理解浏览器底层实现原理的开发者和技术爱好者;需要完全掌控数字隐私、不希望浏览器发送任何遥测数据的隐私敏感用户;对软件供应链安全有要求、希望使用可完整审计代码库的政府、金融或企业用户;以及需要最小化依赖、追求极致轻量的嵌入式场景用户。

团队信息

由 AI 猎手自动发现

评论与建议

0 条评论