Standalone toolkit for running headless Chromium on resource-constrained ARM devices (Termux/Android, Raspberry Pi, embedded Linux) without root, Playwright, X11, or API keys.
A zero-dependency browser automation stack (except the chromium package itself and
optionally websocket-client) using Chrome DevTools Protocol (CDP) over HTTP/WebSocket.
You control Chrome by talking directly to its built-in debugger — no middleman, no cloud service, no subscription, no 500 MB Node/npm install.
- AI agents running on low-resource ARM hosts without root access
- Scraping/rendering pages that need JavaScript on old phones, Raspberry Pi, or VPS
- Anyone who hit
Could not find a version that satisfies the requirement playwrightbecause no ARM wheel exists - Anyone who can't install X11, systemd, or Docker
| Path | Purpose |
|---|---|
scripts/chromium-start.sh |
Start/stop/health-check Chromium with safe flags |
scripts/chrome-resource-guard.py |
Auto-kill Chrome when RAM/battery low; resume when safe |
scripts/web-dashboard.py |
stdlib-only monitoring dashboard (http.server + sqlite3) |
templates/dashboard.html |
Zero-build monitoring UI (no npm, no pip) |
SKILL.md |
Full documentation: flags, CDP recipes, pitfalls, alternatives |
references/ |
Deep-dive notes on CDP without Playwright, glibc vs Bionic, D-Bus noise |
# Example: Termux
pkg install chromium # or chromium/x11 from community repo
./scripts/chromium-start.sh
curl -s http://localhost:9222/json/versionOn Raspberry Pi OS, Debian ARM, Alpine — install chromium-browser or chromium
via apt/apk, edit the shebang in scripts if needed, and run the same launcher.
The scripts assume a POSIX environment. If you run on Termux, paths point to Termux prefixes. If you run on Raspberry Pi OS, Debian, or Alpine:
- Change the shebang to
#!/usr/bin/env bashor#!/bin/sh - Replace
$PREFIXwith/usror your package manager prefix - Replace profile directories (
$HOME/.chromium-termux) with any path you own
These are trivial edits — the logic (flags, CDP protocol, resource rules) is universal.
Public domain / Unlicense — steal it, fork it, sell it, no attribution needed. Built so every broke ARM box can render the modern web like a cloud VPS.