Neon Mirror
Public Made by Adomby adom
Use when the user wants to mirror an Android device, interact with an Android phone/tablet screen, view Android logcat, record touch macros, control display settings (DPI, resolution), or manage...
Install
Use when the user wants to mirror an Android device, interact with an Android phone/tablet screen, view Android logcat, record touch macros, control display settings (DPI, resolution), or manage...
adom-wiki pkg install adom/neon-mirror
Latest: v1.0.0, published
Contents
NeonMirror — Android Device Mirroring for Gallia Viewer
Mirror a USB-connected Android device in Gallia Viewer with touch/keyboard interaction, logcat streaming, macro recording, and display settings control.
What the user asked
$ARGUMENTS
Step 1: Display NeonMirror in Gallia Viewer
mcp__adom-viewer__gv_display({ url: 'https://<neon-mirror-url>.adom.cloud/', title: 'NeonMirror' })
Replace <container-slug> with the actual neon-mirror service container slug.
Step 2: Guide the User
- Start Mirror — Click "Start Mirror" to begin screen mirroring
- Touch/Click — Click on the mirrored screen to tap, drag to swipe
- Keyboard — Focus the mirror canvas and type to send keystrokes
- Logcat — Switch to the Logcat tab, enter a package name, and click Start
- Macros — Switch to the Macros tab, name a macro, and click Record. Perform touch actions, then click Stop.
- Display Settings — Change DPI, resolution, or toggle screen on/off from the Settings tab
- Console — View raw adb/scrcpy output in the Console tab
Features
- Real-time MJPEG screen mirroring via scrcpy
- Touch and keyboard input forwarding
- Auto-reconnect on device disconnect with retry loop
- USB device detection (polls adb devices every 3 seconds)
- Logcat viewer with package name and log level filtering
- DPI and resolution override controls
- Screen on/off and stay-awake-while-plugged toggle
- Touch macro recording and replay
- Raw console output from adb, scrcpy, and ffmpeg
Service Health Check
GET https://<neon-mirror-url>.adom.cloud/health
Returns: { ok, service, state, device, mirroring, uptime }
WebSocket API
Connect to wss://<service-url>/ws for real-time communication.
Commands (client to server)
| Type | Fields | Description |
|---|---|---|
start_mirror |
maxFps?, bitRate?, maxSize? |
Start mirroring |
stop_mirror |
— | Stop mirroring |
touch |
action, x, y, width, height |
Touch event |
key |
keyCode |
Android keyevent |
text |
text |
Type text |
start_logcat |
packageName?, level? |
Start logcat |
stop_logcat |
— | Stop logcat |
set_density |
dpi |
Change DPI |
set_size |
width, height |
Change resolution |
reset_display |
— | Reset display settings |
screen_on / screen_off |
— | Wake/sleep screen |
stay_awake |
enabled |
Toggle stay on while plugged |
macro_start |
name |
Start recording macro |
macro_stop |
— | Stop recording |
macro_play |
name |
Replay macro |
macro_list |
— | List saved macros |
macro_delete |
name |
Delete macro |
Troubleshooting
- No device detected: Ensure USB debugging is enabled on the Android device and the device is connected via USB to the service container
- Mirror won't start: Check that adb, scrcpy, and ffmpeg are installed (
install-deps.sh) - Black screen: The device may need to be unlocked first. Use "Screen On" in Settings
- High latency: Reduce bitrate or max size in Settings tab