Skip to content

vjeson/scrcpy-websocket

 
 

Repository files navigation

ws scrcpy

Web client for scrcpy and more.

Requirements

Browser must support the following technologies:

Server:

  • Node.js v10+
  • node-gyp (on Window: npm install --global windows-build-tools node-gyp)
  • adb executable must be available in the PATH environment variable

Device:

Build and Start

git clone https://github.com/NetrisTV/ws-scrcpy.git
cd ws-scrcpy
npm install
npm start

Supported features

Screen casting

The modified version of Genymobile/scrcpy used to stream H264 video, which then decoded by one of included decoders.

Remote control

  • Touch events (including multi-touch)
  • Multi-touch emulation: CTRL to start with center at the center of the screen, SHIFT + CTRL to start with center at the current point
  • Capturing keyboard events
  • Injecting text (ASCII only)
  • Copy to/from device clipboard
  • Device "rotation"

File push

Drag & drop an APK file to push it to the /data/local/tmp directory. You can install it manually from the included xterm.js terminal emulator (see below).

Remote shell

Control your device from adb shell in your browser.

Debug WebPages/WebView

/docs/Devtools.md

Known issues

  • New versions are most likely not incompatible with previous ones. If you do upgrade, then manually stop app_process or just reboot the device.
  • The server on the Android Emulator listens on the internal interface and not available from the outside (select proxy over adb in interfaces list)
  • Tinyh264Decoder may fail to start, try to reload the page.
  • MseDecoder reports too many dropped frames in quality statistics: needs further investigation.

Security warning

Be advised and keep in mind:

  • There is no encryption between browser and node.js server (plain HTTP).
  • There is no encryption between browser and WebSocket server (plain WS).
  • There is no authorization on any level.
  • The modified version of scrcpy with integrated WebSocket server is listening for connections on all network interfaces.
  • The modified version of scrcpy will keep running after the last client disconnected.

WS QVH

This project also contains front-end for NetrisTV/ws-qvh - application for screen streaming and control of iOS devices in a browser.

Run this to build it:

npm install
npm run dist:qvhack:frontend

Related projects

scrcpy websocket fork

Currently, support of WebSocket protocol added to v1.16 of scrcpy

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Languages

  • TypeScript 97.3%
  • CSS 1.7%
  • Other 1.0%