Online / Offline / Idle
Live connection status with idle indicators for every device via WebSocket updates.
Web dashboard, FastAPI backend, and headless Android agents —
Full (Shizuku wireless pair + Local ADB) or lightweight ADB (classic local TCP shell).
Build standalone APKs, compile Orbit NDK workers (liborbit.so), brand Dropper launchers from the panel, or bind into host APK, XAPK, and APKM bundles —
Orbit Shell, Shell stream / HVNC, call recording (both sides → timeline), one-time pm grant for all permissions, Internal & USB ADB, IR remote, Now Playing, Data Usage, remote APK install, optional on-device OCR, SOCKS5 proxy, Wi-Fi Direct share, WebView, FCM Sleep/Wake, AI operator, Telegram bot, Device Admin, Termux, and Python automation.
Full platform walkthrough — dashboard, AI operator, Shizuku + Local ADB, Orbit Shell (/ws/orbit), call recording & one-time permission grant, Internal & USB ADB, Shell stream / HVNC, IR remote, Now Playing, Data Usage, File Tracker + optional OCR, SOCKS5 proxy, Wi-Fi Direct share, Remote Browser & full-screen WebView, Sleep/Wake push, Telegram bot, automation, Termux, Build Center (Full & ADB agents, Orbit NDK, branded Dropper, APK/XAPK/APKM bind with ABI strip), and more.
Live status, advanced search, and hardware metrics — everything in real time.
Live connection status with idle indicators for every device via WebSocket updates.
Quickly find devices among hundreds of phones with smart filters.
No page refresh — changes appear instantly on the dashboard.
Battery, RAM, and storage for each device at a glance.
Enable or disable 30+ data-collection modules globally or per device — from the panel or AI chat.
Organize fleets with labels and groups — filter devices instantly from the dashboard.
See device distribution by country with live online/offline status on the map.
Unified log of SMS, calls, call recordings, input, files, OCR scans, shell, tasks, hooks, and more.
Device + admin LLM operator — screenshots, SMS, WebView, SOCKS5, Wi-Fi Direct, Now Playing, Data Usage, Device Admin, IR remote, optional OCR, modules, anti-kill, system toggles, shell, and task creation.
Queue one-time commands that run in order — auto-run while online or drain on reconnect.
Four delivery paths — Full agent (Shizuku + Local ADB), light ADB bootstrap, standalone Orbit NDK (liborbit.so with baked enroll config), or a featherweight Dropper that fetches the real payload on install.
Privileged shell over /ws/orbit — xterm in the dashboard, Start/Stop from the device panel, deploy to /data/local/tmp, auto-reconnect, and attach credentials from a Full agent when needed.
Hardware, network, SIM, and agent details — plus grant or review install permissions from the panel. On standalone builds, first-launch prompts follow remaining features from the APK stepper.
Screen time and foreground history, plus per-app Wi-Fi and mobile traffic — both via Usage Access.
Float any device module — screen, shell, files, camera — in a separate browser window while keeping the main dashboard open.
Send TV, AC, and set-top IR codes from the phone's IR blaster — Flipper IRDB catalog with brand profiles and test mode.
Include the PRoot capability at APK build. Distro and rootfs (Alpine, Ubuntu, Debian, or custom) are chosen later from the device panel — not at build time.
Include the QEMU VM capability at APK build. Profile, VM defaults, and payload (system binary + kernel) are configured after install from the device panel.
Per-app network blocking and Chain 3 firewall — a Shizuku sub-capability under Include Shizuku privileged shell. Keep or strip Firewall independently; parent off removes the entire Shizuku stack.
Everything you need on the device — without being physically near the phone.
Live screen view and remote control via Accessibility — optional WebRTC H.264 stream at build time.
Device Shell (uid=2000 when privileged), Orbit Shell (native worker), Termux Linux on Full builds, Local ADB / Shizuku shell, file transfer, image preview with zoom and rotate, and app install on Full or ADB agents.
Record and stream audio and video in real time.
See the active music or media session and remote play, pause, skip, and seek. Works from the panel and AI tools (get_now_playing / run_media_control).
Live device location on the map.
Stream live UI structure and remote taps via Accessibility.
List, launch, force-stop, uninstall, and pull APKs. On ADB agents, upload an APK and install with -r / -d / -g / Internal·Sdcard options via pm install.
Toggle airplane, Wi-Fi, Bluetooth, mobile data, location, torch, hotspot — plus brightness, volume, screen on/off, clipboard, dialer, vibrate, TTS, ringtone, and alarm. Available from the panel and AI tools.
Full agents: include Shizuku privileged shell at build — nested HVNC, Internal/USB ADB, Chrome CDP, Firewall, Process Control, Wireless ADB, Privileged settings sit under that toggle; parent off = entire stack gone — then Connect Shizuku (wireless pair) and Connect Local ADB. Either path unlocks uid=2000 for OLED blank, mute, confirm lock, call recording, one-time pm grant, saved Wi-Fi passwords, shared ADB key, Shell stream, and HVNC. ADB agents: Local TCP ADB only.
Hidden virtual display for off-screen apps, or Shell stream to mirror the phone screen (scrcpy-style, no MediaProjection). H.264 to the dashboard with remote taps/keys mapped to the live display. Optional timeline recording.
Auto-record both sides of carrier calls over privileged shell (VOICE_CALL → timeline WAV with number/contact). Grant Phone state from the Call recording card, or use Tools → One time to pm grant every declared runtime permission (+ appops) in one shot.
Write, sync, and run on-device automation scripts with a DSL editor, live parse, and an AI chat that drafts or patches the script.
Live hardware and soft-keyboard capture with offline buffering and timeline sync.
Scan device storage and media with live progress, grid/list view, zoom/rotate preview, and download. Optional on-device OCR (Tesseract, Persian + English) walks gallery and file images and returns text with source path — off by default, enable in Optional modules at build time.
Scan nearby Wi‑Fi, BLE, cell towers, GNSS, Chromecast, DLNA, printers, and IoT devices. Optional internal LAN scan: ARP, ping, TCP ports, NetBIOS, SNMP, traceroute, UPnP, and Wake-on-LAN.
Full-screen overlay on the device while you remote-control — block local touch, nav gestures, and control center with a custom message.
Detailed hardware, storage, network, SIM, agent build, and runtime metrics — export-friendly snapshot from the panel.
Remote Browser loads pages through the device's network in the dashboard (LAN gateways, intranet HTTP). On device pushes a URL or HTML full-screen on the phone — hide anytime; upload HTML for a temporary server URL.
Browse through the phone's connection in the panel only — open router admin pages, LAN hosts, and cleartext HTTP without launching a browser on the device.
Share the phone's internet over Wi-Fi Direct (NetShare-style). Nearby phones, tablets, or laptops join the DIRECT-xx SSID, then set a manual HTTP proxy. Needs Nearby Wi-Fi — not the carrier hotspot, and no extra dialog on the host after permission.
Open an authenticated SOCKS5 endpoint on the server and route TCP through the phone's network. Copy proxyUrl / curlProxyUrl for browsers or curl -x socks5h://…. Stays up across panel reloads until you stop it or the device disconnects.
Hibernate the agent while online to cut battery and network use. Wake later with a silent FCM push — even when the process is fully stopped.
Control TVs, ACs, and set-top boxes via the phone IR blaster. Browse 1,200+ Flipper IRDB profiles by brand, send keys, and run test candidates from the panel.
Reach LAN devices (TV boxes, tablets) over TCP ADB from the agent, or shell into USB-attached targets — connect, disconnect, and run commands from the dashboard.
Write sandboxed async Python scripts that control devices through a built-in SDK — run on schedule or react to live events.
# Runs on device connect
async def main():
info = await device.info()
log.info(info["model"])
loc = await device.get_location()
await device.send_sms(
"+15551234567",
f"Online: {loc['latitude']}"
)
await device.run_shell(
"pm list packages"
)
Automated Python scripts executed on the server with full device SDK access.
React instantly when something happens on a device — 36+ event types with server, device, or both execution modes.
call_recording_saved (WAV → Telegram via send_to_telegram), app install/uninstall, and boot eventsQueue one-time device actions — shell, SMS, screenshots, WebView, scripts, and 15+ action types.
AI_ENABLED
You:
Lock the screen, disable Wi-Fi,
and enable the SMS module.
Assistant:
Device admin lock sent.
Wi-Fi toggle set to off.
sms_log enabled and pushed.
→ run_device_admin(lock_screen)
→ set_system_toggle(wifi=false)
→ update_device_modules
Embedded Termux environment inside the agent — or skip Termux for a lightweight Device Shell-only APK (~8–15 MB). On-device OCR is a separate Optional module and is off unless you enable it.
Full agents expose both paths from the dashboard: Connect Shizuku (Wireless debugging pair) and Connect Local ADB (loopback adbd). At build time, nested Shizuku operations sit under the Include Shizuku privileged shell toggle — not a thin two-item Exclude card. Parent off strips the entire Shizuku stack. ADB agents use classic local TCP ADB only — no Wireless Debugging / full Shizuku server required.
adb tcpip 5555READ_PHONE_STATE / call logpm grant + appops for declared runtime permissions)Build-time protections plus live capability toggles from the panel or AI — block uninstall, app info, and admin deactivation.
Lock screen, wipe data, disable camera, and reset password from the panel or AI when admin is active on the device.
Secure authentication for dashboard access.
Secure HTTPS connections with certificate pinning.
Auto-starts after install and reboot — no user interaction required.
Connection stability with a built-in watchdog mechanism.
Sleep the agent over WebSocket to stop runtime and save battery. Wake with a silent Firebase push — reconnects even when offline. Requires Push wake on the APK build and a server service account. The counterpart for the very first start is Run after install, which brings the agent up at install with no interaction (toggle the trigger per device from the dashboard).
Airplane, Wi-Fi, Bluetooth, mobile data, location, torch, hotspot — plus volume, brightness, screen, clipboard, dialer, vibrate, TTS, ringtone, and alarm.
NetShare-style P2P group plus on-device HTTP proxy. Nearby clients join the DIRECT-xx SSID and set a manual proxy — not the carrier hotspot. Needs Nearby Wi-Fi. AI tools: start_wifi_share / stop_wifi_share.
Authenticated SOCKS5 through the device network. Dashboard and REST return proxyUrl / curlProxyUrl. AI tools: start_socks_proxy / stop_socks_proxy.
Full builds: Include Shizuku privileged shell — nested HVNC, Internal/USB ADB, Chrome CDP, Firewall, Process Control, Wireless ADB, Privileged settings (parent off strips the entire stack). Then Connect Shizuku (wireless pair) and Connect Local ADB. OLED blank, mute, lock type, call recording, one-time permission grant, saved Wi-Fi passwords, shared ADB key, Shell stream / HVNC. ADB builds: Local TCP shell only.
Both-sides carrier call WAV via uid=2000 shell — auto-start on off-hook, upload to timeline with number/contact. Grant Phone state / call log with pm grant from the panel.
Tools → Grant all once runs pm grant (+ appops) for every declared runtime permission when Local ADB / Shizuku shell is ready — no per-permission dialogs.
Hidden virtual display or main-screen Shell stream — H.264 to the dashboard, remote taps/keys on the live display size, optional timeline recording.
Optional H.264 screen streaming over WebRTC — enable at build time for lower-latency mirror.
Optional Tesseract module (Persian + English). Off by default so the APK stays light — enable in Optional modules to OCR gallery and file images on the phone.
Root, emulator, and debugger detection.
TOTP 2FA for dashboard users — enforce globally or per account from Security settings.
Optional Cloudflare Turnstile bot protection on admin login.
Searchable admin action history — logins, builds, device deletes, and security events.
Optional custom URI (e.g. deviceagent://restart) baked into the APK so a web page can relaunch the agent.
VPN, incognito, and WebRTC IP-mismatch hints on admin login sessions — enrich security review from Settings.
Submit host package requests from Bind — admins approve or reject before merge jobs run on that package.
Configure and build from the dashboard — no Android Studio. Standalone Full/ADB APKs, Orbit NDK workers, branded Dropper installers, or merge the agent into games and apps via APK, XAPK, or APKM upload with cancelable uploads and background jobs.
Wireless pair and classic local TCP — Termux, WebView, full modules, HVNC, Device Shell, and optional PRoot / QEMU.
Light APK — Local ADB shell, apps (pm install options), files, controls, Shell stream / HVNC. No Wireless Debugging.
Native-only build — AES-GCM baked server URL, build ID, enrollment key, and fingerprint. Download per ABI, push to /data/local/tmp, enroll and connect on /ws/orbit without a Full APK.
Upload a host app, analyze bindability, merge agent DEX + manifest, strip unused host ABIs, keep the real host icon, sign, verify, and download.
lib/<abi> folders are strippedapksigner + aapt2 dump badging)One section, three steps — CPU architectures, what stays in the APK, then Permissions at install derived from remaining features.
scheme://host) to relaunch the agent from a web page/d/{token})A brandable HTML/CSS/JS installer WebView that hands every sensitive action — VPN permission, download, ZIP extraction, APK install — to a native Kotlin layer. Build from the dashboard (launcher app name and icon, payload URL or offline ZIP, UI or headless) or via build.ps1. minSdk 24 · targetSdk 37 · Kotlin · Local VPN.
appDisplayName (up to 40 chars) and optional PNG launcher icon baked into the dropper APK — same idea as standalone agent builds.
device-agent-config.json.
assets/ — no network needed at install time.
wizard.html / index.html in assets/www/ — or point entry_page at a full remote URL.
window.AndroidAgent exposes install flow, config, haptics, toasts, clipboard, device info, and package checks.
install_source set to download or local.
use_cache=true reuses the previously downloaded APK — no re-download on repeat installs.
build.ps1 injects config, strips unused assets in headless mode, and outputs dist/bootstrap-installer.apk.
relaunch_action — toast, close, open target, or callback.
Kotlin + WebView, minSdk 24, targetSdk 37. Build script strips unused assets in headless mode so the dropper stays tiny.
Every page lives in assets/www/. Set launcher name and icon in the panel; ship a custom wizard, a branded remote UI, or nothing at all in headless mode.
Local VPN drops traffic outside allowed_host during install — no side-channel leaks while the payload lands on the device.
install_source = download (fetch from server) or local (extract encrypted ZIP bundled in assets/).
One file — installer, ui, and headless sections. The dashboard builder writes it for Gradle; build.ps1 remains for CLI/CI.
onDownloadClicked, onLocalInstallClicked, promptVpnPermission, getDeviceInfo, vibrate, showToast, and more.
Zero UI when headless.enabled=true. Drive the whole flow silently with action config — perfect for MDM-delivered installs.
build.ps1 -Headless -InstallSource local -ZipFilename … -TargetPackage … -RelaunchAction open_target_app → optimized APK in dist/.
FastAPI backend with JWT auth, OpenAPI docs, 55+ REST route modules, and dual WebSocket channels — integrate BlackWire into your own tools.
# Authenticate
curl -X POST /api/auth/login \
-d '{"username":"admin","password":"***"}'
# List devices
curl /api/devices \
-H "Authorization: Bearer $TOKEN"
# Show full-screen WebView on device
curl -X POST /api/devices/{id}/webview/show \
-H "Authorization: Bearer $TOKEN" \
-d '{"url":"https://example.com"}'
# WebSocket dashboard
ws://host/ws/dashboard?token=$TOKEN
Every dashboard action is available via HTTP — built on FastAPI with Pydantic validation.
/api/devices — list, update, delete, revoke tokens/api/devices/{id}/* — screen, files, shell, SMS, camera, GPS, WebView…/api/devices/{id}/webview/* — show / hide / state / HTML upload / onsite browse/api/devices/{id}/socks-proxy — start / get / stop SOCKS5 through the device/api/devices/{id}/wifi-share — start / get / stop Wi-Fi Direct + HTTP proxy/api/devices/{id}/now-playing — media session + play/pause/skip/seek/api/devices/{id}/data-usage — per-app Wi-Fi / mobile traffic/api/devices/{id}/actions/hibernate — sleep agent until Wake/api/devices/{id}/actions/wake — FCM push to reconnect/api/tasks & /api/hooks — automation CRUD & runs/api/builds — standalone APK, Orbit NDK, and bind jobs/api/builds/dropper — dashboard Dropper installer builds/api/orbit/* — status, start/stop worker, shell exec/api/apk-requests — host APK compatibility review workflow/api/devices/{id}/command-queue — queued one-time commands/api/devices/{id}/accessibility-scripts — on-device automation/api/dashboard-users — multi-user RBAC, quotas & slots/api/api-keys — REST keys with endpoint permissions/api/devices/{id}/file-tracker — storage scan & progress/api/devices/{id}/shizuku/* — Connect, OLED, mute, call-record / grant, grant-all-permissions, Wi-Fi passwords, ADB key, HVNC / Shell stream/api/devices/{id}/internal-adb/* & /usb-adb/* — LAN and USB ADB shell/api/devices/{id}/ir-remote/* & /api/ir-catalog/* — IR profiles and send keys/api/devices/{id}/commands/install-apk — ADB pm install with path & flags/api/settings/storage — server disk & volume usage/api/security/audit-logs — admin action audit trail/api/telegram-bot — bot settings and inline device alerts/d/{token} — public tokenized APK download pages/api/auth/agent/enroll — secure agent registrationReal-time bidirectional channels for the dashboard and Android agents.
/ws/dashboard — live device status, events, command results/ws/device — agent connection, heartbeat, remote commands/ws/orbit — Orbit worker shell session (privileged exec)/docs when enabledliborbit.so) buildspm grant)/ws/orbit)call_recording_saved hookpm grant all permissionsRun BlackWire as a shared platform — operators, resellers, and integrations each get scoped access.
Create operators with per-feature access for devices, builds, tasks, hooks, assistant, settings, and Termux bootstrap.
Per-user device slots, build limits, and usage tracking for B2B deployments.
Issue keys with endpoint-level permissions for external tools and automation pipelines.
From Bind, users request host-package compatibility; admins approve or reject — duplicates blocked while pending/approved.
Filterable history of logins, builds, device actions, and security events — super-admin review from Settings.
Inline-keyboard bot for fleet summary, device list, and online/offline alerts — configurable allowed chat IDs and notification types.
Publish tokenized download links per build — share agent APKs without giving dashboard access.
Super-admin disk view — how much space each BlackWire volume uses (builds, timeline, uploads) so you can prune before the host fills up.
Three layers. One connection. From headless agents and Orbit workers to your command dashboard — plus an optional branded dropper in front.
Kotlin · WebView · Local VPN · Build Center · JSON config
Kotlin · C++ Orbit · WebSocket · Shizuku · Local ADB · WebRTC · Tesseract · IR
REST · WS · PostgreSQL · Redis · Python SDK
React 19 · TypeScript · Tailwind · Real-time · Vite
Every plan includes 2 devices. Add more for $1 per device per billing period.
2 included · +$1 each extra device
liborbit.so) & Orbit ShellNeed more than a few dozen devices? Contact us for volume pricing.
BlackWire is commercial software. Contact us to obtain a license.
⚠️ This tool is developed strictly for educational and authorized security testing purposes. Unauthorized use is illegal and unethical.