From fd53e41bf2973726d135852887092aeac05a9a2b Mon Sep 17 00:00:00 2001 From: drjones Date: Tue, 11 Aug 2026 04:36:15 +0000 Subject: [PATCH] =?UTF-8?q?Initial:=20DroidFleet=20Visor=20=E2=80=94=20And?= =?UTF-8?q?roid=20Cloud=20Hypervisor?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 91 ++++++++++++++++++++++++++++++++++++++++++-------- index.html | 2 +- vite.config.ts | 12 +++++++ 3 files changed, 91 insertions(+), 14 deletions(-) create mode 100644 vite.config.ts diff --git a/README.md b/README.md index e81068b..b64ce3e 100644 --- a/README.md +++ b/README.md @@ -1,20 +1,85 @@ -
-GHBanner -
+# DroidFleet Visor ๐Ÿค– -# Run and deploy your AI Studio app +Cloud virtualization platform for deploying, managing, and renting Android virtual devices with custom bootloaders, root access, and interactive ADB screen streaming. -This contains everything you need to run your app locally. +## Features -View your app in AI Studio: https://ai.studio/apps/4a310be8-e39a-4b78-b317-f2fffa484015 +- **VM Fleet Management** โ€” Deploy, start, stop, and monitor Android VMs +- **Custom Bootloaders** โ€” Unlock bootloaders, root with Magisk, custom recovery, SELinux control +- **Screen Streaming** โ€” Real-time VNC/ADB screen viewer with touch interaction +- **Proxy Management** โ€” Per-VM proxy configuration with rotation support +- **App Automation** โ€” Instagram, Gmail, Facebook app views with programmatic control +- **MCP API Studio** โ€” REST API for external tool integration +- **ADB Console** โ€” Direct ADB shell access from the browser +- **Device Profiles** โ€” Pre-configured Pixel, Samsung, OnePlus device templates -## Run Locally +## Tech Stack -**Prerequisites:** Node.js +- **Frontend**: React 19 + TypeScript + TailwindCSS 4 + Vite +- **Backend**: Express + TypeScript +- **Icons**: Lucide React +- **Animations**: Motion (Framer Motion) +- **AI**: Google Generative AI integration +## Quick Start -1. Install dependencies: - `npm install` -2. Set the `GEMINI_API_KEY` in [.env.local](.env.local) to your Gemini API key -3. Run the app: - `npm run dev` +```bash +# Install dependencies +npm install + +# Development (with HMR) +npm run dev + +# Production build +npm run build + +# Start production server +npm start +``` + +Server runs on `http://localhost:3000`. + +## API Endpoints + +| Method | Path | Description | +|--------|------|-------------| +| `GET` | `/api/vms` | List all Android VMs | +| `POST` | `/api/vms` | Deploy a new VM | +| `GET` | `/api/vms/:id` | Get VM details | +| `POST` | `/api/vms/:id/start` | Start a VM | +| `POST` | `/api/vms/:id/stop` | Stop a VM | +| `DELETE` | `/api/vms/:id` | Destroy a VM | +| `GET` | `/api/vms/:id/screen` | Screen stream (WebRTC) | +| `POST` | `/api/vms/:id/adb` | Execute ADB command | +| `GET` | `/api/subscription` | Get subscription status | +| `POST` | `/api/subscription` | Update subscription | + +## Architecture + +``` +โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” +โ”‚ React Frontend (Vite + Tailwind) โ”‚ +โ”‚ HypervisorConsole ยท ScreenViewer โ”‚ +โ”‚ ProxyManager ยท McpApi ยท ADB โ”‚ +โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ + โ”‚ REST API +โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” +โ”‚ Express Server (TypeScript) โ”‚ +โ”‚ In-Memory VM Database โ”‚ +โ”‚ Subscription Management โ”‚ +โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ + โ”‚ +โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” +โ”‚ Android VMs (QEMU/KVM) โ”‚ +โ”‚ Custom bootloaders ยท Root access โ”‚ +โ”‚ ADB ยท VNC ยท WebRTC streaming โ”‚ +โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ +``` + +## License + +MIT + +--- + +โ˜• [Buy me a coffee](https://buymeacoffee.com/r26xrthzttg) diff --git a/index.html b/index.html index f1564cf..69eb243 100644 --- a/index.html +++ b/index.html @@ -4,7 +4,7 @@ DroidFleet Visor - +
diff --git a/vite.config.ts b/vite.config.ts new file mode 100644 index 0000000..252615e --- /dev/null +++ b/vite.config.ts @@ -0,0 +1,12 @@ +import { defineConfig } from 'vite' +import react from '@vitejs/plugin-react' +import tailwindcss from '@tailwindcss/vite' + +export default defineConfig({ + plugins: [react(), tailwindcss()], + server: { + proxy: { + '/api': 'http://localhost:3000' + } + } +})