Open source · Android-native · Python

Automate a real Android browser.
Undetected.

Damru is the first open-source framework that automates a real Android browser — Redroid + Playwright + CDP with OS-level fingerprint spoofing. Built for web scraping, automation testing, and anti-bot research. An undetected-chromedriver alternative for mobile.

173 GitHub stars
$ pip install damru
damru — python3
# automate a real Android device, spoofed at the OS level
from damru import AsyncDamru

async with AsyncDamru(device="random") as browser:
    page = await browser.new_page()
    await page.goto("https://creepjs.com")
    # fingerprint → real Android device 
CreepJS · detected as a real device

Why Android-native

Desktop stealth got caught.
Real mobile didn't.

undetected-chromedriver, playwright-stealth and SeleniumBase patch a desktop browser with JavaScript — a surface detectors now read well. Damru runs a genuine Android device and changes the fingerprint beneath the browser. A category no other open-source framework addresses.

155
Real device profiles
~184
TLS / JA3 fingerprints
8
Stealth layers
0
JavaScript injected
CreepJSSannysoftBrowserScanFingerprint Pro — validated against open fingerprinting test suites

Features

What's under the hood

Zero JS injection

Spoofing happens at the OS, binary and CDP layers — nothing in the DOM for detectors to read.

155 real device profiles

Genuine Samsung, Pixel, Xiaomi, OPPO and Realme fingerprints — real hardware, not desktop values faking mobile.

GPU binary patching

Patches Vulkan / GLES .so files so the GPU fingerprint matches the spoofed device.

TLS / JA3 randomization

~184 unique network fingerprints from one binary.

Real Android, in Docker

Android 14 via Redroid, driven through the Chrome DevTools Protocol with Playwright.

Pools that scale

Orchestrate many Redroid workers in parallel for scraping and automation at scale.

Pipeline

Redroid → CDP → Playwright

Real Android runs in Docker; native hooks rewrite device identity at the system level; Chrome is driven over CDP via ADB; you script it with a Playwright-style Python API. See the architecture →

Get started

Running in three steps

Install

One command from PyPI.

# from PyPI
pip install damru

Set up

Pull the Android image, check your env.

python -m damru setup
python -m damru install-image
python -m damru check-env

Automate

Drive a real Android browser.

async with AsyncDamru(
  device="random") as b:
  page = await b.new_page()

Architecture

The pipeline

Python API ADB Redroid · real Android CDP Chrome

Spoofing is applied at the OS, binary, and network layers before the page loads. See the full architecture →

Automate a real Android browser

Open source, Python, and undetectable by design. Install in one command and run your first stealth session in minutes.