Show HN: Proroot – Zero-overhead proot replacement for Android (github.com)

2 points by coderredlab ↗ HN
I built a drop-in replacement for proot that runs full Linux userspace (Node.js, Python, Git, Chromium) on Android without root.

proot uses ptrace — 2 context switches per syscall. proroot uses LD_PRELOAD + binary patching — 0 context switches, in-process path translation.

It powers andClaw, an app that turns Android phones into AI agent gateway servers running OpenClaw with a real Chromium browser.

Tested with Node.js 24, Python 3.12, Git, and Chromium headless_shell (Playwright).

Binary release (arm64 .so files): https://github.com/coderredlab/proroot

1 comment

[ 0.23 ms ] story [ 11.8 ms ] thread
Replacing ptrace with LD_PRELOAD is the obvious move but the devil is in the details. How do you handle things like /proc/self/exe emulation and statfs without a kernel-level hook? Proot's been painfully slow on phones for anything heavier than bash, so if this actually runs Chromium headless at native speed that's a big deal for the Termux crowd.