Skip to main content

Remote Web Typing is a Python web application that lets you type on your computer from another device (like a phone) on the same network.

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.4.tar.gz (4.0 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.4-py3-none-any.whl (5.1 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for remote_web_typing-0.1.4.tar.gz
Algorithm Hash digest
SHA256 bd07c4996d3da93f9a1a17475be508bbe583c5b275333498aba1eed69df07ad2
MD5 c68f3857c18439992722246b4fe84a11
BLAKE2b-256 cb32e41b755e0e1f6ff8037f0bd2d75b0c0a8b8c74258f80485f1966aba35bc7

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for remote_web_typing-0.1.4-py3-none-any.whl
Algorithm Hash digest
SHA256 576f5f7befa17a1b7d7f3f283e6ff2733732ed35d117f94e1e4a584349947cac
MD5 1832b40202f738a7d03c9e55a9047f3f
BLAKE2b-256 13b53646de0b31525f98140f91f26c28aba08e811333ceae3626aaded9d0a0a9

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