Skip to content
All work08 / 08 · Device management

Ghostctl

Your Android phone, within reach from a browser. See the screen, tap and type, stream camera or audio, fetch its location and move files through a server you control.

Ghostctl’s browser console with staged device data: live screen and touch controls, front and back camera selection, audio controls, location on demand, file downloads and an unlock form with a fictional masked PIN.
Film · 0:24
Fact sheet
Control
Live screen, taps, typing and swipes
Tools
Camera, audio, location and files
Stack
Python server + two Android apps

01The problem

A phone is difficult to support when you cannot see what is on it. Screenshots go stale, instructions turn into back-and-forth, and checking a setting or moving a file still depends on someone holding the device.

02The engineering

I built Ghostctl across a Python server, a browser console and two Android apps. The console and CLI route commands through the server to an approved device over TLS. On the device, ghostd handles the connection, system commands, files and media; a separate accessibility helper, ghosta, handles taps, typing, swipes and interface inspection. Setup grants the Android permissions each feature needs, and every device requires manual approval before it can receive commands.

Browser console
CLI
Python server
Approved deviceghostd · WSS / TLS
Command runs
Result / live stream

03The outcome

Your devices.Your server.

Live screen · touch · camera · audio · location · files