Skip to main content

QRPorter App Icon

PyPI - Version PyPI - Python Version License: MIT Status Flask PySide6 File Transfer QR Code

QRPorter — Local Wi‑Fi QR File Transfer

A lightweight desktop + web utility for moving files between a mobile device and a Desktop PC over the local network. Scan a QR code to send or receive files directly on the LAN—no cloud, no cables, no mobile app and no accounts.


Why QRPorter

  • Simple: one‑click “Send to mobile” or “Get from mobile” for quick transfers.
  • Private: traffic stays on the local network; nothing is uploaded to third‑party servers.
  • Cross‑device: works with modern mobile browsers (iOS/Android) and Windows, Linux & MacOS desktop.

Features

  • PC → Mobile: Select the file & generate a QR code; scan to download the selected file on your mobile.
  • Mobile → PC: Generate the QR code, visit the upload page from the QR on mobile; send a file back to the PC.
  • One‑time session tokens and basic rate limiting for local safety.
  • Send/Receive multiple files at once.

Screenshots

QRPorter
QRPorter_download_from_pc
QRPorter_Upload_to_pc


Installation

You can install QRPorter directly from PyPI:

pip install qrporter

Requirements Python 3.12+ Works on Windows, macOS, and Linux

Running the App After installation, you can start QRPorter from the terminal:

qrporter

Requirements

  • Windows 11 (tested), Linux, MacOS
  • Python 3.12+ with pip
  • Same Wi‑Fi/LAN for both PC and phone

Required Python packages (minimum versions):

  • Flask>=3.1.2
  • PySide6>=6.6.1
  • qrcode>=8.2
  • Werkzeug>=3.1.3
  • Pillow>=11.0.0
  • platformdirs>=4.0.0

Setup on Windows 11

  1. Install Python
  • Download and install Python 3.12+ (ensure “Add Python to PATH” is checked).
  • Verify:
python --version
pip --version
  1. Clone the repository
git clone https://github.com/manikandancode/qrporter.git
cd qrporter
  1. Create and activate a virtual environment
python -m venv venv
venv\Scripts\activate
  1. Install dependencies
  • If you have a requirements.txt:
    pip install -r requirements.txt
    
  • Or install individually with minimum versions:
    pip install "Flask>=3.1.2" "PySide6>=6.6.1" "qrcode>=8.2" "Werkzeug>=3.1.3" "Pillow>=11.0.0" "platformdirs>=4.0.0"
    
  1. Run the desktop app
  • If the project provides a launcher:
    python run.py
    

How to Use

  • Send file to mobile (PC → Mobile):
  1. Click “Send file to mobile.”
  2. Pick a file (or multiple); a QR code appears.
  3. Scan the QR with the phone camera/browser to download.
  • Get file from mobile (Mobile → PC):
  1. Click “Get file from mobile.”
  2. Scan the QR displayed on the phone.
  3. Choose a file (or multiple) on the phone and upload it; the PC saves it locally.

Default folders (auto‑created):

  • Outgoing: shared/
  • Incoming: received/

Use the “Open Outgoing/Incoming Folder” buttons in the UI to open these locations.


Tips & Troubleshooting

  1. Phone can’t open the link:
  • Ensure PC and phone are on the same Wi‑Fi; avoid guest/isolated networks.
  • Allow Python in Windows Defender Firewall for Private networks.
  1. Very slow uploads:
  • Keep the phone screen on and the browser in the foreground (backgrounding throttles).
  • Prefer 5 GHz Wi‑Fi and short distance to the access point.
  • Save to an SSD when possible.
  1. URL shows a tuple like ('192.168.x.x', 52546):
  • Ensure the app uses only getsockname()[0] (IP string) when forming URLs and restart the app.
  1. File size limit:
  • 1GG per transper.

Project Rationale

QRPorter focuses on frictionless, local‑only transfers for everyday workflows—moving screenshots, media, or documents between PC and phone—without cloud services, cables, drivers, or mobile app installs on mobile.


License

This project is licensed under the MIT License. See the LICENSE file for details.

Metadata

Release files for qrporter 3.0.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for qrporter 3.0.0
File Size Uploaded Provenance
qrporter-3.0.0.tar.gz 204.8 kB Without provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for qrporter 3.0.0
File Interpreter ABI Platform
qrporter-3.0.0-py3-none-any.whl Python 3 none any Details

Total release size: 408.7 kB

Release files / qrporter-3.0.0.tar.gz

Download URL qrporter-3.0.0.tar.gz
Size 204.8 kB
Tags Source
SHA-256 checksum
How to use checksums
9c6c60c7f0752aca6cff55611f339ec2017300bcc2ca3fb2255912c0ca04c95f
BLAKE2b-256 checksum
How to use checksums
dc9ceff3200a6ce2de68b4118c7a7f0dbb21965f486ae28d4ac0276c0046d08e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.13.3

Release files / qrporter-3.0.0-py3-none-any.whl

Download URL qrporter-3.0.0-py3-none-any.whl
Size 203.9 kB
Tags Python 3
SHA-256 checksum
How to use checksums
4b3345ac3b5644ddfc808c431ead29917feb0e80c66ae43c92e6af00e7ed6cab
BLAKE2b-256 checksum
How to use checksums
dedb275c94c2af4ffbbe73d54e09ced84ada6b4d1fa1a4501e155c835f73f85f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.13.3

Security for qrporter 3.0.0

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page