Add your description here
Project description
Remote Web Typing
A simple Flask web application that allows you to remotely type text on your computer from any device on the same network. This is particularly useful for situations where you need to transfer text from a device (like a phone) to a computer without a direct copy-paste mechanism, such as during online exams, working with virtual machines, or in other restricted environments.
Features
- Web-Based Interface: Accessible from any device (phone, tablet, another computer) on the same local network.
- Live Clipboard Viewer: Displays the current content of the server's clipboard on the web page, updating in real-time.
- Remote Typing: Send text from the web interface to have it automatically typed out on the server machine.
- Adjustable Speed: Control the typing speed (Fast, Normal, Slow) to suit different applications and avoid detection.
- Cancel Functionality: Immediately stop an ongoing typing job with a single click.
How It Works
- A Flask web server runs on the host machine, serving a simple, self-contained HTML page.
- A background thread continuously monitors the host's clipboard using pyperclip. Any new copied text is sent to the web interface.
- When you submit text through the web form, a new thread is started to handle the typing job.
- This thread uses pyautogui to simulate individual keystrokes on the host machine, effectively "typing" out the text you sent.
- A short delay before typing begins gives you time to focus the cursor on the desired input field (e.g., a text editor, a browser search bar, etc.).
⚠️ Security Warning
This application is designed for use on a trusted private network. It binds to 0.0.0.0, making it accessible to any device on your network. There is no authentication. Anyone on your network can view your clipboard and make your computer type.
Do not expose this application to the internet or run it on an untrusted network (like public Wi-Fi).
Requirements
- Python 3.12+
- Flask
- PyAutoGUI
- Pyperclip
- Keyboard
- Pillow
All dependencies are listed in the pyproject.toml file.
Installation
-
Clone the repository:
git clone https://github.com/Mayank170906/remote-web-typing.git cd remote-web-typing
-
Create and activate a virtual environment (recommended):
# For Windows python -m venv venv .\venv\Scripts\activate # For macOS/Linux python3 -m venv venv source venv/bin/activate
-
Install the project and its dependencies: The
pip install .command will read thepyproject.tomlfile and install the project along with all required packages.pip install .
Usage
-
Run the application: Once installed, you can run the server using the console script created during installation:
remote-web-typing
The server will start on
http://0.0.0.0:5000. -
Find your computer's local IP address:
- Windows: Open Command Prompt and type
ipconfig. Look for the "IPv4 Address" under your active network adapter (e.g., "Wireless LAN adapter Wi-Fi"). - macOS/Linux: Open a terminal and type
ifconfigorip addr. Look for theinetaddress.
- Windows: Open Command Prompt and type
-
Access the Web Interface: On another device (like your phone) connected to the same Wi-Fi network, open a web browser and navigate to:
http://<YOUR_COMPUTER_IP>:5000(Replace<YOUR_COMPUTER_IP>with the address you found in the previous step). -
Start Typing!
- The "Copied Text" section will show whatever is currently on your computer's clipboard.
- Enter the text you want to type into the "Type Solution" text area.
- Click "Send to Laptop".
- Quickly switch to the window on your computer where you want the text to appear and click to focus the cursor. There is a 1-second delay before typing begins.
Contributing
Issues and pull requests are welcome! Please feel free to open an issue to discuss a bug or a new feature.
License
This project is not yet licensed.
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file remote_web_typing-0.1.2.tar.gz.
File metadata
- Download URL: remote_web_typing-0.1.2.tar.gz
- Upload date:
- Size: 3.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.8.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
139036ac9f35a2df36f676bb37942dde18fe226027daa9cf8aa206e16b767660
|
|
| MD5 |
8211d81d6bece0abf2df04039a15d584
|
|
| BLAKE2b-256 |
edaa1f2a8f8c12205beeb2bc4dbefd530ba6101e1d65642ca9bbf7f35fc45f23
|
File details
Details for the file remote_web_typing-0.1.2-py3-none-any.whl.
File metadata
- Download URL: remote_web_typing-0.1.2-py3-none-any.whl
- Upload date:
- Size: 5.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.8.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
60ac2ccc43bde5aefe541640c49e5f6b4da405050a94296e17c5ed23316b7341
|
|
| MD5 |
81f66d42e7c9e90cd6872866baf0644c
|
|
| BLAKE2b-256 |
ea1acf089114af23ffddfcc365b55d6e0874416bdeaf49f04d79e0e65beb8d66
|