内容简介:Transfer files over Wi-Fi from your computer to a mobile device by scanning a QR code without leaving the terminal.
$ qrcp
Transfer files over Wi-Fi from your computer to a mobile device by scanning a QR code without leaving the terminal.
You can support development by donating with
How does it work?
qrcp
binds a web server to the address of your Wi-Fi network interface on a random port and creates a handler for it. The default handler serves the content and exits the program when the transfer is complete. When used to receive files, qrcp
serves an upload page and handles the transfer.
The tool prints a QR code that encodes the text:
http://{address}:{port}/{random_path}
Most QR apps can detect URLs in decoded text and act accordingly (i.e. open the decoded URL with the default browser), so when the QR code is scanned the content will begin downloading by the mobile browser.
Send files to mobile:
Receive files from mobile:
Installation
Install it with Go
Note: it requires go 1.8
go get github.com/claudiodangelis/qrcp
Install the binary
Download the latest binary from the Releases page to /usr/local/bin
(or another location in $PATH
), then set the proper permissions to the binary:
chmod +x /usr/local/bin/qrcp
Usage
Send files
Send a file
qrcp MyDocument.pdf
Send multiple files at once
When sending multiple files at once, qrcp
creates a zip archive of the files or folders you want to transfer, and deletes the zip archive once the transfer is complete.
# Multiple files qrcp MyDocument.pdf IMG0001.jpg
# A whole folder qrcp Documents/
Zip a file before transferring it
You can choose to zip a file before transferring it.
qrcp --zip LongVideo.avi
Receive files
When receiving files, qrcp
serves an "upload page" through which you can choose files from your mobile.
Receive files to the current directory
qrcp receive
Receive files to a specific directory
# Note: the folder must exist qrcp receive --output=/tmp/dir
Options
qrcp
works without any prior configuration, however, you can choose to configure to use specific values. The config
command launches a wizard that lets you configure parameters like interface, port, fully-qualified domain name and keep alive.
qrcp config
Note: if some network interfaces are not showing up, use the --list-all-interfaces
flag to suppress the interfaces' filter.
qrcp --list-all-interfaces config
Port
By default qrcp
listens on a random port. Pass the --port
(or -p
) flag to choose a specific one:
qrcp --port 8080 MyDocument.pdf
Network Interface
qrcp
will try to automatically find the suitable network interface to use for the transfers. If more than one suitable interface is found ,it asks you to choose one.
If you want to use a specific interface, pass the --interface
(or -i
) flag:
# The webserver will be visible by # all computers on the tun0's interface network qrcp -i tun0 MyDocument.dpf
You can also use a special interface name, any
, which binds the web server to 0.0.0.0
, making the web server visible by everyone on any network, even from an external network.
This is useful when you want to transfer files from your Amazon EC2, Digital Ocean Droplet, Google Cloud Platform Compute Instance or any other VPS.
qrcp -i any MyDocument.pdf
URL
qrcp
uses two patterns for the URLs:
http://{ip address}:{port}/send/{random path} http://{ip address}:{port}/receive/{random path}
A few options are available that override these patterns.
Pass the --path
flag to use a specific path for URLs, for example:
# The resulting URL will be # http://{ip address}:{port}/send/x qrcp --path=x MyDocument.pdf
Pass the --fqdn
(or -d
) to use a fully qualified domain name instead of the IP. This is useful in combination with -i any
you are using it from a remote location:
# The resulting URL will be # http://example.com:8080/send/xYz9 qrcp --fqdn example.com -i any -p 8080 MyRemoteDocument.pdf
Keep the server alive
It can be useful to keep the server alive after transferring the file, for example, when you want to transfer the same file to multiple devices. You can use the --keep-alive
flag for that:
# The server will not shutdown automatically # after the first transfer qrcp --keep-alive MyDocument.pdf
Authors
qrcp, originally called qr-filetransfer , started from an idea of Claudio d'Angelis ( @daw985 on Twitter), the current maintainer, and it's developed by the community .
Logo Credits
Logo is provided by @arasatasaygin as part of the openlogos initiative, a collection of free logos for open source projects.
Check out the rules to claim one: rules of openlogos .
Clones and Similar Projects
- qr-fileshare - A similar idea executed in NodeJS with a React interface.
- instant-file-transfer (Uncredited) - Node.js project similar to this
- qr-filetransfer - Python clone of this project
- qr-filetransfer - Another Node.js clone of this project
- qr-transfer-node - Another Node.js clone of this project
- QRDELIVER - Node.js project similar to this
- qrfile - Transfer files by scanning a QR code
- quick-transfer - Node.js clone of this project
- share-file-qr - Python re-implementation of this project
- share-files (Uncredited) - Yet another Node.js clone of this project
- ezshare - Another Node.js two way file sharing tool supporting folders and multiple files
License
MIT. See LICENSE .
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网
猜你喜欢:本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
Linux 系统编程(第二版)
Robert Love / 东南大学出版社 / 2014-1-1 / 78
如何编写那些直接依赖于Linux内核和核心系统库提供的服务的软件?通过《Linux系统编程(第2版)(影印版)》,Linux内核参与者RobertLove(洛夫)为你提供了Linux系统编程方面的教程,Linux系统调用的参考手册,以及对于如何编写更聪明和更快的代码的来自内部人士的建议。Love清晰地指出了POSIX标准函数和Linux特别提供服务之间的差异。通过关于多线程的新章节,这本修订和扩展......一起来看看 《Linux 系统编程(第二版)》 这本书的介绍吧!