A host LAN controller software running on Windows and macOS (read description below) PC, enabling mobile phones to access a web page panel for PC control.
|
|
|
|
|
- Touchpad
- Mouse Buttons (Left, Right, Middle)
- Mouse Wheel
- D-Pad
- Keyboard
- Volume Slider
Download portable application from the Release page.
Currently, the program is CLI interactive. When starting, you can manually provide the port number, and the program will automatically detect to ensure that the port is available and conflict-free. After starting, use the mobile browser to access the LAN IP address and port of the computer.
Important
Due to the introduction of additional features starting from v0.6.0, it is difficult to perfectly support macOS through the non-installation method. Therefore, the packaging files for macOS are temporarily not provided, v0.5.1 is the last stable version that supports macOS.
For v0.5.1, you can download from the Release v0.5.1 page.
Note: For macOS, due to permission issues, the
directly downloaded iController cannot be trusted by the system, the only solution at present is to open the switch
of Settings > Privacy & Security > Developer Tools > Terminal.
All front-end development is carried out in the ./ClientBrowserUI/ directory. The final static ES6 front-end assets are generated using npm run build. In both development mode and during packaging, the backend can automatically route requests to the built resource path.
You can set up a Node.js environment on your system and install dependencies using npm i. However, the recommended approach is to use the .bat or .sh scripts provided under ./bin/DevDockerEnv/ in this project to start the official Docker environment and install dependencies with a single command. Scripts whose filenames contain -p3000 map port 3000, making them convenient for React.js development and debugging.
Development
npm run reactBuild
npm run pyinstallerFor the Python environment, since this program is intended to control the mouse in a GUI environment, using containers to isolate the development environment provides limited value. Therefore, it is recommended to use a Python local virtual environment to install dependency libraries. It is recommended to use the .bat or .sh scripts under ./bin/DevPyVenv/ to create the virtual environment and install dependencies into this local virtual environment with a single command.
You can either bind the virtual environment to your IDE or manually activate the virtual environment. For details, see the official documentation. Specifically:
Windows
venv\Scripts\activatemacOS
source venv/bin/activateRecommend use win-onefile.bat / mac-onefile.sh in ./bin/packaging/ to package the application. Note that after testing, some Python v3.10.x versions may have mysterious errors. Only Python v3.10.10 is recommended.
All dependencies are open-source and licensed under permissive licenses. No copyleft (e.g., GPL, AGPL) components are included.
- Node.js
- React.js
- Material UI (https://github.com/mui/material-ui)
- Prime React (https://github.com/primefaces/primereact)
- React Color (https://github.com/casesandberg/react-color)
- Lodash (https://github.com/lodash/lodash)
- React.js
- Python
- (≤v0.4.5)
Flask (https://github.com/pallets/flask) - (v0.5.0+) Quart (https://github.com/pallets/quart)
- Hypercorn (https://github.com/pgjones/hypercorn)
- PyAutoGUI (https://github.com/asweigart/pyautogui)
- Pycaw (https://github.com/AndreMiras/pycaw)
- Psutil (https://github.com/giampaolo/psutil)
- PyInstaller (https://github.com/pyinstaller/pyinstaller)
- (≤v0.4.5)
This project is released under the BSD 3-Clause License. Code may be reused with proper attribution.
Copyright (c) 2024-Present, Mehver (https://github.com/Mehver). All rights reserved.
All dependencies are open-source and licensed under permissive licenses. No copyleft (e.g., GPL, AGPL) components are included.