Find your next open-source project

Search by name, purpose, or keyword — or paste a GitHub repository URL

A browser-based Android ADB GUI for device management, app control and terminal access over WebUSB.

751
67
HTML
GPL-3.0
5 days old

Project Overview

搞机工具箱 Web is a browser port of the PC tool 《搞机工具箱》, an ADB graphical utility. It uses Tango / ya-webadb to talk to Android devices over WebUSB and xterm.js for an interactive Android Shell, so supported Chromium browsers can perform PC-toolbox tasks without installing a desktop program README lines 3-12.

The interface covers device and system info, rebooting into Bootloader/Fastbootd/Recovery/EDL, app management (enable/disable, force-stop, uninstall with or without data, clear data, restore system apps, Google suite batch operations), APK and split-APK installation, file push and APK extraction, display and DPI controls, status bar and quick settings tweaks, battery info and simulation with CSV export, animation and font scaling, a BAT-subset script runner, and an ADB terminal README lines 13-29. It is aimed at Android tinkerers who already understand ADB and are comfortable with device-level operations.

Quick Start

Prerequisites: a Chrome or Edge browser with WebUSB, USB debugging enabled on the phone, a data-capable USB cable, access through localhost/127.0.0.1 or an HTTPS site, and a Windows system that recognizes the ADB USB interface README lines 32-39.

For the bundled single-file version, download docs/index.html and open it in a Chromium browser README lines 44-46. For the split version:

  1. Download and extract the full repository, keeping the directory structure.

  2. Install Node.js and open a terminal in the directory containing server.cjs.

  3. Start the local server:

    node server.cjs
    
  4. Open http://127.0.0.1:8124 in Chrome or Edge README lines 47-71.

  5. Click “连接设备”, select the phone in the browser, and approve the USB debugging prompt on the phone.

If port 8124 is occupied, set another port before starting:

$env:PORT = "8080"
node server.cjs

Then open http://127.0.0.1:8080 README lines 63-66. Press Ctrl+C to stop the server; it listens only on 127.0.0.1. The split version must be served over HTTP(S), not opened as a file:// URL, otherwise ES modules may fail to load README lines 47-71.

Usage Constraints

  • Only USB wired connections are currently offered. Feature behavior depends on the Android version, ROM and ADB Shell permissions; running without root does not bypass system permission limits. The Fastboot entry only sends a reboot command and does not flash partitions README lines 13-29.
  • The BAT script runner interprets a subset of BAT syntax in JavaScript and translates ADB operations into browser calls. It does not launch cmd.exe or execute EXEs on the computer. Supported syntax includes echo, rem, set, labels/goto, some if conditions, for /l, timeout, choice /t, pause and exit /b; adb push and adb install require associating files in the page first README lines 124-143.
  • Settings, script text and app operation records stay in the current site's browser storage; clearing site data removes them. ADB identity keys are stored by Tango in IndexedDB and can be cleared from settings. Screenshots and battery statistics are temporary and should be downloaded before refreshing README lines 144-154.
  • The USB session is tied to the page; closing or refreshing disconnects the device and requires reconnecting README lines 155-168.
  • Deployment to the web requires HTTPS and correct JavaScript/CSS MIME types; dependencies are bundled in js/vendor/, so no ADB backend is needed README lines 72-83.
  • Original code is GPL-3.0-only; Tango and xterm.js components keep their MIT licenses README lines 193-202. The tool is described as generic for all Android devices, and users are expected to have some modding knowledge README lines 203-205.

HotRepo's Take

The repository appears on HotRepo's new-project list for 2026-11-07, recording 159 stars and 14 forks, with 32 stars gained during a one-hour growth window on that date. This is a first observation rather than a long trend, and participation in the new list does not by itself establish adoption or quality. The notable technical fact is that the project moves ADB operations into the browser through WebUSB, bundling Tango and xterm.js so the split version runs as a static site without a server-side ADB bridge.

Written by AI from the project's README, updated . The project's own docs are the source of truth.