qrtunnel
qrtunnel is a cross-platform tool for immediate file sharing via QR codes. It utilizes SSH reverse tunneling and local networking to bridge the gap between a computer and mobile devices, enabling file transfers even behind NAT or restrictive firewalls without requiring an account.
Features
- Interactive Terminal User Interface (TUI): A keyboard-driven interface for file selection, mode configuration, and port management.
- Smart Mode: Simultaneously establishes a public tunnel and a local LAN server. The recipient device automatically detects the fastest available path (LAN or WAN).
- High-Speed LAN Transfers: Directly shares files over the local network for maximum speed and privacy.
- One-Time Password (OTP) Security: Local network access is protected by a 6-digit passcode displayed only on the host machine.
- Account-Free Tunneling: Uses SSH-based tunneling (via localhost.run) by default on Linux and macOS, requiring no registration.
- Ngrok Integration: Support for ngrok tunnels, providing an alternative for secure public access.
- Multi-File and Directory Sharing: Capability to share individual files, batches, or entire directories.
- Two-Way Sharing: Supports both sending files from the computer and receiving uploads from mobile devices.
Installation
pip install qrtunnel
Usage
1. Interactive TUI (Default)
Running qrtunnel without arguments launches the interactive interface.
qrtunnel
TUI Navigation
- Up/Down Arrows: Move the selection cursor.
- Enter / Right Arrow: Confirm selection or proceed to the next screen.
- Left Arrow: Return to the previous screen.
- Space / Enter: Toggle file selection in the file picker.
- Forward Slash ( / ): Enter search mode within the file picker to filter files by name.
- Escape (ESC): Cancel search mode.
- Q / Ctrl+C: Exit the application.
2. Command Line Interface (CLI)
The CLI supports subcommands for direct execution and scripting.
Sending Files
# General syntax
qrtunnel send <path1> <path2> ... [options]
# Example: Share a file and a folder using a specific port
qrtunnel send report.pdf data/ -8080
# Example: Force LAN-only mode
qrtunnel send images/ -lan
Receiving Files
# Receive files into the current directory
qrtunnel receive
# Receive files into a specific directory using ngrok
qrtunnel receive ./uploads -ngrok
Tunneling Options
| Option | Description |
|---|---|
-smart |
(Default) Enables both LAN and Public Tunnel with auto-detection. |
-lan |
LAN only. Fastest transfer, accessible only on the same Wi-Fi. |
-ssh |
Public link via localhost.run. No account required. |
-ngrok |
Public link via ngrok. Requires an authtoken. |
Configuration and Ports
- Configuration and Ports: The tool defaults to a random port between 20000 and 60000. Users can specify a port using
-p <port>or the shorthand-<port>(e.g.,-9000).
License
MIT
Metadata
Release files for qrtunnel 3.5.3
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| qrtunnel-3.5.3.tar.gz | 23.4 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| qrtunnel-3.5.3-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 46.5 kB
Release files / qrtunnel-3.5.3.tar.gz
| Download URL | qrtunnel-3.5.3.tar.gz |
|---|---|
| Size | 23.4 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
25e5468cd9f2e40c475140ec33fb2a439018047208579d30c5933651e1a59447
|
|
BLAKE2b-256 checksum How to use checksums |
8eb0d918ad9d231b6b3cb5ea26e715505eb07ae002b8d37d0c5f76922804e35b
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.10.12 {"installer":{"name":"uv","version":"0.10.12","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Fedora Linux","version":"43","id":"","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
|
Release files / qrtunnel-3.5.3-py3-none-any.whl
| Download URL | qrtunnel-3.5.3-py3-none-any.whl |
|---|---|
| Size | 23.1 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
d5ad4a58fa3022e02326053e99df163dd4dafab9add73534e4ad59682aeeb694
|
|
BLAKE2b-256 checksum How to use checksums |
eff77c04956699879a9acd493184da9c5d2a35da86f3d7766b7425874c84080f
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.10.12 {"installer":{"name":"uv","version":"0.10.12","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Fedora Linux","version":"43","id":"","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
|