Skip to content

About

Fork of Lightpanda focused on running the Zig-based headless browser as a tvOS app, with CDP serving, vendored deps, and TLS certificate fallback.

Resources

Contributing

Stars

1 star

Watchers

0 watching

Forks

 
 

Repository files navigation

qoli/browser

Fork of lightpanda-io/browser, focused on running Lightpanda as a tvOS app and CDP server inside the tvOS Simulator.

This fork is not a general downstream packaging repo. The main work here is tvOS porting: app lifecycle wiring, Zig build changes, vendored dependency setup, TLS certificate fallback, and an Xcode test harness that makes the port reproducible.

What This Fork Changes

Compared with upstream, this fork adds and documents a tvOS-oriented runtime path:

The goal is simple: start Lightpanda inside a tvOS app, expose a CDP endpoint, and drive it from external tooling such as Puppeteer.

Current Focus

This fork currently centers on:

  • tvOS Simulator execution
  • CDP server availability on 127.0.0.1:9222
  • reproducible Zig + Xcode build flow
  • HTTPS compatibility in environments without system certificates

It should be read as a working engineering fork, not as a full productized downstream distribution.

Key Notes

  • Lightpanda still comes from the upstream project and remains a beta headless browser.
  • The tvOS path here is fork-specific work and is not an upstream release target.
  • The current TLS workaround uses an embedded CA bundle because the tvOS Simulator does not expose system certificates in the same way as macOS.
  • CDP behavior is currently single-connection oriented.

Quick Start

Build for tvOS Simulator

SDKROOT=$(xcrun --sdk appletvsimulator --show-sdk-path)
cat > /tmp/tvos-sim.libc <<EOF
include_dir=$SDKROOT/usr/include
sys_include_dir=$SDKROOT/usr/include
crt_dir=$SDKROOT/usr/lib
msvc_lib_dir=
kernel32_lib_dir=
gcc_dir=
EOF

/tmp/zig-0.15.2/zig build \
  --sysroot "$SDKROOT" \
  --libc /tmp/tvos-sim.libc \
  -Dtarget=aarch64-tvos-simulator \
  -Doptimize=ReleaseFast \
  -Dtvos_app

Install and Launch

APPDIR=zig-out/tvos-simulator/LightpandaTV.app
mkdir -p "$APPDIR"
cp zig-out/bin/LightpandaTV "$APPDIR/LightpandaTV"
cp tvos/Info.plist "$APPDIR/Info.plist"

xcrun simctl install <BOOTED_UDID> "$APPDIR"
xcrun simctl launch <BOOTED_UDID> io.lightpanda.tvos

Verify CDP

curl http://127.0.0.1:9222/json/version

Drive It with Puppeteer

Use any CDP-compatible client against:

ws://127.0.0.1:9222/

Documentation

These documents explain the fork-specific engineering work in more detail, including:

  • tvOS app startup flow
  • build system adjustments
  • CA certificate handling
  • Xcode test harness setup
  • known issues and follow-up work

Repository Map

  • src/: Zig browser runtime and HTTP/CDP implementation
  • tvos/: tvOS app wrapper and scene lifecycle files
  • deps/: vendored dependency build logic used by this fork
  • xcode/LightpandaTVTest: reproducible Xcode test project

Upstream

Upstream project:

If you need the general Lightpanda browser roadmap, feature matrix, or upstream installation guidance, read upstream first. If you need the tvOS port, simulator workflow, or fork-specific maintenance details, this fork is the relevant source.

About

Fork of Lightpanda focused on running the Zig-based headless browser as a tvOS app, with CDP serving, vendored deps, and TLS certificate fallback.

Resources

Contributing

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages