Damru: The Open-Source Undetected ChromeDriver Alternative Built for Android (2026)

Damru is a free, open-source browser automation framework that replaces patched desktop Chrome binaries with a genuine Android runtime (Redroid + Playwright + CDP), making it a compelling undetected ChromeDriver alternative for teams that need authentic mobile fingerprints rather than desktop spoofing.

If you have landed here researching how to install undetected ChromeDriver and avoid bot-detection systems, you already know the lay of the land: undetected-chromedriver patches the ChromeDriver binary to strip WebDriver artifacts, and SeleniumBase extends that approach with additional stealth layers. Both solve real problems — on desktop. When a detection system inspects navigator.platform, the presence of touch event APIs, battery and vibration support, ARM-specific WebGL renderer strings, or Android Sec-CH-UA-Platform client hints, desktop patches have no answer.

Damru takes a fundamentally different approach. Rather than patching a desktop browser, it runs Chrome for Android inside a containerized Android instance (Redroid), then drives that real browser through Playwright and the Chrome DevTools Protocol (CDP). The fingerprint is not simulated or injected — it originates from a genuine Android operating system.


What Is Undetected ChromeDriver and Why Does It Fall Short on Mobile-Targeted Sites?

undetected-chromedriver is a Python library that patches the ChromeDriver binary to remove common WebDriver fingerprinting signals — but it targets desktop Chrome and structurally cannot produce an authentic Android fingerprint.

Even after patching, a desktop Chrome session exposes these Android-incompatible signals:

No amount of JavaScript injection on a desktop browser eliminates these signals because they are tied to the underlying OS and hardware abstraction layer — not to the JavaScript runtime. That is the architectural gap Damru fills.


Damru vs undetected-chromedriver vs SeleniumBase: Honest Comparison

FeatureDamruundetected-chromedriverSeleniumBase (UC mode)
PlatformAndroid (Redroid in Docker)Desktop (Win / macOS / Linux)Desktop (Win / macOS / Linux)
Driver ProtocolCDP via PlaywrightPatched ChromeDriverChromeDriver / UC patches
Detection / Spoofing LayerNative Android runtimeBinary patching + JS injectionJS injection + UC mode
Android Support✅ Native❌ None❌ None
Real Touch / Battery APIs✅ Android OS❌ Absent on desktop❌ Absent on desktop
ARM WebGL Renderer String✅ Yes (Adreno / Mali)❌ No (desktop GPU)❌ No (desktop GPU)
Automation APIPlaywright async PythonSelenium Python APISelenium or Playwright
Infrastructure RequiredDocker + KVM + Linux hostMinimal (pip only)Minimal (pip only)
Source-available✅ Yes — PolyForm NC 1.0.0 (GitHub)✅ Yes✅ Yes
Best ForAndroid fingerprint research, mobile QADesktop stealth scrapingDesktop stealth scraping + testing

When Damru Is the Right Choice — and When It Is Not

Use Damru when:

Stick with undetected-chromedriver or SeleniumBase when:

Both tools are legitimate, open-source research and automation instruments. The choice is determined by whether mobile fingerprint fidelity is a hard requirement for your use case.


Getting Started with Damru

Install Damru via pip:

pip install damru

Minimal async automation example with AsyncDamru:

import asyncio
from damru import AsyncDamru

async def main():
    async with AsyncDamru() as browser:
        page = await browser.new_page()
        await page.goto("https://example.com")
        title = await page.title()
        print(f"Page title: {title}")

asyncio.run(main())

Damru manages the Redroid container lifecycle, CDP handshake, and Playwright browser context automatically. For advanced options — custom Android API levels, proxy routing, and device profile configuration — see the full documentation at the Damru GitHub repository.


How Damru’s Three-Layer Stack Produces Authentic Android Signals

Understanding why Damru differs from Selenium with undetected ChromeDriver requires understanding its architecture:

1. Redroid (Android-in-Docker) Redroid is an AOSP-derived Android environment that runs inside a Docker container with GPU passthrough via KVM. It exposes a complete Android system — Android framework services, Binder IPC, SurfaceFlinger display stack — making it functionally equivalent to a booted Android device.

2. Chrome for Android (real APK) Damru installs and runs the actual Chrome for Android APK inside Redroid, not a repackaged or patched desktop binary. Every fingerprint-relevant property — navigator.platform, UA client hints, WebGL renderer strings, and platform APIs — reflects the genuine Android Chrome environment as shipped by Google.

3. Playwright + CDP Playwright connects to the running Android Chrome instance via the Chrome DevTools Protocol, providing the full modern automation surface: page navigation, DOM interaction, network request interception, screenshot capture, JavaScript evaluation, and more — all through a clean async Python API.

The result: a browser session whose fingerprint is structurally identical to a real Android device running Chrome, because architecturally, it is running on a real Android stack.


FAQ

Q: Is Damru a drop-in replacement for Selenium undetected ChromeDriver? No — Damru uses Playwright’s async API, not Selenium’s. Migrating existing selenium-based code requires rewriting the automation layer. If your project already uses Playwright, adoption is considerably more straightforward.

Q: Does Damru need a physical Android phone or an Android Virtual Device (AVD)? No. Damru runs Chrome inside Redroid — a containerized Android environment on Linux. No physical device and no QEMU-based AVD is required; the Docker + KVM stack provides the necessary Android OS layer.

Q: Is Damru free to use for scraping research and QA testing? Yes. Damru is source-available under PolyForm Noncommercial 1.0.0 and hosted at github.com/akwin1234/damru. It is free for personal, educational, and noncommercial research, QA, and fingerprinting use; commercial use requires a separate license.

Q: What are the Linux kernel requirements for running Redroid with Damru? Redroid requires a Linux kernel with binder and ashmem module support (typically kernel 5.x or later with the relevant modules compiled in), plus KVM for hardware-assisted virtualization. Docker must be installed and running on the host.

Q: Can Damru intercept and inspect HTTPS traffic for research purposes? Yes. Playwright’s network interception API, accessible through Damru’s browser context, supports full request and response interception including HTTPS — subject to your legal and ethical obligations regarding the target site and applicable law.