Lightpanda Browser

ヘッドレス用途のオープンソースブラウザ。Zig 製。CDP で Playwright / Puppeteer / chromedp と互換。

1 — 概要

Lightpanda はヘッドレス利用に特化したオープンソースブラウザ。JavaScript 実行と Web API(一部・WIP)を備え、Chrome DevTools Protocol (CDP) 経由で Playwright・Puppeteer・chromedp と接続できる。AI エージェント・LLM 学習・スクレイピング・テスト向けの高速 Web 自動化を目指している。

9xChrome より省メモリ
11xChrome より高速
Zig実装言語
CDP既存クライアント互換

公式: lightpanda.io

2 — 特徴
  • HTTP ローダー: Libcurl
  • HTML パーサ: html5ever (Servo)
  • JavaScript: V8(zig-js-runtime
  • DOM: ツリー + DOM API、XHR / Fetch(Ajax)
  • CDP / WebSocket サーバ: 既存の自動化クライアントから接続可能

テレメトリはデフォルト有効。無効化する場合は LIGHTPANDA_DISABLE_TELEMETRY=true を設定する。

3 — クイックスタート

Linux x86_64:

curl -L -o lightpanda https://github.com/lightpanda-io/browser/releases/download/nightly/lightpanda-x86_64-linux && chmod +x ./lightpanda

macOS aarch64:

curl -L -o lightpanda https://github.com/lightpanda-io/browser/releases/download/nightly/lightpanda-aarch64-macos && chmod +x ./lightpanda

Docker の場合(CDP を 9222 で公開):

docker run -d --name lightpanda -p 9222:9222 lightpanda/browser:nightly
./lightpanda fetch --obey_robots --log_format pretty --log_level info https://demo-browser.lightpanda.io/campfire-commerce/
./lightpanda serve --obey_robots --log_format pretty --log_level info --host 127.0.0.1 --port 9222

起動後、Puppeteer では browserWSEndpoint: "ws://127.0.0.1:9222" で接続できる。既存の Puppeteer スクリプトの多くはそのまま利用可能。

4 — 実装状況

Lightpanda は Beta。安定性とカバレッジは改善中。多くのサイトは動作するが、エラーやクラッシュに遭遇する場合は Issue で報告が推奨される。

機能備考
HTTP loaderLibcurl
HTML parserhtml5ever
DOM tree / DOM APIs
JavaScriptV8
AjaxXHR API / Fetch API
DOM dump
CDP / WebSocket server
Click / Input form
Cookies / Custom headers / Proxy
Network interception
robots.txt--obey_robots

Web API は数百あり、ヘッドレス専用でもカバーは段階的に増やす方針。JavaScript 対応の進捗は zig-js-runtime リポジトリを参照。

5 — ビルド・テスト

Zig 0.15.2zig-js-runtime(V8)、Libcurl、html5ever。v8 ビルド用に Linux では xz-utils ca-certificates pkg-config libglib2.0-dev clang make curl gitRust、macOS では cmake と Rust。Nix の場合は nix develop で devShell を利用可能。

ビルド・実行

make build
# または
zig build run

スナップショットを埋め込む場合は zig build snapshot_creator -- src/snapshot.bin のあと zig build -Dsnapshot_path=../../snapshot.bin でビルド。

テスト

単体: make test。E2E は demo リポジトリを ../demo にクローンし、Node 依存と Go > v1.24 を入れたうえで make end2end。Web Platform Tests 用には lightpanda-io の wpt フォークとホスト設定が必要。

公式: lightpanda.ioプライバシーポリシー

リポジトリ: lightpanda-io/browser

Nightly ビルド: Releases (nightly)

Docker: lightpanda/browser

技術: Zig、V8(zig-js-runtime)、Libcurl、html5ever、CDP。Playwright 利用時はバージョンによって挙動が変わる可能性があるため、不具合時は Issue に「最後に動いていたスクリプトのバージョン」を記載するとよい。