A programmatic browser instance manager — with a live viewer and local dashboard

Damru gives developers a code-first browser instance manager: spin up and orchestrate pools of real Android browser instances with DamruPool, watch and drive any one of them live with Damru View, and run the whole environment from the local Damru UI dashboard.

Where GUI antidetect tools (Multilogin, GoLogin, AdsPower) put instance management behind a point-and-click panel, Damru keeps it in your codebase — every instance is defined, launched, and scaled from Python, then observed through an optional local UI. Built for web scraping within terms, automation/QA testing, and anti-bot research.

What is a browser instance manager?

A browser instance manager is the layer that creates, tracks, scales, and shuts down isolated browser sessions so each one carries its own identity and state.

In commercial antidetect tools this is a GUI that stores "profiles." In Damru, an instance is a real Android browser inside a Redroid container, and the manager is your code: DamruPool maintains the containers, rotates per-worker proxies, and hands you a Playwright BrowserContext from pool.session().

from damru import DamruPool

async with DamruPool(mode="auto", max_devices=10) as pool:
    async with pool.session() as ctx:          # one isolated Android instance
        page = await ctx.new_page()
        await page.goto("https://example.com")

How do I watch and control a running instance? (Damru View)

Damru View opens a live scrcpy stream of any running worker, so you can watch automation in real time or take manual control.

Run python -m damru view --serial <worker> to drive the device, or add --no-control for a watch-only stream that is safe to leave open during an automation run. It is the developer equivalent of "open this profile's browser window" in a GUI tool — except it is a genuine Android screen, not a desktop Chromium window.

# Watch + control a worker
python -m damru view --serial wsl:127.0.0.1:5600

# Watch-only (safe during a live run)
python -m damru view --serial wsl:127.0.0.1:5600 --no-control

What is the Damru UI dashboard?

Damru UI is a local-only web dashboard (http://127.0.0.1:<port>) for setting up, running, and inspecting your instances without writing throwaway scripts.

Launch it with python -m damru ui. It runs on an allowlisted backend and never exposes the environment to the network by default.

PanelWhat it does
SetupEnvironment health and dependency status at a glance
WorkersStart/stop Redroid containers and read live worker status
Work LabStealth URL navigation, quick stealth checks, random-profile apply, screenshot capture, gallery cleanup, internet repair, browser-viewer streaming, native scrcpy command copy
LogsInline log viewer
python -m damru ui   # opens the local dashboard

The UI is for setup, debugging, and manual inspection — production automation should still run through AsyncDamru / DamruPool.

Code-first instance management vs GUI antidetect tools — an honest comparison

Damru and tools like Multilogin, GoLogin, and AdsPower solve overlapping problems with opposite philosophies: Damru manages instances in code and adds an optional local UI; they manage profiles in a GUI and add an optional API. Neither is "better" universally — pick by workflow.

DimensionDamru (code-first)Multilogin / GoLogin / AdsPower (GUI-first)
Primary interfacePython (DamruPool) + optional local UIPoint-and-click desktop/cloud dashboard
An instance isReal Android browser in a Redroid containerPatched desktop Chromium/Firefox "profile"
Live viewingDamru View (scrcpy stream, control or watch-only)Open the profile's browser window
Scalingmax_devices, per-worker proxy rotation, in codeAdd seats / profiles in the panel
Where state livesYour infrastructure (self-hosted)Vendor cloud (profiles synced)
CostFree, open sourceSubscription (≈ $99+/mo typical)
Best fitDevelopers, CI/CD, researchersNon-technical teams who prefer a GUI
ReproducibilityVersioned in your repoManual, in the panel

If your team is non-technical and needs durable, shareable profiles with a managed cloud, a GUI tool is the pragmatic choice — Damru is for teams who want the instance layer in code, owned end to end. For developers who already script with Playwright, the migration cost is near zero because pool.session() returns a standard BrowserContext.

FAQ

Does Damru have a dashboard or GUI?

Yes — Damru UI is a local-only web dashboard (python -m damru ui) for setup, worker control, a Work Lab, and logs. It is meant for manual inspection and debugging; production runs use the Python API.

Can I watch automation run live?

Yes — Damru View (python -m damru view) streams a live scrcpy view of any worker, with a --no-control watch-only mode that is safe during runs.

Is Damru an alternative to Multilogin, GoLogin, or AdsPower?

For developers, yes — it covers the instance-management job in code with an optional local UI, instead of a GUI profile panel. It is not a multi-accounting product; use it for lawful scraping, QA, and anti-bot research.

How many instances can I run in parallel?

As many as your hardware supports — DamruPool(max_devices=N) orchestrates N Redroid containers with per-worker proxy rotation.

Is the dashboard exposed to the internet?

No — the Damru UI binds to 127.0.0.1 and uses an allowlisted backend by default.

Manage your browser fleet from code

Open source, Python, real Android. Install in one command, then open the dashboard.

Related: how it works · device profiles · full comparison · docs.