Propose a change
Name Last commit message Last updated
install.sh Add adompkg installer files 1mo ago
package.json Add adompkg installer files 1mo ago
page.json Remove internal identifiers from page.json 10d ago
README.md Add adompkg installer files 1mo ago
SKILL.md Add adompkg installer files 1mo ago
uninstall.sh Add adompkg installer files 1mo ago

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