返回资讯中心
外部精选
软件工程
#开发者实时流

Nordstjernen, Northstar, Southstar: minimalist webbrowsers in C and Rust

Nordstjernen is a web browser, written from scratch in C, focused on supporting the HTML and CSS standards. It runs on Windows, macOS and Linux, with builds for Android, FreeBSD, NetBSD and the JVM. Nordstjernen is buil…

Hacker News 最新edward2026/10/21 · 16 天前22 分钟阅读

以下正文同步自 Hacker News 最新,版权归原站所有,已转换为易读排版。

Nordstjernen is a web browser, written from scratch in C, focused on supporting the HTML and CSS standards. It runs on Windows, macOS and Linux, with builds for Android, FreeBSD, NetBSD and the JVM. Nordstjernen is built in Norway.

Nordstjernen Browser version 1.0.33 released! MP4 video with H.264 and AAC decoded by the operating system, WebGPU on by default, a built-in MCP server so a local agent can drive the browser window, Temporal and the full Intl API in the JavaScript engine, CSS anchor positioning, the Streams standard, and a long run of real-site layout fixes. More info here.

Northstar Browser version 1.0.15 released! The minimalist GPL sibling — streaming video through Media Source Extensions (AV1, VP9 and H.264) since 1.0.13, a sandbox that refuses executable memory to the engine, and about 3,800 lines of dead and duplicated code removed. About Northstar · More info here.

Southstar Browser version 1.0.0 released! The Rust version of Nordstjernen, now entirely Rust, with page JavaScript on the Boa engine. About Southstar · More info here.

HTML Standard. Behaviour is measured against the spec text, section by section, not against another browser — 141 spec rows fully implemented, 31 partial and 0 absent across WHATWG HTML sections 1–16. No element or API row is fully absent any more: every one is implemented, partial, or a deliberate non-goal. Against the Web Platform Tests (October 2026) it passes 91.5% of the html/, dom/, url/ and related subtests (151,974 of 166,164) and 73.2% of the css/ subtests (110,540 of 151,048), and QuickJS passes 82,243 of the 82,248 test262 tests it runs. See docs/HTML-compatibility.md.

Secure. Process-per-tab design — each tab runs in its own sandboxed renderer process, talking to the UI over IPC and shared-memory tiles. The renderer runs under seccomp + Landlock on Linux, a Seatbelt profile on macOS, and process mitigation policies on Windows · no JIT, in either the JavaScript or the WebAssembly engine.

Minimalism. The core engine is about 245,000 lines of project C and headers, excluding the vendored libraries and generated assets — small enough for one person to read and audit end-to-end.

Capable. JavaScript on QuickJS (an in-tree quickjs-ng fork with Temporal, the full Intl API and decorators in the engine, or Fabrice Bellard’s original QuickJS) with Canvas 2D, WebCrypto, Streams, Service Workers and the Navigation API · WebAssembly via WAMR’s fast interpreter · WebGL 1 & 2, and WebGPU on by default since 1.0.31 · inline <video> — MPEG-1, WebM through FFmpeg, and since 1.0.32 MP4 with H.264/AAC decoded by the operating system — with WebVTT captions, and HLS and DASH streams fed through Media Source Extensions · in-engine SVG · presentation MathML · CSS anchor positioning and scroll-driven animations · on-device safe browsing against a local blocklist.

Agent remote control. Since 1.0.33, nordstjernen --mcp is a built-in MCP server that lets a local agent read and drive the browser window — tabs, a page outline, clicks, typing, screenshots and JavaScript. It is off until allowed in Settings, listens on loopback only, needs a token, and shows a toolbar badge while connected. The browser itself still has no AI assistant.

Prints. Since 1.0.23, Ctrl+P lays the page out for paper and hands the sheets to the operating system's own print dialog — CUPS on Linux, the Win32 dialog on Windows, the Cocoa panel on macOS — so no printing code is written per platform and no dependency is added. @media print matches, @page sets the sheet size and its margins, and break-before, break-after and break-inside decide where a sheet may end. --dump=print:FILE renders the same pagination to a multi-page PDF without a printer. Since 1.0.24 printing works in the default process-per-tab mode, not only under --single-process.

Fast. Desktop builds shape text through ns-pango, a Pango fork that caches finished glyph strings and font metrics across layouts — on a table-heavy page it serves 92% of shaping requests and cuts layout time by 24%. Regular-expression search skips positions that cannot start a match, the way V8's Irregexp does, and a page on an origin that does not speak QUIC is upgraded to HTTP/3 through the alt-svc cache instead of stalling on a connect timeout: Acid3 loads in 2.2 seconds rather than 15.5.

Private. No telemetry and no update pings. Since 1.0.21 the client hints identify Nordstjernen as itself rather than impersonating Chrome, and --private starts a private-browsing session. Cookies are partitioned, and the safe-browsing check never leaves your machine.

Free software. Since 1.0.28 Nordstjernen is dual-licensed: use, modify and redistribute it under the GNU GPL, version 3 or later, or under the Nordstjernen Source License 1.0, at your option.

Nordstjernen has no JIT so it is much more secure, and can still be fast enough. It ships no telemetry of any kind, and deliberately includes no AI assistant and no AI-style web APIs.

Northstar is the minimalist sibling of Nordstjernen: a single-window, single-page, single-process desktop browser built from the same clean-room C engine, licensed under the GNU GPL, version 3 or later. It keeps the standards-first engine — lexbor, quickjs-ng (no JIT), ns-pango, WAMR, Wuffs — in about 188,000 lines of original C, with WebExtensions support, while leaving out tabs, per-tab renderer processes, WebGL and WebGPU: the page engine runs on its own thread inside the one browser process. It renders SVG in-engine, decodes WebP and APNG, plays MPEG-1 <video> and, since 1.0.13, streaming video through Media Source Extensions and plain MP4 and WebM files (AV1, VP9 or H.264 with AAC or Opus), prints through the system print dialog, and greets you with a sunny ark comic and a classic Mozilla-style toolbar. It runs on Linux, macOS and Windows — on Windows from the Microsoft Store — behind a Landlock filesystem sandbox and a default-deny seccomp filter on Linux, which since 1.0.15 also refuses executable memory wherever page content runs.

Read the full Northstar documentation » · or see the comparison table below for how the two browsers differ.

Southstar is the Rust version of Nordstjernen. Rather than starting from an empty repository, it started from the working browser: the Nordstjernen C codebase, its full history included, trimmed to the desktop (Linux, Windows, macOS, FreeBSD and NetBSD) and ported to Rust module by module while it kept running. In October 2026 the last of the project’s C went, the QuickJS-ng engine included: all of Southstar’s own code is now Rust — about 330,000 lines in some 145 crates — and C remains only in the system libraries it links. Page JavaScript runs on Boa, a JavaScript interpreter written in Rust (no JIT), which passes all 52,133 test262 tests outside test/staging; HTML is parsed by its own Rust parser, HTTP/2 and TLS (rustls, with post-quantum key exchange) run in Rust, and WebAssembly runs on the wasmi interpreter. Southstar 1.0.0 was released on 18 October 2026, with a portable Linux zip and .deb packages for Debian 13, Debian forky and sid, and Ubuntu 24.04 and 26.04. How the port was done is in docs/rust-port.md.

Three browsers, one clean-room engine lineage. Nordstjernen is the flagship multi-tab browser; Northstar is the minimalist GPL-licensed single-process edition; Southstar is the same browser rewritten in Rust.

Swipe the table sideways to see all three browsers.

Latest release: Nordstjernen 1.0.33 — released 18 October 2026, with a portable Linux zip, a Debian/Ubuntu package for Ubuntu 24.04, Ubuntu 26.04 and Debian 13, a macOS disk image for Apple silicon, and the source. Windows is on the Microsoft Store, Android on Google Play, and the openSUSE, Alpine and Java packages from 1.0.23 are on the download page.

Northstar 1.0.15 — released 18 October 2026 — is on GitHub as GPL source and on the Microsoft Store for Windows; the most recent Linux binaries (a portable zip, an AppImage and a Debian package) are from 1.0.7. Northstar downloads »

Southstar 1.0.0, the Rust version — released 18 October 2026 — has a portable Linux zip and .deb packages for Debian 13, Debian forky, Debian sid, Ubuntu 24.04 and Ubuntu 26.04 on GitHub.

English · 中文 · हिन्दी · Español · Français · العربية · বাংলা · Português · Русский · اردو · Bahasa Indonesia · Deutsch · 日本語 · Kiswahili · मराठी · తెలుగు · Türkçe · தமிழ் · Tiếng Việt · 한국어 · Norsk

正文由 探How 从来源站点 RSS 同步,内容未经改写;遇到排版缺失或需要图片、视频时请以原文为准。

打开原文
去社区讨论 →