Skip to content

Repository files navigation

Fastboot Studio — Web IDE for Android Fastboot

Fastboot Studio v2.0 Core is a modern, minimalist, open-source web IDE for interacting with Android devices in fastboot mode — powered entirely by the WebUSB API. No drivers, no SDK downloads, no command-line toolchains: connect a device, and flash, unlock, inspect and diagnose from any Chromium-based browser.

Built with 100% open-source standards (HTML5, CSS3, ES6) and delivered with full English (en) and Spanish (es-MX) internationalization.


Quick Start

Prerequisites

  • A modern browser with WebUSB support (Chrome 61+, Edge 79+, Opera)
  • An Android device in fastboot mode (power off, then hold Volume Down + Power)
  • A USB cable for device connection

Usage

  1. Serve this folder over HTTPS or run it on localhost / 127.0.0.1 (WebUSB requirement)
  2. Open index.html in a supported browser
  3. Click Connect Device to authorize and attach your device
  4. Use the three-pane IDE: device/system panels on the left, the fastboot console in the center, and command/partition/preset controls on the right

Browser Compatibility

Browser WebUSB Support
Chrome / Edge Full support
Opera Full support (Chromium)
Firefox Limited — manual about:config enablement required
Safari Not supported

⚠️ WebUSB requires a secure context: HTTPS or localhost. A standard file:// open or plain HTTP on a remote host will not work.


Features

🖥️ IDE Workspace

  • Modern minimalist three-pane layout (device info · terminal · command center)
  • Dark and light themes with instant toggle and persistence
  • English + Español (MX) language switch with preference persistence
  • Fully responsive — adapts from desktop to tablet and mobile

🔌 Device Management

  • One-click connect/disconnect with retry and progress feedback
  • Live device info: manufacturer, product, serial, vendor/product IDs
  • System telemetry: bootloader, baseband, security patch, lock status, battery, CPU, memory, display, network
  • Saved device history and auto-reconnect detection

⌨️ Fastboot Console

  • Raw command terminal with INFO / OKAY / FAIL / DATA protocol handling
  • Full fastboot protocol state machine over WebUSB (64-byte command packets, 4-byte ASCII status, DATA handshake for images)
  • Command history, recent commands, system logs and error alerts
  • Statistics: commands sent, success/failure counts, connection time, data transferred, avg response time

⚡ Quick Commands & Boot Modes

  • Variables, version, info, reboot
  • Boot modes: bootloader · recovery · fastboot · download
  • OEM actions: unlock / lock (with state-aware guards), OEM device info
  • Flash file flow: select .img/.iso/.bin/.zip, pick partition and type (Flash / Boot / Recovery), stream with progress bar

🗂️ Partition Management

  • List partitions, erase, format (ext4/f2fs/ext3/ext2/vfat/ntfs)
  • Critical-partition guards (bootloader, gpt, mbr, partition, param) with double confirmation
  • Per-partition inline Erase/Format actions

🎛️ Presets & Configuration

  • 16 command presets: unlock, lock, wipe, safe mode, debug, performance, flashing, recovery, download, info, battery, screenshot, logcat, root, OEM unlock, FRP reset
  • Tunable transport settings: timeout (ms), chunk size, retry attempts, keep-alive

📚 Device Manuals

  • Bundled searchable manuals (pixel, vayu) rendered as Markdown in a modal
  • Search by model, codename, manufacturer or description

🔒 Security

  • 100% client-side — zero telemetry, no server communication, nothing leaves your browser
  • Every destructive operation (erase, format, flash, unlock) requires explicit confirmation
  • Input validation on all commands and partition names

Architecture

index.html              — semantic HTML5, three-pane IDE shell, i18n-ready markup
styles.css              — design system: CSS variables, Grid/Flexbox, dark+light themes
fastboot.js             — FastbootDevice: WebUSB protocol engine (single-reader state machine)
i18n.js                 — I18n: English + es-MX dictionaries, persistence, observer pattern
app.js                  — FastbootApp: UI controller, events, validation, stats, presets
manual-search.js        — ManualSearch: bundled device manual search + modal renderer
markdown-renderer.js    — MarkdownRenderer: lightweight Markdown → HTML engine
manuals/                — bundled device manuals (.md)

Protocol layer (fastboot.js) implements the Android fastboot wire protocol on top of WebUSB:

  • 64-byte zero-padded command packets (host → device)
  • 4-byte ASCII status packets: INFO / OKAY / FAIL / DATA (device → host)
  • DATA handshake for streaming flash/boot images with progress events
  • Disconnect detection, timeout management, and full event hooks (onConnect, onDisconnect, onData, onError, onProgress, onLog)

Troubleshooting

Connection Issues

  • Device not detected — verify the device is in fastboot mode and the cable supports data (not charge-only)
  • Permission denied — accept the USB permission prompt in the browser; re-check browser site permissions
  • Browser not supported — use Chrome, Edge or Opera; WebUSB requires a secure context (HTTPS/localhost)

Flashing Issues

  • File too large — the 5 GB safety limit was exceeded
  • Invalid partition — partition names allow only A-Z a-z 0-9 _ -
  • Connection lost — reconnect the device and retry the operation

Performance

  • Slow responses — raise the timeout in the Advanced Configuration panel
  • Memory — the app auto-trims history/logs/errors every 5 minutes
  • UI lag — close unused tabs to free resources

Roadmap

  • Phase 1 — Robustness: sparse-image streaming, chunked firmware flashing, deeper state verification
  • Phase 2 — Ecosystem: recovery script generator, automated log diagnostics, community preset repository
  • Phase 3 — Adoption: cross-vendor compatibility audits, multi-language translations, third-party developer SDK

License

MIT — free, auditable, and modifiable by the global community.

Contributing

Contributions are welcome — submit a Pull Request.

Support

Open an issue in the GitHub repository or contact the development team.


Built with ❤️ for the Android development community — open source, for everyone.

About

A progressive web application engineered to interact directly with Android devices in fastboot mode via the WebUSB API, eliminating the need for desktop driver installations and command-line toolchains.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages