Skip to main content

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.

Python Version

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

  1. A Flask web server runs on the host machine, serving a simple, self-contained HTML page.
  2. A background thread continuously monitors the host's clipboard using pyperclip. Any new copied text is sent to the web interface.
  3. When you submit text through the web form, a new thread is started to handle the typing job.
  4. This thread uses pyautogui to simulate individual keystrokes on the host machine, effectively "typing" out the text you sent.
  5. 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

  1. Clone the repository:

    git clone https://github.com/Mayank170906/remote-web-typing.git
    cd remote-web-typing
    
  2. 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
    
  3. Install the project and its dependencies: The pip install . command will read the pyproject.toml file and install the project along with all required packages.

    pip install .
    

Usage

  1. 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.

  2. 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 ifconfig or ip addr. Look for the inet address.
  3. 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).

  4. 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

remote_web_typing-0.1.3.tar.gz (3.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

remote_web_typing-0.1.3-py3-none-any.whl (5.1 kB view details)

Uploaded Python 3

File details

Details for the file remote_web_typing-0.1.3.tar.gz.

File metadata

  • Download URL: remote_web_typing-0.1.3.tar.gz
  • Upload date:
  • Size: 3.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.8.14

File hashes

Hashes for remote_web_typing-0.1.3.tar.gz
Algorithm Hash digest
SHA256 857ae46365db42668e1129a42af1d6ef298879933ac9bb34260167de75976b1c
MD5 9adbd1ecb94468e51993547946b2d7ee
BLAKE2b-256 1c535eeef39eda142dea004647b585d2d5462e137a404e95c1d8b3c4905fb3bd

See more details on using hashes here.

File details

Details for the file remote_web_typing-0.1.3-py3-none-any.whl.

File metadata

File hashes

Hashes for remote_web_typing-0.1.3-py3-none-any.whl
Algorithm Hash digest
SHA256 ed54d5ec3c3a4f8a591cac6b275948b2b04b97ea1267c0cc0c1f3f46bbe4e7e5
MD5 486ca05926716ced7c591effee5fb6cb
BLAKE2b-256 240523934e7c68b08c52d1d27a8a26b694ea4ec080ba961999957d4c4180b6a3

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page