A production-ready WebSocket server that enables phone-to-PC remote control functionality.
- 🖱️ Mouse Control: Move cursor, click, scroll, and drag operations
- ⌨️ Keyboard Input: Text typing, key combinations, and special keys
- 🔍 Auto-Discovery: Phones can automatically discover the PC on the network
- 🌐 WebSocket Communication: Real-time, low-latency connection
- 📱 Cross-Platform: Works with any WebSocket-capable mobile app
- 🛡️ Production Ready: Comprehensive error handling and logging
-
Clone the repository:
git clone <repository-url> cd WebServer
-
Install dependencies:
pip install -r requirements.txt
-
Run the server:
python gui/server.py
-
Install PyInstaller:
pip install pyinstaller
-
Build executable:
cd gui pyinstaller server.spec -
Find executable:
dist/server.exe
- Install Inno Setup (Windows)
- Open
gui/ZenFlow-Setup.issin Inno Setup Compiler - Compile to create installer
WebServer/
├── core/
│ └── discovery.py # Network service discovery
├── input/
│ ├── mouse_control.py # Mouse control functions
│ └── keyboard_control.py # Keyboard control functions
├── gui/
│ ├── server.py # Main server application
│ ├── server.spec # PyInstaller configuration
│ ├── ZenFlow-Setup.iss # Inno Setup installer script
│ ├── dist/ # Built executable
│ └── installer/ # Generated installer
├── requirements.txt # Python dependencies
└── .gitignore # Git ignore rules
{
"type": "mouse",
"action": "move",
"data": {"x": 500, "y": 300}
}{
"type": "keyboard",
"action": "type",
"data": {"text": "Hello World"}
}{
"type": "keyboard",
"action": "combo",
"data": {"keys": ["ctrl", "c"]}
}The server automatically:
- Detects local IP address
- Runs on port 8080
- Registers service as "Zenflow" for auto-discovery
- Logs to user's AppData folder
- Mouse functions: Edit
input/mouse_control.py - Keyboard functions: Edit
input/keyboard_control.py - Network discovery: Edit
core/discovery.py - Main server: Edit
gui/server.py
Run the server and connect using a WebSocket client or the companion mobile app.
[Add your license here]
[Add contribution guidelines here]