A full-featured web interface for managing Android devices via ADB. Apps, files, screen, logs, shell — all in one place, locally or remotely.
Manage apps, files, logs, screen, and system settings from a clean browser dashboard.
10 feature-rich pages covering the full scope of Android device management — no command line needed.
From QA engineers to hobbyists — ADB Master fits into any Android workflow.
Streamline your testing workflow — install builds, capture evidence, and debug failures without touching the command line.
Keep ADB Master open alongside your IDE for a fast feedback loop while building and testing Android apps.
Help users debug Android devices remotely — share a session link, connect over the internet, no physical access needed.
Configure and provision multiple Android devices simultaneously — perfect for kiosks, test labs, or enterprise rollouts.
Run ADB Master headlessly on a Raspberry Pi with your Android device always attached — manage it from any browser, worldwide.
Use the full REST API to integrate Android device management directly into your continuous integration pipeline.
POST /api/devices/:id/apps/install to deploy build/logcat during test runGET /api/devices/:id/screen/capture for screenshotsGET /api/devices/:id/bugreport as CI artifact on failADB Master consolidates features that are otherwise scattered across multiple paid and CLI-only tools into a single free, browser-based interface.
| Feature | ADB Master | scrcpy | Android Studio | Vysor | adbLink |
|---|---|---|---|---|---|
| Price | Free & open source | Free & open source | Free | Freemium (paid for HD / remote) | $4.99+ one-time |
| Interface | Web browser | Native app / CLI | Desktop IDE (4–8 GB) | Desktop / browser (paid) | Desktop app |
| No client installation needed | ✓ Just Node.js + ADB | ✗ | ✗ | ✗ | ✗ |
| Remote access over internet | ✓ Built-in relay server | ~ Manual SSH tunnel | ✗ | ✓ Paid plan only | ✗ |
| Live screen view | ✓ 1–30 fps streaming | ✓ 60+ fps (fastest) | ✓ | ✓ | ~ Limited |
| Interactive screen control | ✓ Click, swipe, type, keys | ✓ | ~ | ✓ | ✗ |
| Screen recording | ✓ MP4 download | ✓ | ✗ | ~ Paid | ✗ |
| Full app management | ✓ Install/uninstall/disable/backup | ✗ | ~ Basic | ~ Basic | ✓ |
| Permission management | ✓ Grant / revoke per permission | ✗ | ✗ | ✗ | ~ |
| File manager | ✓ Upload / download / delete | ✗ | ~ Device File Explorer | ✗ | ✓ |
| Logcat viewer | ✓ Real-time + filters + presets | ✗ | ✓ | ✗ | ~ |
| ADB shell terminal | ✓ xterm.js in browser | ✗ | ✓ | ✗ | ✓ |
| Port forwarding UI | ✓ Forward + reverse | ~ CLI flag only | ✗ | ✗ | ~ |
| REST API for automation | ✓ Full OpenAPI 3.0 spec | ✗ | ✗ | ✗ | ✗ |
| Docker / Raspberry Pi support | ✓ arm64 Docker images | ~ Possible manually | ✗ | ✗ | ✗ |
| Multi-language UI | ✓ English & Russian (extendable) | ✗ | ✓ | ✗ | ✗ |
✓ Fully supported · ~ Partial / limited · ✗ Not supported
Node.js ≥ 20 and ADB are the only requirements. No native apps, no heavy IDEs.
Make sure Node.js ≥ 20 and ADB are installed and available on your PATH.
node --version # ≥ 20 adb version
Clone the repo and install all workspace dependencies with a single command.
git clone https://github.com/devapro/adb-master.git cd adb-master npm install
On Android: Settings → About Phone → tap Build Number 7 times → go back → enable USB Debugging in Developer Options.
Run the dev command — it starts both server and client. Open your browser.
npm run dev # Open http://localhost:5173
curl -fsSL https://raw.githubusercontent.com/devapro/adb-master/main/install.sh | bash cd adb-master && npm start
cd docker && docker compose up -d # Server on http://localhost:3000
cd docker cp .env.example .env # set NGROK_AUTHTOKEN docker compose -f docker-compose.ngrok.yml up -d
adb tcpip 5555 adb connect <device-ip>:5555
Or use the "Connect WiFi" button directly in the Devices page — no terminal needed.
The built-in relay server bridges your browser to a local ADB server over the internet — no VPN, no port forwarding on the target device.
RELAY_PORT=8080 \ npm run dev:relay # or: docker compose up -d
Start the relay on a public server. For home servers, use the ngrok Docker setup — no static IP needed.
RELAY_URL=https://your-vps.com \ RELAY_PASSWORD=secret \ npm run dev:server
The server connects to the relay and prints a session code to the console to share with the remote user.
Open the client URL from anywhere. Click the connection indicator in the header. Enter the relay URL and session code — done. Full device management, over the internet.