Crates.io | qrsync |
lib.rs | qrsync |
version | 0.3.0 |
source | src |
created_at | 2020-05-14 16:58:18.508903 |
updated_at | 2023-08-06 12:40:07.403347 |
description | Utility to copy files over WiFi to/from mobile devices inside a terminal using QR codes. |
homepage | https://github.com/crisidev/qrsync |
repository | https://github.com/crisidev/qrsync |
max_upload_size | |
id | 241576 |
size | 740,867 |
Utility to copy files over WiFi to/from mobile devices inside a terminal.
When I built QrSync, it was only meant to send files from a terminal to a mobile device, then I found the amazing qrcp and I took some ideas from it and implemented also the possibility to copy file from the mobile device to the computer running QrSync.
Github Actions releases binaries for various architectures when a new tag is pushed:
Alternatively you can install the latest tag directly from crates.io:
❯❯❯ cargo install qrsync
QrSync builds against stable Rust >= 1.60.
QrSync has been tested on Linux and MacOSX.
It currently also build against Windows, but it has not being tested. On *nix it uses pnet to auto discover the primary interface and its IP address and bind against it. Pnet have a some complex dependencies to build against Windows (see here for more info), so on this platform QrSync makes the --ip-address
command-line option mandatory and pnet
is not built at all.
QrSync can run in two modes, depending on command line options:
❯❯❯ qrsync my_document.pdf
INFO qrsync::http > Send mode enabled for file /home/bigo/my_document.pdf
INFO qrsync::http > Scan this QR code with a QR code reader app to open the URL http://192.168.1.11:5566/Q2FyZ28udG9tbA
❯❯❯ qrsync
INFO qrsync::http > Receive mode enabled inside directory /home/bigo
INFO qrsync::http > Scan this QR code with a QR code reader app to open the URL http://192.168.1.11:5566/receive
QrSync tries to guess which interface to use and which address to bind on the selected interface. In case you want to use IPv6, ensure you have a valid non link-local address and specify --ipv6
command line argument. Remember, the IP address can be always overridden using --ip-address
command line argument.
USAGE:
qrsync [FLAGS] [OPTIONS] [filename]
ARGS:
<filename> File to be send to the mobile device
FLAGS:
-d, --debug Enable QrSync debug
-h, --help Prints help information
-6, --ipv6 Prefer IPv6 over IPv4
-l, --light-term Draw QR in a terminal with light background
-V, --version Prints version information
OPTIONS:
-i, --ip-address <ip-address> IP address to bind the HTTP server to. Default to primary interface
-p, --port <port> Port to bind the HTTP server to [default: 5566]
-r, --root-dir <root-dir> Root directory to store files in receive mode
See LICENSE file.