Skip to content

Introduction

Helium is a Chrome Extension API emulation layer designed for proxy-based browsers. It enables real Chrome extensions to run entirely within a web environment — no native browser integration required.

  • Proxy browser developers (e.g., DaydreamX) who want to add Chrome extension support
  • Extension authors who want to understand how their extensions behave in a proxy environment
  • Contributors working on Helium itself

Helium sits between Chrome extensions and the proxy browser, translating chrome.* API calls into web-native operations:

Chrome APIHelium Strategy
chrome.storageIndexedDB with WAL + snapshots
chrome.tabsHost-bound (DaydreamX provides tab management)
chrome.runtime.sendMessageSharedWorker message backbone
chrome.webRequestBareMux network middleware
Content script isolation4-layer proxy membrane sandbox

The spec is organized into 7 documents:

  1. System Architecture — The 6-layer stack, design principles, threading model, and data flow diagrams.

  2. Message Passing — The SharedWorker-based message backbone, including sendMessage, connect, long-lived ports, mesh relay fallback, and crash recovery.

  3. Execution Contexts — How background pages, content scripts, dedicated workers, and extension pages are emulated.

  4. API Binding — The handler registry that maps host application functions into chrome.* APIs, including the fail-safe contract and graceful degradation.

  5. API Implementation — Per-namespace implementation details for all 4 tiers of Chrome APIs, from chrome.runtime to chrome.tts.

  6. Proxy Integration — How Helium integrates with Reflux (content injection) and BareMux (network interception), including the bootstrap script, DNR evaluation, and cookie jar.

  7. Manifest & CRX Loader — CRX3 unpacking, manifest parsing, permission resolution, virtual filesystem, and the atomic staging-then-swap install mechanism.