Ws-scrcpy

ws-scrcpy is a web-based client for scrcpy , a popular open-source tool that allows users to mirror and control Android devices from a computer. While the original scrcpy is a desktop application, ws-scrcpy translates this functionality into a web browser interface using WebSockets (hence the "ws" in the name). Core Functionality

Web-Based Access: It allows you to view and control your Android device screen directly in a browser (Chrome, Firefox, etc.) without installing a local client on every machine.

Device Discovery: The server automatically detects Android devices connected via USB or Wi-Fi (ADB) and runs a specialized scrcpy-server.jar on them to initiate the stream.

Bidirectional Control: Users can send mouse clicks, touches, and keyboard events back to the device through the browser interface.

Low Latency Streaming: It utilizes H.264 video streaming and provides multiple decoding options, such as MSE Player (hardware-accelerated in-browser) and Broadway Player (software-based via WebAssembly). Technical Architecture

The project, primarily maintained on the NetrisTV/ws-scrcpy GitHub , consists of several components working in tandem:

Node.js Server: Acts as a bridge between the Android device and the web browser.

Modified scrcpy-server: A customized version of the Genymobile/scrcpy server that includes a WebSocket server to communicate directly with the web client.

Frontend Decoders: Multiple JavaScript-based decoders (like Broadway or TinyH264) that render the H.264 stream into an HTML5 canvas. Deployment & Current Status

Hi, how can I connect to a remote android device? #47 - GitHub

The Revolutionary Tool: Scrcpy - A Game-Changer in Mobile Screen Mirroring and Control

In the realm of mobile technology, there exist numerous tools that enable users to mirror and control their mobile devices on a larger screen. One such groundbreaking tool is Scrcpy, a command-line application that has gained significant attention in recent years due to its exceptional performance, ease of use, and versatility. This essay aims to provide an in-depth analysis of Scrcpy, exploring its features, benefits, and applications, as well as its variants, such as ws-scrcpy.

Introduction to Scrcpy

Scrcpy is an open-source, free, and lightweight tool developed by Genymobile, a renowned company specializing in mobile testing and development. Scrcpy allows users to display and control their Android device's screen on a computer, providing a seamless experience for various use cases, including presentations, gaming, and app testing. The tool leverages the Android Debug Bridge (ADB) to establish a connection between the Android device and the computer, ensuring a stable and efficient communication channel.

Key Features of Scrcpy

Scrcpy boasts an impressive array of features that set it apart from other screen mirroring and control tools:

  1. High-performance screen mirroring: Scrcpy can display the Android device's screen at high frame rates (up to 60 FPS), ensuring a smooth and responsive experience.
  2. Low latency: The tool's architecture minimizes latency, allowing for real-time interaction with the device.
  3. Multi-platform support: Scrcpy is compatible with Windows, macOS, and Linux platforms.
  4. Customizable: Users can adjust various settings, such as screen resolution, bit rate, and orientation.

Benefits and Applications of Scrcpy

The benefits of using Scrcpy are numerous:

  1. Convenience: Scrcpy provides an easy way to share and control mobile content on a larger screen, ideal for presentations, meetings, or gaming.
  2. App testing and development: The tool is particularly useful for developers and testers, enabling them to test and debug mobile applications on a larger screen.
  3. Education and training: Scrcpy can be employed in educational settings to demonstrate mobile applications or showcase device features.

ws-scrcpy: A Web-Based Variant of Scrcpy

ws-scrcpy is a web-based variant of Scrcpy, which utilizes WebSockets to establish a connection between the device and the computer. This version offers a more straightforward setup process and eliminates the need for ADB. ws-scrcpy provides a similar feature set to Scrcpy, with a focus on ease of use and accessibility.

Conclusion

Scrcpy and its variants, such as ws-scrcpy, have revolutionized the way we interact with mobile devices on larger screens. These tools offer a powerful, efficient, and user-friendly solution for screen mirroring and control. The applications of Scrcpy are diverse, ranging from convenience and entertainment to education and professional development. As mobile technology continues to evolve, tools like Scrcpy and ws-scrcpy are poised to play a significant role in shaping the future of mobile interaction.

is a web-based client prototype for , the popular open-source tool for mirroring and controlling Android devices from a computer. Unlike the standard version that runs as a desktop application,

allows you to view and control your phone directly through a web browser using WebSockets. Key Features Browser-Based Control

: Mirror your screen and use touch events, keyboard input, and mouse/touchpad scrolling without a dedicated desktop client. Multiple Players : Supports several video decoders including (for Chrome/Chromium), File Management ws-scrcpy

: Supports dragging and dropping APKs for installation, file pushing, and browsing device files. Remote Shell : Access a remote shell directly from your browser. Device Interaction

: Supports device rotation, multi-touch emulation, and clipboard sharing between the device and computer. Prerequisites Android Device : Must be running Android 5.0 (API 21) or higher. USB Debugging : You must enable Developer Options and turn on USB Debugging on your Android device. Server Environment : Requires a server (often

) to handle the WebSocket communication between the browser and the device. Quick Setup Steps Prepare the Phone Settings > About Phone and tap the Build Number seven times to unlock Developer Options. Enable USB Debugging Install Node.js & ws-scrcpy : Download the ws-scrcpy repository and install dependencies using npm install Run the Server : Start the server using the provided commands (usually or building from source). Connect via Browser

: Open your browser and navigate to the local address (typically

This report covers ws-scrcpy, a web-based client prototype for the popular Android mirroring tool scrcpy. Overview

ws-scrcpy is an open-source project that allows users to mirror and control Android devices directly through a web browser. While the original scrcpy is a standalone desktop application, ws-scrcpy uses a Node.js server and WebSockets to stream video and handle input events, making it accessible on any device with a modern browser. Key Features

Web-Based Interface: View and control Android screens using browsers like Chrome or Firefox without installing client-side software.

Multiple Decoders: Supports several decoding methods to ensure compatibility and performance, including:

Mse Player: Uses HTML5 Media Source Extensions for hardware-accelerated decoding.

TinyH264/Broadway: Software-based decoders compiled to WebAssembly for environments without hardware support.

WebCodecs: A modern API for high-performance decoding in Chromium-based browsers.

Remote Control: Provides full interaction via mouse and keyboard, including multi-touch emulation and scrolling.

File Management: Supports basic file listing, drag-and-drop APK installation, and file uploads/downloads.

Shell Access: Includes a built-in terminal emulator for running ADB shell commands directly in the browser. Architecture & Security

The tool operates on a client-server model. A Node.js server acts as a bridge between the browser and the Android device, which runs a modified version of the scrcpy-server.jar.

Critical Security Note:By default, ws-scrcpy lacks built-in encryption and authentication. Connections between the browser and the server are typically plain HTTP/WS. It is highly recommended to run the server behind a secure proxy or within a private network to prevent unauthorized access to your device. Usage & Implementation

Installation: Typically deployed using Node.js or via Docker images for easier setup in environments like Unraid or home servers.

Device Setup: Requires USB Debugging to be enabled on the Android device under Developer Options.

Connectivity: Devices can be connected via USB or wirelessly via the local network.

NetrisTV/ws-scrcpy: Web client prototype for scrcpy. - GitHub

is a web-based client prototype for , allowing you to mirror and control Android devices directly through a web browser. It eliminates the need for standalone desktop applications by leveraging WebSockets for low-latency communication. Key Features Web-Based Control

: View and interact with your Android device using mouse clicks, key strokes, and touch events within a browser window. Multiple Decoders

: Supports several decoding options to suit different browser capabilities: Mse Player : Uses the Media Source API for H.264 video. Broadway Player

: A software-based decoder compiled into WebAssembly (Wasm) for browsers without hardware acceleration. WebCodecs Player : Modern, high-performance decoding for supported browsers. Persistent Connection : Unlike the original scrcpy, the ws-scrcpy is a web-based client for scrcpy ,

server can keep the server-side jar running on the device even after a disconnection, allowing for easier re-connection via IP. Developer Tools Integration

: Includes features like remote shell access (via xterm.js) and the ability to debug web pages or web views on the connected device. iOS Support (Limited)

: Offers a prototype for tracking and basic control of iOS devices, though functionality differs from the Android implementation. Architecture & Customization

The tool is built using TypeScript and Node.js. Users can customize their builds by modifying a configuration file (e.g., build.config.override.json ) to include or exclude specific features: INCLUDE_ADB_SHELL : Enables the remote shell feature. INCLUDE_FILE_LISTING : Adds a simple file management interface. SCRCPY_LISTENS_ON_ALL_INTERFACES

: If set to true, allows direct browser connections to the device without routing through a local ADB server. Common Use Cases

NetrisTV/ws-scrcpy: Web client prototype for scrcpy. - GitHub

is a web-based client prototype for , allowing you to display and control Android devices directly through a web browser. It functions by running a Node.js server that communicates with a modified version of the scrcpy-server.jar on the Android device via WebSockets. Key Features Browser-Based Mirroring : View your Android screen in a browser using decoders like Mse Player Remote Control

: Perform touch events (including multi-touch), keyboard inputs, and mouse wheel scrolling remotely. Device Management

: Includes basic file listing, drag-and-drop APK installation, and a remote shell through Limited iOS Support : Can track and control iOS devices if WebDriverAgent are configured. Security Considerations

There are significant security trade-offs to keep in mind when using ws-scrcpy: No Encryption

: By default, there is no encryption between the browser and the Node.js server or the Android device. No Authorization

: There is no built-in level of authorization for connecting to the server. Modified scrcpy

: The modified server remains running even after the last client disconnects and listens on all network interfaces. Deployment and Status Installation : Requires Node.js and can be set up by cloning the ws-scrcpy GitHub repository , installing dependencies with npm install , and starting with Docker Support

: While the official project does not include a Dockerfile, community forks like n1n3b1t's 2025 update have added Docker support and other modern updates. Current State

: As of 2025, the original maintainers are no longer actively developing the project, though the community continues to provide forks and updates for newer scrcpy versions. Updated ws-scrcpy with docker, and few updated for 2025

ws-scrcpy is a web-based client for scrcpy, the popular open-source tool used to mirror and control Android devices from a computer. While the original scrcpy is a desktop application, ws-scrcpy extends its functionality by allowing users to access their Android devices through a web browser, eliminating the need for local software installation on every machine. Core Features of ws-scrcpy

The application acts as a bridge between the scrcpy-server and a web client using WebSockets for communication. Key features include:

Browser-Based Access: View and control your Android screen via any modern browser (Chrome, Firefox, Safari).

Multiple Decoders: Supports various video decoding methods, including MSE (Media Source Extensions) for high-quality streaming and Broadway or TinyH264 for broader compatibility.

Remote Control: Full support for mouse and keyboard events, including multi-touch emulation (using CTRL and SHIFT keys).

Clipboard & File Management: Sync clipboards between the browser and device, and push files directly to the Android system.

No App Installation: Like the original scrcpy, it requires no app to be installed on the Android device; it runs a server natively via ADB. ws-scrcpy vs. Standard scrcpy Standard scrcpy Interface Desktop Window (C/Java) Web Browser (HTML5/JS) Connectivity USB or TCP/IP WebSocket via Node.js Server Installation Local executable required Server-side only (clients use browsers) Performance Extremely low latency (35-70ms) Slightly higher latency due to web overhead How to Install and Set Up

To use ws-scrcpy, you must set up a server environment (typically Linux or Windows with Node.js) that can communicate with the Android device via ADB.

Prerequisites: Install Node.js and the Android SDK Platform-Tools (ADB). High-performance screen mirroring : Scrcpy can display the

Enable Debugging: On your Android device, go to Settings > About Phone and tap Build Number seven times to enable Developer Options. Then, enable USB Debugging. Clone and Install:

git clone https://github.com/NetrisTV/ws-scrcpy.git cd ws-scrcpy npm install Use code with caution.

Start the Server: Run npm start. The server will begin listening for connections, and you can access the interface by navigating to http://localhost:8000 (or your server's IP) in your browser. Security Considerations

Users should be aware that ws-scrcpy, in its default state, lacks built-in encryption and authorization.

Network Exposure: The WebSocket server listens on all network interfaces, meaning anyone on your local network could potentially access your device.

Mitigation: It is highly recommended to run ws-scrcpy behind a reverse proxy (like NGINX) to add HTTPS and basic authentication. search.xml - 章鱼的学习探索

iPhone 上安装Scrcpy Remote 上面的步骤完成了安卓云手机的部署,并开启了ADB服务暴露本地端口5555,下面我们完成操控端Scrcpy的安装操作 iPhone上可以用的ADB连接工具Scrcpy其实有两种: - 一种是开源的ws- fizzblock.cn

ws-scrcpy is a specialized web-based extension of the renowned open-source tool scrcpy. Developed by NetEase, it transforms the core functionality of screen mirroring and remote control into a browser-accessible experience, eliminating the need for a dedicated local client. The Evolution of Screen Mirroring

Traditional mirroring tools, like the original scrcpy, rely on a direct desktop interface and a local installation. While highly efficient with ultra-low latency (35–70ms), they can be restrictive for teams or users who need to access devices remotely across different networks. ws-scrcpy bridges this gap by acting as a bridge between the Android Debug Bridge (ADB) and a web browser using WebSockets. Key Technical Advantages

Browser-Based Accessibility: Users can control their Android devices via any modern web browser (Chrome, Firefox, Safari) without installing separate software.

Remote Team Collaboration: It is particularly effective for quality assurance (QA) and development teams who need to share access to a single physical device located in a different office or data center.

Low Friction Setup: Like its predecessor, it requires no root access and no app installation on the Android device itself.

Feature Parity: It retains essential features such as keyboard/mouse control, file drag-and-drop, and high-quality video streaming. Use Cases and Impact

For Android developers, ws-scrcpy simplifies debugging by allowing them to view device logs and screens directly in the same browser where they might be managing other web-based development tools. For general users, it provides a seamless way to manage notifications or use mobile-only apps on a desktop environment without tethering themselves to a specific workstation.

In conclusion, ws-scrcpy represents the "cloudification" of device management. By leveraging the performance of scrcpy and the ubiquity of the web, it offers a powerful, flexible, and cross-platform solution for the modern, interconnected workflow. If you'd like to dive deeper into this topic:

Do you need a comparison between ws-scrcpy and other web-based tools like AirDroid?

Genymobile/scrcpy: Display and control your Android device - GitHub

Connecting Your Android Device

  1. USB Method: Plug in your device. Ensure USB debugging is authorized. WS-SCRCPY will automatically detect it.
  2. Wireless (TCP/IP) Method: This is where WS-SCRCPY shines.
    • Connect via USB first. Run: adb tcpip 5555
    • Disconnect USB. Connect via IP: adb connect 192.168.1.5:5555
    • Refresh the WS-SCRCPY browser window. Your wireless device will appear.

What is WS-SCRCPY?

At its core, WS-SCRCPY is a fork or extended version of the popular Genymobile/scrcpy project. The "WS" stands for WebSocket. Essentially, this tool acts as a bridge between your Android device (using ADB over TCP/IP or USB) and a web browser using WebSockets.

The simple definition: It runs a server on your computer (host) that streams your Android screen to a webpage. You can open that webpage on Chrome, Firefox, or Edge on any device on the same network—or even across the globe—and interact with the phone via mouse clicks, keyboard inputs, and touch events.

Video is Black or Green

9. Troubleshooting Common Issues

Option 2: SSH Tunneling

If you have an SSH server running on the host machine:

ssh -L 8000:localhost:8000 user@remote_host_ip

Then open localhost:8000 on your client machine. All traffic is encrypted via SSH.

Security Best Practices for WS-SCRCPY

Because WS-SCRCPY turns your phone into a remote-controlled device, security cannot be an afterthought.

  1. Never expose --no-auth to the internet. Use --auth-method basic at a minimum.
  2. Use a Reverse Proxy (Nginx/Caddy). Put WS-SCRCPY behind Nginx with SSL termination and rate limiting.
  3. Isolate via VLAN. If you run this in an office, put the server and phones on a separate management VLAN that is not accessible from the guest Wi-Fi.
  4. Audit Logs. WS-SCRCPY does not log user actions natively. If you need auditing, run the Nginx reverse proxy and enable access.log to see who connected and when.