explaingit

yiyifred/cloud-phone

Analysis updated 2026-05-18

27CAudience · developerComplexity · 4/5Setup · moderate

TLDR

Cloud Phone is a self-hosted web app for viewing and controlling Android phones from a browser, with file, app, and terminal access plus an Android companion app.

Mindmap

mindmap
  root((Cloud Phone))
    What it does
      Browser screen mirroring
      Touch control
      File transfer
      Terminal access
    Tech stack
      Node.js server
      scrcpy
      WebSocket
      WebCodecs
    Use cases
      Device testing
      Remote app management
      Camera streaming
    Audience
      Android developers
      QA testers

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

What do people build with it?

USE CASE 1

View and control an Android test device from a browser without desktop screen-mirroring software.

USE CASE 2

Transfer files and manage installed apps on a phone through a web interface.

USE CASE 3

Run shell commands on a connected device using the built-in browser terminal.

USE CASE 4

Mirror and control a phone from another phone using the Android companion app.

What is it built with?

Node.jsscrcpyWebSocketWebCodecsAndroid

How does it compare?

yiyifred/cloud-phonelemire/fastconstmapcocomelonc/tabby
Stars272829
LanguageCCC
Setup difficultymoderateeasymoderate
Complexity4/53/55/5
Audiencedeveloperdeveloperresearcher

Figures from each repo's GitHub metadata at analysis time.

How do you get it running?

Difficulty · moderate Time to first run · 30min

Needs Node.js 18+, a USB-connected Android device, and a Chromium-based browser for WebCodecs support.

The README does not state a license, so usage rights are unclear.

In plain English

Cloud Phone is a self-hosted web application that lets you view and control Android phones from a browser on your local network. You run a small Node.js server on a computer connected to one or more Android devices via USB, then open a browser tab to see a live video feed of each phone's screen and interact with it using your mouse and keyboard. The README is written primarily in Chinese but an English version is linked. The tool builds on scrcpy, a widely used open-source Android screen mirroring library, and extends it with a web-based interface. Video is streamed over WebSocket and decoded directly in the browser using a modern browser feature called WebCodecs, which means the live view works in Chrome and Edge without plugins. Input events you make on the browser canvas (taps, swipes, button presses) are sent back to the phone using the same protocol scrcpy uses. Beyond screen mirroring, the web interface includes a file manager for browsing and transferring files to and from the phone, an app manager for installing and uninstalling APKs, and a terminal that gives you a shell on the device. Camera streaming is also supported on Android 12 and above, with controls for flashlight and zoom. The interface supports multiple languages including English, Japanese, and Korean, and uses session-based login with encrypted API communication. A companion Android app is also included in the repository. It connects to the same backend server and provides device browsing and full-screen mirroring from a phone rather than a desktop browser. The Android app supports pairing new devices by QR code or pairing code. Installation scripts are provided for Linux, macOS, and Windows. The only hard requirements are Node.js 18 or later on the server machine and a Chromium-based browser for the web client.

Copy-paste prompts

Prompt 1
How do I connect an Android device to Cloud Phone over USB and start screen mirroring?
Prompt 2
Explain how Cloud Phone streams a phone's screen to a browser using scrcpy and WebCodecs.
Prompt 3
Write a setup guide for running the Cloud Phone Node.js server on Linux.
Prompt 4
How do I pair a new device to the Cloud Phone Android companion app using a QR code?

Frequently asked questions

What is cloud-phone?

Cloud Phone is a self-hosted web app for viewing and controlling Android phones from a browser, with file, app, and terminal access plus an Android companion app.

What language is cloud-phone written in?

Mainly C. The stack also includes Node.js, scrcpy, WebSocket.

What license does cloud-phone use?

The README does not state a license, so usage rights are unclear.

How hard is cloud-phone to set up?

Setup difficulty is rated moderate, with roughly 30min to a first successful run.

Who is cloud-phone for?

Mainly developer.

Open on GitHub → Explain another repo

This repo across BitVibe Labs

Verify against the repo before relying on details.